如何以不同的架构将csv文件导入到hbase表中

时间:2018-07-08 19:49:21

标签: csv hadoop hbase bulk-load

我最近开始研究hbase,对此了解不多。我有多个csv文件(大约20000个),我想将它们导入到HBase表中,以便每个文件都是hbase中的一行,并且文件名将为rowkey。这意味着csv文件的每一行都是hbase中的一个单元格,我需要将它们放在struct数据类型(25个字段)中。不幸的是,我对这个问题一无所知。如果有人愿意给我一些提示,我将不胜感激。

以下是csv文件的示例:

time, a, b, c, d, ..., x
0.000,98.600,115.700,54.200,72.900,...,0.000
60.000,80.100,113.200,54.500,72.100,...,0.000
120.000,80.000,114.200,55.200,72.900,...,0.000
180.000,80.000,118.400,56.800,75.500,...,0.000
240.000,80.000,123.100,59.600,79.200,...,0.000
300.000,80.000,130.100,61.600,82.500,...,0.000

谢谢

1 个答案:

答案 0 :(得分:0)

Importtsv是一个实用程序,可以将TSV或CSV格式的数据加载到HBase中。

Importtsv有两种不同的用法:

  1. 通过Puts将HDFS中的TSV或CSV格式的数据加载到HBase中。
  2. 准备要通过completebulkload加载StoreFiles。

将HDFS中的TSV或CSV格式的数据加载到Hbase 下面是允许您将数据从hdfs文件加载到HBase表的示例。您必须将本地文件复制到hdfs文件夹,然后才能将其加载到HBase表。

$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator =','-Dimporttsv.columns = HBASE_ROW_KEY,personal_data:name,personal_data:city,personal_data:age personal / test 上面的命令将生成MapReduce作业,以将数据从CSV文件加载到HBase表中。