sparksql保存数据常见操作
生活随笔
收集整理的這篇文章主要介紹了
sparksql保存数据常见操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sparksql保存數據操作
import org.apache.spark.SparkConf import org.apache.spark.sql.{DataFrame, SparkSession}//todo:sparksql可以把結果數據保存到不同的外部存儲介質中 object SaveResult {def main(args: Array[String]): Unit = {//1、創建SparkConf對象val sparkConf: SparkConf = new SparkConf().setAppName("SaveResult").setMaster("local[2]")//2、創建SparkSession對象val spark: SparkSession = SparkSession.builder().config(sparkConf).getOrCreate()//3、加載數據源val jsonDF: DataFrame = spark.read.json("E:\\data\\score.json")//4、把DataFrame注冊成表jsonDF.createTempView("t_score")//todo:5、統計分析val result: DataFrame = spark.sql("select * from t_score where score > 80")//保存結果數據到不同的外部存儲介質中//todo: 5.1 保存結果數據到文本文件 ---- 保存數據成文本文件目前只支持單個字段,不支持多個字段result.select("name").write.text("./data/result/123.txt")//todo: 5.2 保存結果數據到json文件result.write.json("./data/json")//todo: 5.3 保存結果數據到parquet文件result.write.parquet("./data/parquet")//todo: 5.4 save方法保存結果數據,默認的數據格式就是parquetresult.write.save("./data/save")//todo: 5.5 保存結果數據到csv文件result.write.csv("./data/csv")//todo: 5.6 保存結果數據到表中result.write.saveAsTable("t1")//todo: 5.7 按照單個字段進行分區 分目錄進行存儲result.write.partitionBy("classNum").json("./data/partitions")//todo: 5.8 按照多個字段進行分區 分目錄進行存儲result.write.partitionBy("classNum","name").json("./data/numPartitions")spark.stop()}}總結
以上是生活随笔為你收集整理的sparksql保存数据常见操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 部署java服务
- 下一篇: java提取文章摘要内容