核心方法
df.repartition(1) // 必须是1
.write
.option("header", "true")
.option("delimiter", raw"\t")
.mode(SaveMode.Overwrite)
.csv(s"${savePath}_tmp") // 保存到tmp
存在的问题
1 spark该api只支持写目录, spark会在该目录在写入csv文件.
2 如何实现写单个csv,自定义csv名称,而不是文件夹.
答案
savePath是带文件名的全路径.
hdfs://192.169.0.21:8020/tmp/1/2.csv 或者直接写 /tmp/1/2.csv 默认是hdfs文件系统
逻辑是 保存到 文件名_tmp下,然后找到该路径下的part_000文件,然后重命名为你需要的文件名. 并删除 文件名_tmp 临时文件夹.
只针对hdfs路径. 本地文件路径未测试.
下面是我定义好的函数 直接使用即可
// _ooOo