通过JavaSDK在aws上使用hadoop创建数据库

ncgqoxb0  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(311)

我正在为我的大学做一个作业,我需要在aws上使用hadoop实现一些东西。为了实现上述功能,我想使用像mysql这样的关系数据库。
我已经读到并看到我实际上可以使用mysql作为aws的rds,但是我不知道如何使用hadoop和javasdk来实现这一点。
基本上,经过几个步骤后,我收到的文件中的每一行都是这样的:

(A, B, C) num1 num2

我想执行一个额外的步骤来创建a数据库,其中每个a是一个新表,每个b是一个新行,c,num1和num2是该行中的单元格。
我需要它,以便以后对这些表执行select和join查询。
这有可能吗?如果是这样的话,有没有人能帮我举个例子或者列个清单,列出我创建和使用数据库时必须做的事情?
非常感谢你!
编辑:
为了澄清,我想创建一个像mysql这样的数据库,然后通过hadoop步骤向其中添加项。例如,如果我的Map程序从我的文件中接收到我上面写的行,那么对于每个a,他们将创建一个新表并发送到缩减器:key-a、value-b、c、num1、num2。
然后,每个reducer将接收一个表作为键,并将所有元素作为值填充,因此对于每个值(aka b,c,num1,num2),它将在该表中创建一行b,并用c,num1,num2单元格填充它。

kkih6yb8

kkih6yb81#

hadoop不是一个数据库。该项目包括通过hdfs(如果数据在s3中,则不使用hdfs)、yarn和mapreduce进行存储和执行。开箱即用,没有简单的连接或类似sql的功能。为此,您至少需要hive,它可以位于mysql之上。
如果您只需要sql,那么在hadoop中您可以直接对s3数据集使用sparksql。或者你可以留在aws的土地上使用雅典娜。
但是,如果您的数据集一开始不是那么大(甚至高达100+gb),那么在rds上使用mysql就可以了。

相关问题