我正在运行一个使用集群模式的spark作业,并使用pandas编写一些文件,我认为它正在temp目录中编写,现在我想移动这些文件或在hdfs中编写这些文件。
4si2a6ki1#
您有多种选择:将pandasDataframe转换为pysparkDataframe,并简单地将其保存到hdfs中
spark_df = spark.createDataFrame(pandas_df) spark_df.write.parquet("hdfs:///path/on/hdfs/file.parquet")
使用pandas在本地保存文件并使用 subprocess 将文件复制到hdfs
subprocess
import 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)
本地保存文件并使用第三方库hdfs3将文件复制到hdfs
from hdfs3 import HDFileSystem hdfs = HDFileSystem() hdfs.cp("local/file.parquet", "/path/on/hdfs")
1条答案
按热度按时间4si2a6ki1#
您有多种选择:
将pandasDataframe转换为pysparkDataframe,并简单地将其保存到hdfs中
使用pandas在本地保存文件并使用
subprocess
将文件复制到hdfs本地保存文件并使用第三方库hdfs3将文件复制到hdfs