2017-04-25 55 views
0

我想加载一个标签分离文件到hbase。我得到了屏幕截图中提到的错误,请指教。加载标签分离格式txt文件到Hbase

文件内容:

2 1/1/16 0:29 1/1/16 0:39 
2 1/1/16 0:19 1/1/16 0:39 
2 1/1/16 0:19 1/1/16 0:39 
2 1/1/16 0:22 1/1/16 0:38 
2 1/1/16 0:24 1/1/16 0:39 
2 1/1/16 0:32 1/1/16 0:39 

查询:

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns= HBASE_ROW_KEY,id,date:c1,date:c2 sample1 hdfs://localhost:9000/FinalProject/Hbase/samplehbase.txt 

enter image description here

回答

1

你不应该执行内hbase shellImportsv声明。

hbase(main)> create 'sample1', 'date' 

-Dimporttsv.columns="HBASE_ROW_KEY,id,date:c1,date:c2" 

sample1表只有一个列族dateid不是列家族,请将其从columns中删除。

尝试,

~$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns="HBASE_ROW_KEY,date:c1,date:c2" sample1 hdfs://localhost:9000/FinalProject/Hbase/samplehbase.txt 

而在你的样本数据,所有的记录有相同的行键。在导入时,默认情况下,只有最后一行将保留在表中,作为列系列的默认值为VERSIONS => 1。考虑在运行导入之前增加VERSIONS

hbase(main)> alter 'sample1',{NAME=>'date',VERSIONS=>6} 
+1

它工作。非常感谢您的指导。 – Harish

+0

你能帮我创建hbase表的索引吗? – Harish