我做了一个例子,如下所示。
1 "aaaaa1" "bbbbb1" "ccccc1"
2 "aaaaa2" "bbbbb2" "ccccc2"
3 "aaaaa3" "bbbbb3" "ccccc3"
.......
我想把这个数据插入hbase表,它由
(key int,subject string,predicate string,object string)
(:key,cf1:val1,cf1:val2,cf1:val3)
我想在hbase shell上执行此插入操作。我该怎么做?
1条答案
按热度按时间n3schb8v1#
HBase shell
不是为这些目的而设计的,它只允许使用put命令逐行向hbase插入数据。你可以用
importtsv
用于将文本数据直接导入hbase的工具。假设您已经创建了hbase表
so_table
具有一个柱族cf1
还有你的example.nt
文件位于/tmp/example/
hdfs目录。因此可以通过以下方式使用:可能需要添加选项来更改列分隔符:
此外,您应该了解,这种方法通过many put命令将数据直接插入hbase。还有另一种使用方法
importtsv
非常适合批量加载大量输入数据的工具。您可以生成storefiles,然后使用将其完全加载到hbasecompletebulkload
工具:您可以阅读此工具的官方文档:https://hbase.apache.org/book.html#_importtsv