【发布时间】:2019-02-04 09:39:23
【问题描述】:
我目前正在将 spark DataFrame 作为 .csv 文件存储在 Azure 上的 blob 存储中。我正在使用以下代码。
smtRef2_DF.dropDuplicates().coalesce(1).write
.mode("overwrite")
.format("com.databricks.spark.csv")
.option("header", "true")
.save(csvBlobStorageMount + "/Output/Smt/SmtRef.csv")
这可行,但它会创建一个 SmtRef.csv 文件夹,其中实际的 .csv 文件存储为 part-00000-tid.csv。如何指定实际 .csv 文件的名称?
提前致谢
【问题讨论】:
-
我认为这个问题不应该被关闭 - 保存为单个文件不像重命名文件。这是使用 PYARROW & pathlib def rename_file_hdfs(hdfs_path) 重命名的选项: phc = pyarrow.hdfs.connect() fl = phc.ls(hdfs_path) fl = [f for f in fl if pathlib.Path(f).stem .startswith("part)] for i, f in enumerate(fl): pa = Path(fl[0]).parent nf = f"newf{i}.csv" tp = Path(pa, nf) tp = str (tp).replace("hdfs:/", "hdfs://") phc.mv(f"{f}", f"{tp}")
标签: apache-spark apache-spark-sql azure-blob-storage