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()

  }

}


GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐