gpt4 book ai didi

apache-spark - 如何将数据帧中的数据写入 HDFS 中的单个 .parquet 文件(单个文件中的数据和元数据)?

转载 作者:行者123 更新时间:2023-12-04 05:28:47 24 4
gpt4 key购买 nike

如何将数据帧中的数据写入 HDFS 中的单个 .parquet 文件(单个文件中的数据和元数据)?

df.show() --> 2 rows
+------+--------------+----------------+
| name|favorite_color|favorite_numbers|
+------+--------------+----------------+
|Alyssa| null| [3, 9, 15, 20]| | Ben| red| []|
+------+--------------+----------------+
df.rdd.getNumPartitions() - 它有 1 个分区
>>> df.rdd.getNumPartitions()

1
df.write.save("/user/hduser/data_check/test.parquet", format="parquet")

如果我使用上面的命令在 HDFS 中创建 parquet 文件,它正在创建目录 "payloads.parquet"HDFS并在该目录中多个文件 .parquet文件,元数据文件正在保存。

找到 4 个项目
-rw-r--r-- 3 bimodjoul biusers 0 2017-03-15 06:47 
/user/hduser/data_check/test.parquet/_SUCCESS
-rw-r--r-- 3 bimodjoul biusers 494 2017-03-15 06:47
/user/hduser/data_check/test.parquet/_common_metadata
-rw-r--r-- 3 bimodjoul biusers 862 2017-03-15 06:47
/user/hduser/data_check/test.parquet/_metadata
-rw-r--r-- 3 bimodjoul biusers 885 2017-03-15 06:47
/user/hduser/data_check/test.parquet/part-r-00000-f83a2ffd-38bb-4c76-9f4c-357e43d9708b.gz.parquet

如何将dataframe中的数据写入单个 .parquet HDFS 中的文件(单个文件中的数据和元数据)而不是包含多个文件的文件夹?

帮助将不胜感激。

最佳答案

写入后使用coalesce(1)。它会解决你的问题

df.write.coalesce(1)

关于apache-spark - 如何将数据帧中的数据写入 HDFS 中的单个 .parquet 文件(单个文件中的数据和元数据)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42803595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com