sql—在hdfs中存储关系数据的最佳方法

sigwle7e  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(361)

最近我读了很多关于hadoop的文章,我可以说我理解hadoop的一般概念,但是仍然(至少)有一个谜团我无法理解。在hdfs中存储关系数据的最佳方式是什么。
首先,我知道hadoop的存在并不能取代为我的应用程序服务的传统sql数据库。我在这里面临的问题是,我想使用hadoop将来自多个系统的数据聚合到hdfs中。然后我可以交叉引用多个系统中的数据,然后生成一组新的数据,供我的报告工具使用。
好的,那么,我应该使用一个表到一个文件来导入表数据,还是应该导入连接表的查询的结果。
例如:
sql表:
人物:人名生日性别
公司名称:

CompanyID
Name
Address

个人公司

PersonID
CompanyID

我应该按原样导入所有3个表,还是导入查询结果以返回人员为何为哪家公司工作。
请和我分享你的想法!

xuo3flqw

xuo3flqw1#

我认为您应该考虑在hdfs之上使用hbase来获得一些数据库功能:
http://hbase.apache.org/

shyt4zoc

shyt4zoc2#

通常,要在hadoop中构建数据仓库,必须摄取所有表。在您的示例中,您需要在hdfs中拥有所有3个表,然后执行etl/聚合,例如joiners\u weekly可以拥有一个具有
选择*from personcompany pc join person p on pc.personid=p.personid join company c on pc.companyid=c.companyid。
这可以是一个可以从hadoop生成的报告。希望这有帮助。

相关问题