Spark SQL是處理結構化的數據

Spark SQL是處理結構化的數據,能夠存儲在二維表中,相似數據庫中的表同樣存儲數據sql

Spark1.x數據庫

      val sqlContext = new SparkContext(conf)app

      val sqlContext = new SQLContext(sc)ui

     //將RDD和Schema信息關聯到一塊兒,1,RDD和case class 2,RDD和StructTypespa

    //case class Person將RDD中的數據轉換成case class 屬性相對應的類型,而後設置到case class中get

    val rdd:RDD[Person] = ....spark

    //將RDD轉換成DataFrameio

    val df = rdd.toDFast

    //對df進行操做(1,直接使用DataFrame上的算子DSL。2,寫SQL)class

   //將df註冊成臨時表

   df.registerTempTable("t_person")

  //執行SQL

  val result :DataFrame = sqlContext.sql("select * from t_person");

   result.show()

 

Spark2.x

val spark = SparkSession.builder().appName("a").master("local[*]").getOrCreate()

//建立DF

val df = spark.createDataFrame(RDD[Row], schema)

//DSL 和 SQL

df.createTempView("v_user")

//執行SQL

val result:DataFrame = spark.sql("select * from t_user")

//執行action

result.show()

 

//

相關文章
相關標籤/搜索