1. 程式人生 > >spark讀取json,parquet檔案

spark讀取json,parquet檔案

spark支援的一些常見的格式:

文字檔案,無任何的格式

json檔案,半結構化

parquet,一種流行的列式儲存格式

sequencefile,一種用於key-value的hadoop檔案格式,如果需要讀hdfs資料的話,通常走hive的比較多。

在企業中很少用,原因是寫sql的時候,能用sparksession解決的,都不會去弄rdd的各種transform和action

import org.apache.spark.SparkConf
import 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() } }