java - 通过Java SDK在AWS上使用Hadoop创建数据库

标签 java amazon-web-services hadoop aws-sdk

我正在为我的大学做作业,我需要在AWS上使用Hadoop实现一些工作。
为了实现上述目的,我想使用像MySQL这样的关系数据库。

我已经阅读并看到我实际上可以在AWS上将MySQL用作RDS,但是我不理解如何使用Hadoop以及最重要的Java SDK。

基本上,经过几个步骤,我收到的文件每一行都是这样的:

(A, B, C) num1 num2

我想执行一个额外的步骤来创建一个数据库,其中每个A是一个新表,每个B是一个新行,而C,num1和num2是该行中的单元格。

我需要这样做,以便以后在这些表上执行SELECT和JOIN查询。

这有可能吗?如果是这样,有人可以帮我提供一个示例或 list ,以供我创建和使用数据库时要做的事情吗?

非常感谢你!

编辑:

为了澄清,我想创建一个像MySQL这样的数据库,然后通过Hadoop步骤向其中添加项目。例如,如果我的映射器从文件中接收到我在上面编写的行,则对于每个A,他们将创建一个新表并将其发送给化简器:键-A,值-B,C,num1,num2。

然后,每个化简器将接收一个表作为键,并将所有要填充的元素用作值,因此,对于每个值(aka B,C,num1,num2),它将在该表中创建一行B,并用C填充它,num1,num2个单元格。

最佳答案

Hadoop不是数据库。该项目包括通过HDFS(如果数据位于S3中,则不使用),YARN和MapReduce进行存储和执行。开箱即用,它没有可以轻松进行的连接或类似SQL的功能。为此,您至少需要Hive,它可以放在MySQL之上。

如果您只需要SQL,则可以在Hadoop Realm 直接针对S3数据集使用SparkSQL。或者,您可以留在AWS土地上并使用Athena。

但是,如果您的数据集开头不那么大(甚至高达100+ GB),那么在RDS上使用MySQL将会很好。

关于java - 通过Java SDK在AWS上使用Hadoop创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54439820/

相关文章:

java - 连接到 Amazon S3 时出现 HttpHostConnection 拒绝错误

node.js - 如何每小时在AWS上运行Node.js项目?

hadoop - 当动态分配设置为 true 时手动分配核心数

java - 如何使用 text() 函数获取元素的 xpath,其中文本具有撇号

java - 了解主类如何影响 JPMS

mongodb - 我们需要多久在 AWS 上执行一次 MongoDB 备份?

sql - hive 连接的替代方案

java - 如何创建从数据库获取并保存文件夹的图片的路径?

java - 安卓应用程序错误5

hadoop - 如何从 apache pig 下的一个包中找到所有可能的排列