gpt4 book ai didi

hadoop - pig - 从远程 hbase 服务器读取/写入数据

转载 作者:可可西里 更新时间:2023-11-01 15:26:50 26 4
gpt4 key购买 nike

我想通过 pig 脚本从 hbase 远程服务器读取/写入数据。我们正在使用 Hortonworks HDP 2.5

以下是场景。

我们有两个集群,一个用于 Hive,一个用于 Hbase。我们可以访问作为 Hive 集群一部分的边缘节点。

我们的代码(MapReduce 作业和 Pig 脚本)将在 Hive 集群上执行。

作为要求的一部分,我们还必须从 Hbase 表中读取/写入数据。

我们在网上找到了一种解决方案,但它不起作用。 http://grokbase.com/t/cloudera/cdh-user/137at5cg72/pig-stores-into-remote-hbase

此解决方案建议在我们的 pig 脚本中注册 hbase 服务器的 zookeeper quorum。但是语法不起作用。

  set hbase.zookeeper.quorum '108.168.251.xxx-static.reverse.softlayer.com<http://108.168.251.xxx-static.reverse.softlayer.com:8020/hbase>'

...

STORE raw_rec INTO 'hbase://my_table<http://108.168.251.xxx-static.reverse.softlayer.com:8020/hbase>' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('score:val');

但这行不通。出现错误,因为命名空间中只允许使用字母数字字符(不允许使用< > 符号)

如果有任何方法可以使用默认的 org.apache.pig.backend.hadoop.hbase.hbasestorage 从远程 hbase 集群读取/写入数据,请告诉我们

提前致谢!!!

最佳答案

在安装了 pig 的客户端机器上,请进行以下设置。假设2181是zk cilent端口。

export PIG_OPTS="$PIG_OPTS -Dhbase.zookeeper.property.clientPort=2181 -Dhbase.zookeeper.quorum=108.168.251.xxx-static.reverse.softlayer.com"

然后直接使用表名,不用"hbase://",就好像my_table存在于本地集群的hbase中。

STORE raw_rec INTO 'my_table' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('score:val');

关于hadoop - pig - 从远程 hbase 服务器读取/写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43971711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com