大数据全系列 教程
1869个小节阅读:467.5k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
https://spark.apache.org/docs/latest/sql-data-sources.html
Spark SQL的默认数据源为parquet格式。parquet是一种能够有效存储嵌套数据的列式存储格式。
数据源为parquet文件时,Spark SQL可以方便的执行所有的操作,不需要使用format(“parquet”)。修改配置项spark.sql.sources.default,可修改默认数据源格式。
演示代码:
xxxxxxxxxx
package com.itbaizhan.sql
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}
object SSRWParquet {
def main(args: Array[String]): Unit = {
//1.创建配置文件对象
val conf: SparkConf = new SparkConf()
.setMaster("local[*]")
.setAppName("SSRWParquet")
//2.创建SparkSession对象
val spark: SparkSession = SparkSession.builder()
.config(conf).getOrCreate()
//4.读取本地parquet文件,返回DataFrame对象
//4.1方式一
//format("parquet/csv/json/text/jdbc")指定读取文件的格式
/*val df: DataFrame = spark.read.format("parquet")
.load("data/sql/student.parquet")*/
//4.2方式二
//由于默认的读取的文件格式为parquet,所以还可以省略format("parquet")
//如果spark.sql.sources.default被修改过,不能省略format("parquet")
/*val df: DataFrame = spark.read
.load("data/sql/student.parquet")*/
//4.3方式三
val df: DataFrame = spark.read
.parquet("data/sql/student.parquet")
/*df.printSchema()
df.show()*/
//5.写文件
// df.write.format("parquet")
// .save("data/sqlout/parquet")
//由于默认的读取的文件格式为parquet,所以还可以省略format("parquet")
//如果spark.sql.sources.default被修改过,不能省略format("parquet")
df.write.save("data/sqlout/parquet")
//3.关闭spark
spark.stop()
}
}
运行程序:
xxxxxxxxxx
root
|-- age: long (nullable = true)
|-- id: long (nullable = true)
|-- name: string (nullable = true)
+----+---+------+
| age| id| name|
+----+---+------+
| 23| 1|令狐冲|
| 50| 2|岳不群|
|null| 3|林平之|
+----+---+------+