问题标签 [hbasestorage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
317 浏览

hadoop - 猪 HbaseStorage 定制

如何为猪脚本自定义 HbaseStorage?实际上,我想在将数据加载到猪脚本之前对数据执行一些业务逻辑。它类似于 HbaseStorage 之上的自定义存储。

例如,我的行键具有这样的 A_B_C 结构。目前,我在我的猪脚本中传递 HbaseStorage 中的 A_B_C 键,但我想在将输入数据提供给实际猪脚本之前,针对 A_B_C_D 等键执行一些逻辑,如过滤等。这怎么可能

0 投票
1 回答
556 浏览

hadoop - HBase 批量加载使用情况

我正在尝试将一些 HDFS 数据导入到已经存在的 HBase 表中。我创建的表是使用 2 个列族创建的,并且具有 HBase 在创建新表时附带的所有默认设置。这张表已经被大量数据填满了,它有98个在线区域。它所具有的行键类型为(简化版):2-CHARS_ID + 6-DIGIT-NUMBER + 3 X 32-CHAR-MD5-HASH。

密钥示例:IP281113ec46d86301568200d510f47095d6c99db18630b0a23ea873988b0fb12597e05cc6b30c479dfb9e9d627ccfc4c5dd5fef。

我要导入的数据在 HDFS 上,我正在使用 Map-Reduce 进程来读取它。我从我的映射器发出 Put 对象,这些对象对应于从 HDFS 文件中读取的每一行。现有数据的键都以“XX181113”开头。该作业配置为:

一旦我开始这个过程,我看到它配置了 98 个 reducer(等于表的在线区域),但问题是 4 个 reducer 得到了 100% 的数据拆分,而其余的什么也没做。结果,我只看到 4 个文件夹输出,它们的大小非常大。这些文件是否对应于regions我可以导入到表中的 4 个新文件?如果是这样,为什么只创建了 4 个,而创建了 98 个减速器?阅读 HBase 文档

我更加困惑为什么我会得到这种行为。

谢谢!

0 投票
1 回答
511 浏览

hadoop - 使用 pig 更新 Hbase 表

我知道可以使用 Put 更新 HBase 中一行的不同列。我正在使用 Pig + HBase 和 HBaseStorage。我能够在 HBase 中存储和加载,而 Pig 表达式没有任何问题,其中表中不存在键。但是,当我开始尝试使用存在键的 HBaseStorage() 更新表时,这项工作失败了。

有人可以澄清一下 HBaseStorage 是否只能用于存储新记录或更新现有记录中的列。

提前致谢。

0 投票
1 回答
150 浏览

hadoop - PIG 无法理解 hbase 表数据

我正在为我的学术项目在单个节点上运行 hbase(0.94.13)。将数据加载到 hbase 表后,我尝试使用 HBaseStorage 对数据运行 pig(0.11.1) 脚本。但是,这会引发错误说

IllegalArgumentException:不是主机:端口对:�\00\00\00

这是我在 Pig 中使用的加载命令

book = LOAD 'hbase://booksdb' USING
org.apache.pig.backend.hadoop.hbase.HBaseStorage('details:title','-loadKey true') AS (ID:chararray,title:chararray);

我认为这可能是 hbase 在 pig 中的版本与我的机器不同的问题。但是如果不降级我的 hbase 似乎无法使其工作。有什么帮助吗?

0 投票
2 回答
875 浏览

hbase - 如何让 Pig 在 HBase 中将行存储为字符串而不是字节?

如果我使用hbase shelland 问题:

我会将结果视为字符串,而不是字节。

如果我使用happybase并发出:

我会将结果视为字符串,而不是字节。

我在 hive 中有数据,我通过以下方式运行聚合并存储在 HDFS 上:

但是,如果我在 Pig 中发出以下命令:

扫描hbase shellhappybase输入字节,而不是字符串。

我什至无法搜索作为字符串的行键。

如何使用 Pig 和 HBaseStorage 将数据从 HDFS 存储到 HBase 作为字符串而不是字节?

0 投票
1 回答
534 浏览

hadoop - Pig、Oozie 和 HBase - java.io.IOException: No FileSystem for scheme: hbase

我的 Pig 脚本本身可以正常工作,直到我将其放入 Oozie 工作流程中,我收到以下错误:

我成功注册了 HBase 和 Zookeeper jar,但收到了同样的错误。

我还尝试通过在 Pig 脚本中添加这些行的变体来设置 Zookeeper Quorum:

在 Internet 上进行的一些搜索指示我将其添加到我的 workflow.xml 的开头:

这解决了问题。我什至能够删除 HBase 和 Zookeeper jar 以及 Zookeeper quorum 的注册。

现在经过仔细检查,我注意到我的工作实际上完成了他们的工作:他们按预期将结果存储在 HBase 中。但是,Oozie 声称发生了故障,而实际上并没有。

我不认为将mapreduce.fileoutputcommitter.marksuccessfuljobsto设置false为解决方案。

还有其他解决方案吗?

0 投票
0 回答
365 浏览

hadoop - Pig HBaseStorage - 如何从 DataBag 生成动态列名和列限定符的动态数量?

A 与 B 具有 1:M 的关系。

这将创建一个具有以下架构的 DataBag:

例如:

对于这三行,对应的 HBase 结果如下所示:

如何使用上述逻辑将此 DataBag 导入 HBase?

为此,我需要生成动态列限定符名称,其数量取决于 DataBag 中子元组的数量。

0 投票
3 回答
3050 浏览

hadoop - 使用 pig 或 hive 将 CSV 数据加载到 HBase

嗨,我创建了一个将数据加载到 hbase 中的猪脚本。我的 csv 文件存储在 hadoop 位置/hbase_tables/zip.csv

猪脚本



当我执行它给出以下错误


猪堆栈跟踪

请让我知道如何将 csv 数据文件导入 hbase,或者您是否有任何替代解决方案。

0 投票
0 回答
972 浏览

hadoop - 如何从 hbase 中删除重复数据

我有一个 hbase 表。

表架构:empid、empname、age

数据 1:键 - 1001 值 - 1、John、26(正确数据)

数据 2:键 - 1002 值 - 1、John、25(不正确的数据。由用户错误输入。)

只有两列具有相同的值,即empid、empname。我想获取那些除了单列值不同之外所有列具有相同值的记录。

注意:可能 3 列具有相同的值,但第四列具有不同的值。

如果你能给我 Impala Query 那就太好了。

0 投票
1 回答
307 浏览

hbase - 使用 pig 将 json 批量加载到 HBase

嗨,我正在寻找一种方法来每行加载大量 json 文档

每一行的格式为:

每个 json 文档可以有未知数量的字段。有没有办法在猪身上做到这一点?我想将字段加载到 hbase 上的单独列中。