Hbase - Importtsv - 如何不导入空字段

时间:2014-05-23 14:56:58

标签: csv import hbase nosql

我使用importtsv在Hbase中导入数据。

在我的tsv文件中,某些字段为空。如何在Hbase中导入它们呢?

例如,我在Hbase中有一个名为Test的表。我的名为test.tsv的tsv文件看起来像:

1   a   b   c   d
2   q       f   s

当我这样做时:

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv  -Dimporttsv.columns=HBASE_ROW_KEY,I:c1,I:c2,I:c3,I:c4 Test test.tsv

我有这些结果:

 1  column=I:c1, timestamp=1400855636910, value=a
 1  column=I:c2, timestamp=1400855636910, value=b
 1  column=I:c3, timestamp=1400855636910, value=c
 1  column=I:c4, timestamp=1400855636910, value=d
 2  column=I:c1, timestamp=1400855636910, value=q
 2  column=I:c2, timestamp=1400855636910, value=
 2  column=I:c3, timestamp=1400855636910, value=f
 2  column=I:c4, timestamp=1400855636910, value=s

即使第二个字段在我的tsv文件的第2行中为空,也会在Hbase上创建一条记录。 我怎么能避免这种情况?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

add -Dimporttsv.skip.empty.columns = true