无法使用 Pig 从 hbase 加载数据

Posted

技术标签:

【中文标题】无法使用 Pig 从 hbase 加载数据【英文标题】:Can't load data from hbase using Pig 【发布时间】:2017-01-23 09:18:20 【问题描述】:

我尝试从 hbase 表中加载所有数据。其中有 10093 条记录。 这是我的猪脚本

register 'zookeeper.jar'
register 'hbase-server-0.98.6-cdh5.3.2.jar'

result = LOAD 'hbase://clf_transaction_train'
   USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
   'cf:features cf:content', '-loadKey true')
   AS (  content:bytearray, features:bytearray);


rmf $output;
STORE result INTO '$output';

脚本正常工作——没有任何错误消息。但只加载 100 条记录。

我该如何解决? 谢谢。

【问题讨论】:

【参考方案1】:

您可以尝试修改 hbase 扫描器超时:

<property>
  <name>hbase.rpc.timeout</name>
  <value>60000</value>
</property>
<property>
  <name>hbase.client.scanner.timeout.period</name>
  <value>60000</value>
</property>
<property>
  <name>hbase.cells.scanned.per.heartbeat.check</name>
  <value>10000</value>
</property>

更多详情在这里http://www.cloudera.com/documentation/enterprise/5-6-x/topics/admin_hbase_scanner_heartbeat.html

【讨论】:

以上是关于无法使用 Pig 从 hbase 加载数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pig 访问 Hbase

Pig:使用 AvroStorage 加载会引发“无法从 loadFunc 获取架构”异常

Pig:无法使用 PigStorage 加载数据

使用 Pig 脚本将 Json 导入 Hbase

使用 Apache Pig 将数据加载到 Hbase 表时,如何排除 csv 或文本文件中没有数据(只有空格)的列?

将数据从 HDFS 加载到 HBASE