问题标签 [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.
hadoop - 猪 HbaseStorage 定制
如何为猪脚本自定义 HbaseStorage?实际上,我想在将数据加载到猪脚本之前对数据执行一些业务逻辑。它类似于 HbaseStorage 之上的自定义存储。
例如,我的行键具有这样的 A_B_C 结构。目前,我在我的猪脚本中传递 HbaseStorage 中的 A_B_C 键,但我想在将输入数据提供给实际猪脚本之前,针对 A_B_C_D 等键执行一些逻辑,如过滤等。这怎么可能
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 文档
我更加困惑为什么我会得到这种行为。
谢谢!
hadoop - 使用 pig 更新 Hbase 表
我知道可以使用 Put 更新 HBase 中一行的不同列。我正在使用 Pig + HBase 和 HBaseStorage。我能够在 HBase 中存储和加载,而 Pig 表达式没有任何问题,其中表中不存在键。但是,当我开始尝试使用存在键的 HBaseStorage() 更新表时,这项工作失败了。
有人可以澄清一下 HBaseStorage 是否只能用于存储新记录或更新现有记录中的列。
提前致谢。
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 似乎无法使其工作。有什么帮助吗?
hbase - 如何让 Pig 在 HBase 中将行存储为字符串而不是字节?
如果我使用hbase shell
and 问题:
我会将结果视为字符串,而不是字节。
如果我使用happybase
并发出:
我会将结果视为字符串,而不是字节。
我在 hive 中有数据,我通过以下方式运行聚合并存储在 HDFS 上:
但是,如果我在 Pig 中发出以下命令:
扫描hbase shell
并happybase
输入字节,而不是字符串。
我什至无法搜索作为字符串的行键。
如何使用 Pig 和 HBaseStorage 将数据从 HDFS 存储到 HBase 作为字符串而不是字节?
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.marksuccessfuljobs
to设置false
为解决方案。
还有其他解决方案吗?
hadoop - Pig HBaseStorage - 如何从 DataBag 生成动态列名和列限定符的动态数量?
A 与 B 具有 1:M 的关系。
这将创建一个具有以下架构的 DataBag:
例如:
对于这三行,对应的 HBase 结果如下所示:
如何使用上述逻辑将此 DataBag 导入 HBase?
为此,我需要生成动态列限定符名称,其数量取决于 DataBag 中子元组的数量。
hadoop - 使用 pig 或 hive 将 CSV 数据加载到 HBase
嗨,我创建了一个将数据加载到 hbase 中的猪脚本。我的 csv 文件存储在 hadoop 位置/hbase_tables/zip.csv
猪脚本
当我执行它给出以下错误
猪堆栈跟踪
请让我知道如何将 csv 数据文件导入 hbase,或者您是否有任何替代解决方案。
hadoop - 如何从 hbase 中删除重复数据
我有一个 hbase 表。
表架构:empid、empname、age
数据 1:键 - 1001 值 - 1、John、26(正确数据)
数据 2:键 - 1002 值 - 1、John、25(不正确的数据。由用户错误输入。)
只有两列具有相同的值,即empid、empname。我想获取那些除了单列值不同之外所有列具有相同值的记录。
注意:可能 3 列具有相同的值,但第四列具有不同的值。
如果你能给我 Impala Query 那就太好了。
hbase - 使用 pig 将 json 批量加载到 HBase
嗨,我正在寻找一种方法来每行加载大量 json 文档
每一行的格式为:
每个 json 文档可以有未知数量的字段。有没有办法在猪身上做到这一点?我想将字段加载到 hbase 上的单独列中。