【发布时间】:2019-09-23 10:55:33
【问题描述】:
我有一个 Azure Data Lake gen1 和一个 Azure Data Lake gen2(带分层结构的 Blob 存储),我正在尝试创建一个 Databricks 笔记本 (Scala),它读取 2 个文件并将一个新文件写回 Data Lake。在 Gen1 和 Gen2 中,我都遇到了同样的问题,我指定的输出 csv 的文件名被保存为一个目录,并且在该目录中它正在写入 4 个文件“committed, started 、_SUCCESS 和 part-00000-tid-
对于我的生活,我无法弄清楚为什么它会这样做并且实际上没有将 csv 保存到该位置。 这是我编写的代码示例。如果我在 df_join 数据帧上执行 .show() ,那么它会输出正确的结果。但是 .write 不能正常工作。
val df_names = spark.read.option("header", "true").csv("/mnt/datalake/raw/names.csv")
val df_addresses = spark.read.option("header", "true").csv("/mnt/datalake/raw/addresses.csv")
val df_join = df_names.join(df_addresses, df_names.col("pk") === df_addresses.col("namepk"))
df_join.write
.format("com.databricks.spark.csv")
.option("header", "true")
.mode("overwrite")
.save("/mnt/datalake/reports/testoutput.csv")
【问题讨论】:
标签: scala azure azure-data-lake databricks azure-databricks