【发布时间】:2017-09-08 16:32:50
【问题描述】:
我是 HBase 的新手,但仍然不确定我将在我的案例中使用 Hadoop 生态系统的哪个组件,以及以后如何分析我的数据,所以只是探索选项。
我有一个 Excel 表格,其中包含所有此类客户的摘要,但大约有 400 列:
CustomerID Country Age E-mail
251648 Russia 27 boo@yahoo.com
487985 USA 30 foo@yahoo.com
478945 England 15 lala@yahoo.com
789456 USA 25 nana@yahoo.com
另外,我为每个客户单独创建了 .xls 文件,其中包含有关他的信息(一个客户 = 一个 .xls 文件),每个文件中的列数和列名相同。这些文件中的每一个都以 CustomerID 命名。一个看起来像这样:
'customerID_251648.xls':
feature1 feature2 feature3 feature4
0 33,878 yes 789,598
1 48,457 yes 879,594
1 78,495 yes 487,457
0 94,589 no 787,475
我已将所有这些文件转换为 .csv 格式,但现在我不知道应该使用 Hadoop 生态系统的哪个组件来存储和查询此类数据。
我的最终目标是查询一些 customerID 并从所有文件中获取有关客户的所有信息。
我认为 HBase 非常适合,因为我可以创建这样的架构:
row key timestamp Column Family 1 Column Family 2
251648 Country Age E-Mail Feature1 Feature2 Feature3 Feature4
在 HBase 中上传和查询此类数据的最佳方法是什么?我是否应该先合并来自不同来源的客户信息,然后将其上传到 HBase?或者我可以为每个客户保留不同的 .csv 文件,并在上传到 HBase 时以某种方式选择使用哪个 .csv 来形成列族?
为了查询存储在 HBase 中的数据,我将通过 Python API 编写 MapReduce 任务。
任何帮助都会非常感激!
【问题讨论】: