向 HBase 提供文件的命令,该文件随后存储在 HDFS 中
Posted
技术标签:
【中文标题】向 HBase 提供文件的命令,该文件随后存储在 HDFS 中【英文标题】:Command to provide file to HBase which is subsequently stored in HDFS 【发布时间】:2014-06-06 13:27:46 【问题描述】:简介
向this question提出后续问题。
HBase 已连接到 HDFS。是否可以向 HBase 提供一个文件,该文件随后使用命令存储在 HDFS 中。
根据this documentation,有几个 HBase shell 命令。但是,这些命令仅限于例如创建、删除表。
问题
需要发出哪个命令来向 HBase 提供随后将存储在 HDFS 中的文件?
【问题讨论】:
【参考方案1】:问题不清楚。 HBase 是一个键值存储。要将数据放入 HBase,您必须首先创建一个带有模式的表(实际上,只是一个列族列表)。表创建完成后,可以将数据加载到表中; HBase 命令是“放置”。引用 HBase 书:
“创建一个名为 test 的表,其中包含一个名为 cf 的列族。通过列出所有表来验证它的创建,然后插入一些值。
hbase(main):003:0> 创建 'test', 'cf'
0 行在 1.2200 秒内
hbase(main):003:0> 列出“测试”
..
0.0550 秒内 1 行
hbase(main):004:0> 输入 'test', 'row1', 'cf:a', 'value1'
0.0560 秒内 0 行
hbase(main):005:0> 输入 'test', 'row2', 'cf:b', 'value2'
0 行在 0.0370 秒内
hbase(main):006:0> 输入 'test', 'row3', 'cf:c', 'value3'
0 行在 0.0450 秒内 "
如果你想逐行加载一个大文件,你将不得不编写一个程序,或者谷歌“批量加载”
【讨论】:
感谢您的回答。我会阅读 this documentation 关于“批量加载”的内容。以上是关于向 HBase 提供文件的命令,该文件随后存储在 HDFS 中的主要内容,如果未能解决你的问题,请参考以下文章