如何将 HBase 表以 Parquet 格式移动到 HDFS?

Posted

技术标签:

【中文标题】如何将 HBase 表以 Parquet 格式移动到 HDFS?【英文标题】:How to move HBase tables to HDFS in Parquet format? 【发布时间】:2016-05-04 09:31:06 【问题描述】:

我必须构建一个工具,将我们的数据存储从 HBase(HFiles) 以 parquet 格式处理到 HDFS。

请建议将数据从 HBase 表移动到 Parquet 表的最佳方法之一。

我们必须将 4 亿条记录从 HBase 移动到 Parquet。如何实现这一点以及移动数据的最快方法是什么?

提前致谢。

问候,

帕迪普·夏尔马。

【问题讨论】:

"Parquet" 你的意思是 parquet avro 吗? Hbase 少模式,因为 parquet avro 文件具有模式。你想用 parquet 中的这些数据做什么?如果您使用的是二进制/protobuf,那么这些复杂的数据类型可能会在创建 parquet 时产生一些问题。请看我的回答。 是的,它是 Parquet avro。在下一步中,我们将使用这些 parquet 文件进行测试。感谢您的即时回复。 【参考方案1】:

请查看此项目tmalaska/HBase-ToHDFS 它读取 HBase 表并将输出写入为 Text、Seq、Avro 或 Parquet

镶木地板的用法示例:

Exports the data to Parquet

hadoop jar HBaseToHDFS.jar ExportHBaseTableToParquet exportTest c export.parquet false avro.schema

【讨论】:

嗨 @RamPrasad G,我们可以在 spark 中做同样的事情吗? 是的,当然。 Hbase 上有一个名为 spark 的项目(blog.cloudera.com/blog/2015/08/…)。我认为您使用相同的输入格式。我不确定请检查 我看到项目已经3年没有更新了。谁能确认它是否仍然有效? Spark on Hbase 不支持 Spark 2.x 版本。【参考方案2】:

我最近为 HBase 开源了一个补丁,可以解决您所描述的问题。 看看这里:https://github.com/ibm-research-ireland/hbaquet

【讨论】:

以上是关于如何将 HBase 表以 Parquet 格式移动到 HDFS?的主要内容,如果未能解决你的问题,请参考以下文章

Spark Kudu 结合

Kylin原理|去 HBase,Kylin on Parquet 性能表现如何?

hive最早在哪个版本起支持Parquet格式

Parquet 格式的可重复性/确定性如何?

HBase 文件读写过程描述

将文件从一个 parquet 分区移动到另一个