目录
-
介绍
Spark SQL可以与多种数据源交互,如普通文本、json、parquet、csv、MySQL等
1.写入不同数据源
2.读取不同数据源
-
写数据
//创建SparkSession
val spark: SparkSession = SparkSession.builder().master("local[*]").appName("test11").getOrCreate()
//根据SparkSession创建SparkContext
val sc: SparkContext = spark.sparkContext
sc.setLogLevel("WARN")
//读取文件
val fileRDD: RDD[String] = sc.textFile("hdfs://node01:8020/user.txt")
//处理数据
val linesRDD: RDD[Array[String]] = fileRDD.map(_.split(" "))
val rowRDD: RDD[Person] = linesRDD.map(line => Person(line(0).toInt, line(1), line(2).toInt))
//将RDD转成DF
//注意:RDD中原本没有toDF方法,新版本中要给它增加一个方法,可以使用隐式转换
import spark.implicits._
//注意:上面的rowRDD的泛型是Person,里面包含了Schema信息
//所以SparkSQL可以通过反射自动获取到并添加给DF
val personDF: DataFrame = rowRDD.toDF
//==================将DF写入到不同数据源===================
//写入json、parquet、csv、MySQL
//写

本文详细介绍了如何使用SparkSQL与多种数据源进行交互,包括JSON、CSV、Parquet和MySQL等。通过具体示例,展示了如何创建SparkSession,读取和处理数据,以及将DataFrame写入和从各种数据源读取数据的方法。
最低0.47元/天 解锁文章
1987

被折叠的 条评论
为什么被折叠?



