HBase批量加载到多个表中

HBase批量加载到多个表中,hbase,bulk-load,Hbase,Bulk Load,我们正在使用HBase批量加载技术,如中所述: (即:直接使用HFileOutputFormat创建HFiles) 我们必须使用此选项,用遗留系统中已有的所有数据预填充HBase群集 由于HBase不支持辅助表(或索引),我们在应用程序级别维护辅助表(或索引) 现在的问题是如何使用批量加载技术创建不同表的HFiles(主表和辅助表/索引)。是否有多个HFileOutputFormat(如HFileMultiOutputFormat) 我知道我们可以创建多个MR作业,并分别运行每个作业。成本来自“

我们正在使用HBase批量加载技术,如中所述: (即:直接使用HFileOutputFormat创建HFiles)

我们必须使用此选项,用遗留系统中已有的所有数据预填充HBase群集

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

现在的问题是如何使用批量加载技术创建不同表的HFiles(主表和辅助表/索引)。是否有多个HFileOutputFormat(如HFileMultiOutputFormat)

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


有人问过类似的问题。但他们没有回答,因此再次尝试。

首先,这是一个非常有效的要求

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

您感兴趣的部分是它使用列族创建的目录结构。您将希望创建一个具有表-->列系列-->HFile的目录结构


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

我希望您能更清楚地阅读我的问题。我不知道是谁把这个问题标记为答案。因为你刚才重复了我的问题。