从hdfs加载hbase中的数据而不使用pig脚本

j2datikz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(305)

我有 .csv 中的文件 HDFS . 我想把这些装进去 HBASE 不使用的表 Pig 脚本。
还有别的办法吗?

sr4lhrrt

sr4lhrrt1#

可能有几种方法。但有些选择如下。

选项1:简单的方法是importtsv ImportTsv 是一个将tsv格式的数据加载到hbase的实用程序。它有两种不同的用法:通过puts将hdfs中的tsv格式的数据加载到hbase中,以及通过completebulkload准备要加载的storefiles。

通过加载数据 Put s(即非散装):

$ bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=a,b,c <tablename> <hdfs-inputdir>

要生成用于批量加载的存储文件,请执行以下操作:

$ bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=a,b,c -Dimporttsv.bulk.output=hdfs://storefile-outputdir <tablename> <hdfs-data-inputdir>

这些生成的存储文件可以通过第14.1.10节“completebulkload”加载到hbase中。
例子 hbase> hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=, -Dimporttsv.columns="c1,c2,c3...." hdfs://servername:/tmp/yourcsv.csv ####选项2:自定义Map缩小方式
编写mapreduce程序和csv解析器,以防需要解析复杂的csv
请看这里的示例

相关问题