【问题标题】:HBase Bulk Loading into multiple tablesHBase 批量加载到多个表中
【发布时间】:2014-06-04 08:47:28
【问题描述】:

我们正在使用 HBase 批量加载技术,如下所述: http://blog.cloudera.com/blog/2013/09/how-to-use-hbase-bulk-loading-and-why/ (即:直接使用HFileOutputFormat创建HFiles)

我们必须使用此选项来使用我们在旧系统中已有的所有数据预填充 HBase 集群。

由于 HBase 不支持二级表(或索引),我们在应用程序级别维护二级表(或索引)。

现在的问题是我们如何使用批量加载技术来创建不同表的 HFile(主表和辅助表/索引)。有没有multiple-HFileOutputFormat(比如HFileMultiOutputFormat)?

我知道我们可以创建多个 MR 作业并分别运行每个作业。成本来自于“读取”大量数据(超过几 TB)。我想找到一种可以读取一次和多次写入的方法。链接 MR 作业并没有帮助,因为所有 Map 任务都需要相同的数据,并且链接限制了第二个地图任务以获得第一个地图任务的输出。

herehere 提出了类似的问题。但他们没有得到答复,因此再次尝试。

【问题讨论】:

    标签: hbase bulk-load


    【解决方案1】:

    首先非常有效的要求。

    实现的第一步是通过并理解 HFileOutputFormat 的代码:HFileOutputFormat

    您感兴趣的部分是它使用列族创建的目录结构。您将需要使用表创建目录结构 --> 列族 --> HFile

    您可以使用多个输出来写入差异表数据。

    【讨论】:

    • 希望您能更清楚地阅读我的问题。我不确定谁将此问题标记为答案。因为你只是重复了我的问题。
    猜你喜欢
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多