【发布时间】:2021-02-16 18:10:42
【问题描述】:
我正在使用集群模式运行 Spark 作业并使用 Pandas 写入一些文件,我认为它正在写入临时目录,现在我想移动这些文件或将这些文件写入 HDFS。
【问题讨论】:
标签: apache-spark hadoop pyspark
我正在使用集群模式运行 Spark 作业并使用 Pandas 写入一些文件,我认为它正在写入临时目录,现在我想移动这些文件或将这些文件写入 HDFS。
【问题讨论】:
标签: apache-spark hadoop pyspark
您有多种选择:
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.parquet("hdfs:///path/on/hdfs/file.parquet")
subprocess 将文件复制到 HDFSimport subprocess
command = "hdfs dfs -copyFromLocal -f local/file.parquet /path/on/hdfs".split()
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(result.stdout)
print(result.stderr)
from hdfs3 import HDFileSystem
hdfs = HDFileSystem()
hdfs.cp("local/file.parquet", "/path/on/hdfs")
【讨论】: