我在多个文件(存储在存储桶中)中有一个大的csv数据集(> 5TB),我需要将其导入到Google Bigtable中.文件格式如下:
rowkey,s1,s2,s3,s4
text,int,int,int,int
...
有一个带有hbase的importtsv函数是完美的但是在Windows中使用Google hbase shell时似乎没有这个功能.可以使用这个工具吗?如果没有,实现这一目标的最快方法是什么?我对hbase和Google Cloud几乎没有经验,所以一个简单的例子会很棒.我已经看到一些使用DataFlow的类似示例,但除非必要,否则不愿意学习如何执行此操作.
谢谢
将这么大的内容导入Cloud Bigtable的理想方法是将您的TSV放在Google云端存储上.
gsutil mb
gsutil -m cp -r
然后使用Cloud Dataflow.
使用HBase shell创建表,Column Family和输出列.
编写一个小的Dataflow作业来读取所有文件,然后创建一个键,然后编写表.(请参阅此示例以开始使用.)
更简单的方法是:(注意 - 未经测试)
将文件复制到Google云端存储
使用Google Cloud Dataproc,该示例显示了如何创建群集和连接Cloud Bigtable.
ssh
到您的集群主机 - wordcount-mapreduce示例中的脚本将接受 ./cluster ssh
使用HBase TSV导入程序启动Map Reduce作业.
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=a,b,c