【问题标题】:how to Load key-value data into hbase tables?如何将键值数据加载到 hbase 表中?
【发布时间】:2012-12-22 04:44:13
【问题描述】:

感谢您对我的问题感兴趣。在开始之前,我想让您知道我对 Hadoop 和 HBase 非常陌生。到目前为止,我发现 Hadoop 非常有趣,并希望在未来做出更多贡献。

我主要对提高 HBase 的性能感兴趣。为此,我创建了一个 hbase 表,并编写了 pig 脚本,用于将 5000(仅由 '!' 分隔的值)行数据加载到 hbase 表中,后来我映射了这个 h 基表与 Hive 表。到目前为止,一切都运行良好......但是现在问题来了,我想加载同时具有键和值的数据(例如 key1 =12 !key2= 13),所以对于我可以选择什么样的解析将键值对数据相应地加载到 h 基表中,也请告诉我行键在 h 基表中的重要性。

我写的猪脚本如下

A = LOAD '/BULK_ARK_DATA/' U​​SING PigStorage('!') AS(id: chararray,a: chararray,b: chararray,c: chararray); 使用 org.apache.pig.backend.hadoop.hbase.HBaseStorage ( 'AF:a AF:b AF:c');

那么如何在hbase表中加载键值数据??????请尽快回复我.... :)

【问题讨论】:

    标签: hadoop hbase apache-pig key-value-store hadoop-partitioning


    【解决方案1】:

    Hbase 实际上是一个键值对数据存储(其核心是一个映射)。你不必做任何特别的事情,但要好好考虑你的表模式。对于您的特定情况,如何将数据的第一部分作为键,将第二部分作为值。类似“cf:key1=>12”

    【讨论】:

    • Thanx Tariq :) 是的,我同意你的观点,但是如果我在每一行中得到不同的不同键值,那么这里有一个疑问,在这种情况下,如何为特定值编写选择查询?让我详细解释一下文件 test.ark 包含 1) key=12! name=test 2) value=14!id=345 3)true=yes 所以现在如果我们想为“id”写查询,那么如何为“id”写查询???如果您不知道 id 键仅在第 2 行输入。如果从实际角度来看有误,请从我这边道歉
    • 您可以使用列限定符过滤器并直接从所有行中获取“id”列,无论它存在于何处。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多