編寫語言集成(Language-Integrated)的相關(guān)查詢

2018-02-24 15:58 更新

編寫語言集成(Language-Integrated)的相關(guān)查詢

語言集成的相關(guān)查詢是實驗性的,現(xiàn)在暫時只支持scala。

Spark SQL也支持用領(lǐng)域特定語言編寫查詢。

// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
// Importing the SQL context gives access to all the public SQL functions and implicit conversions.
import sqlContext._
val people: RDD[Person] = ... // An RDD of case class objects, from the first example.

// The following is the same as 'SELECT name FROM people WHERE age >= 10 AND age <= 19'
val teenagers = people.where('age >= 10).where('age <= 19).select('name)
teenagers.map(t => "Name: " + t(0)).collect().foreach(println)

DSL使用Scala的符號來表示在潛在表(underlying table)中的列,這些列以前綴(')標(biāo)示。將這些符號隱式轉(zhuǎn)換成由SQL執(zhí)行引擎計算的表達式。你可以在ScalaDoc中了解詳情。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號