写入csv输出或Parquet输出,通过配置设置控制

pkmbmrz7  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(397)

我想我的程序写在csv或Parquet格式的输出文件和决定使用任何一种格式应通过配置控制。
我可以用下面这样的东西。

// I would probably read opType via a JSON or XML.
val opType = "csv"

// Write output based on appropriate opType
optype match {
  case "csv" =>
    df.write.csv("/some/output/location")
  case "parquet" =>
    df.write.parquet("/some/output/location")
  case _ =>
    df.write.csv("/some/output/location/")
}

问题:有没有更好的方法来处理这种情况?我是否可以使用 opType 调用相应的函数调用 parquet 或者 csv ?
任何帮助或指点都将不胜感激。

zf9nrax1

zf9nrax11#

创建可能的文件类型的枚举,并确保枚举符号应遵循spark源文件类型关键字(即csv、parquet、orc、json、text等)
那么你就可以这样做

df.write.format(optype).save(opPath)

注意:枚举仅用于类型检查,并确保输入不是错误或乱码值。

相关问题