hadoop - 将 Parquet 数据从 HDFS 收集到本地文件系统

标签 hadoop hdfs parquet

给定分布在 HDFS 上的 Parquet 数据集(元数据文件 + 可能 .parquet 部分),如何正确合并部分并将数据收集到本地文件系统? dfs -getmerge ... 不起作用 - 它将元数据与实际的 Parquet 文件合并..

最佳答案

有一种涉及 Apache Spark API 的方法 - 它提供了一种解决方案,但可能存在无需第三方工具的更有效方法。

spark> val parquetData = sqlContext.parquetFile("pathToMultipartParquetHDFS")       
spark> parquet.repartition(1).saveAsParquetFile("pathToSinglePartParquetHDFS")

bash> ../bin/hadoop dfs -get pathToSinglePartParquetHDFS localPath

从 Spark 1.4 开始,最好使用 DataFrame::coalesce(1) 而不是 DataFrame::repartition(1)

关于hadoop - 将 Parquet 数据从 HDFS 收集到本地文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31108123/

相关文章:

c# - 如何从 .NET 连接到 Hadoop/Hive

Hadoop 用于处理非常大的二进制文件

hadoop - Hadoop 2.2的事件节点和事件节点列表中的相同节点

api - libhdfs c/c++ api是否支持读/写压缩文件

sql-server - 将本地 SQL Server 数据库数据以 Parquet 格式复制到 Azure

hadoop - 当 reducer 数量较少时,键是否唯一

Hadoop报错无法启动-all.sh

java - 分布式模式下的 Apache nutch 不会从网络爬取

Node.JS 如何创建 Parquet 文件并保存到 Minio

python - 使用 Lambda Python 将 json 写入 Parquet 对象以放入 S3