spark读取json,parquet文件

来源:互联网 发布:iphone笔记软件 编辑:程序博客网 时间:2024/05/29 02:44

spark支持的一些常见的格式:

文本文件,无任何的格式

json文件,半结构化

parquet,一种流行的列式存储格式

sequencefile,一种用于key-value的hadoop文件格式,如果需要读hdfs数据的话,通常走hive的比较多。

在企业中很少用,原因是写sql的时候,能用sparksession解决的,都不会去弄rdd的各种transform和action

import org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSession/**  * Created by zengxiaosen on 16/9/23.  */object operJson_and_parquet {  def main(args: Array[String]): Unit = {    val sparkconf = new SparkConf().setAppName("operJsonAndParquet").setMaster("local")    val ss = SparkSession.builder()      .config(sparkconf)      .getOrCreate()    val sc = ss.sparkContext    import ss.implicits._    //读文本文件,生成普通rdd,可以通过toDF转化为dataframe,进而使用sql    val fileRDD = sc.textFile("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/2015082818")    ss.read.json("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/people.json")      .createOrReplaceTempView("people")    val rs = ss.sql("select * from people")    rs.printSchema()    rs.show()    ss.read.parquet("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/users.parquet")      .createOrReplaceTempView("users")    val rs2 = ss.sql("select * from users")    rs2.printSchema()    rs.show()    sc.stop()    ss.stop()  }}


0 0