网上查看了Dataframe如何把结果保存成文件经过尝试都以失败告终,大多数的博客上写的都是使用:在spark-shell模式下 先导入 import org.apache.saprk.sql.SaveMode 的包,然后 result.repartitione(1).save("…/out.json",“json”,SaveMode.Overwrite) 这样的方式来保存结果,我无论怎么尝试都是报错
不知道是版本问题还是什么原因,都是save的错,本人使用的版本Spark-2.4.3 ,hive-2.3 .4,望有朋友找到解决这个问题的原因告知一下,在此谢过。
回归正题既然问题出在save上咋就想着不用它了找其他方法替代于是使用以下办法
这里的re是我已经处理好的结果的常量
re.write.mode(SaveMode.Overwrite).json("result.json")
发现没报错真是太好
查看文件发现把我结果的每一列作为一个文件存储
要合成一个文件来存储就要加上repartition(1)或者coalesce(1)
存储在本地的方式
re.repartition(1).write.csv("file:/root/out")