如何将 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?的主要内容,如果未能解决你的问题,请参考以下文章