我有一个日志文件,记录与此相似
11,xxx ,dav,300000,mumbai
12,YYY ,IIT,800000,bang
当我使用导入tsv将其导入到hbase时
ImportTsv -Dimporttsv.separator=,
-Dimporttsv.columns="HBASE_ROW_KEY,id,name,school,sal,place"
table_name <file_loc>
结果:
hbase> scan table_name
11 column=cf:id, timestamp=1501438942080, value=xxx
11 column=cf:name, timestamp=1501438942080, value=dav
11 column=cf:sal, timestamp=1501438942080, value=mumbai
11 column=cf:school, timestamp=1501438942080,value=300000
12 column=cf:id, timestamp=1501438942080, value= yyy
12 column=cf:name, timestamp=1501438942080, value=IIT
由于现在HBASE的值ID为ROW,所以column:id分配了错误的值xxx ..等等,在接下来的列中,如何(自动生成HBASE_ROW_KEY)使我的列不被覆盖?我该如何解决这个问题。
最佳答案
截至目前,尚无根据列值创建复合行键的规定。可能是您已经预处理了TSV文件并创建了复合键,然后使用新创建的复合键作为rowKey将其加载到HBase。
检查为相同的https://issues.apache.org/jira/plugins/servlet/mobile#issue/HBASE-5339引发的JIRA