Databricks 写入 Json 文件太慢

Databricks Write Json file is too slow

我有一个简单的 scala 片段到 read/write json 总共 10GB 的文件(从存储帐户安装目录)--> 几乎所有时间都在写入 [=1.7 小时=39=] 文件行。

集群设置:

  1. 为什么写入速度太慢?
  2. 写是不是和阅读并行partitions/workers?
  3. 如何加快写作或整个过程?

挂载目录代码:

val containerName = "containerName"
val storageAccountName = "storageAccountName"
val sas = "sastoken"
val config = "fs.azure.sas." + containerName+ "." + storageAccountName + ".blob.core.windows.net"

dbutils.fs.mount(
  source = "wasbs://containerName@storageAccountName.blob.core.windows.net/",
  mountPoint = "/mnt/myfile",
  extraConfigs = Map(config -> sas))

read/writejson 个文件的代码:

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.expressions.Window
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types._
import spark.implicits._

val jsonDF = spark.read.json("/mnt/myfile")
jsonDF.write.json("/mnt/myfile/spark_output_test")

通过使用“我会说”更好的 spark api 来解决,比如 读取 --> spark.read.format("json").load("路径") 写入 --> res.write.format("parquet").save("路径) 并以 parquet 格式编写,因为它经过压缩并且针对 spark

进行了非常优化