Spark SQL 常用操作

2021-07-27 20:40:32 字數 1844 閱讀 7884

packagesqltext

importorg.apache.spark.

importorg.apache.spark.sql.sqlcontext

importorg.apache.spark.sql.dataframe

importorg.apache.spark.sql.types.

importorg.apache.spark.sql.row

/*** created by xiaoxu

*/objectsparksql

/*** 宣告乙個schame模型類**

@param name

* @param age

*/case classperson(name: string, age: string)

/*** sparksql讀取json檔案**

@param sqlcontext

* @param path

*/defsparksqlreadjson(sqlcontext: sqlcontext, path: string): dataframe =

/*** programmatically specifying the schema(以程式設計方式指定架構) 它需要在程式中運用字串轉換成schema模型

* 然後通過createdataframe將rdd和模型關聯,再通過registertemptable登錄檔名**

@param sqlcontext

* @param sparkcontext

* @param path

*/defsparksqlreadtxt(sqlcontext: sqlcontext, sparkcontext: sparkcontext, path: string): unit =

/*** inferring the schema using reflection(使用反射推斷模式) 使用這種方式需要先定義好schema的模式然後使用todf函式轉換成dataframe

* 然後運用 registertemptable註冊零時表名**

@param sqlcontext

* @param sparkcontext

* @param path

*/defsparksqlinferrschemareadtxt(sqlcontext: sqlcontext, sparkcontext: sparkcontext, path: string): unit =

/*** 讀取json中資料 將資料寫入parquet中**

@param sqlcontext

* @param parquetpath

* @param jsonpath

*/defsparksqlwriteparquet(sqlcontext: sqlcontext, parquetpath: string, jsonpath: string): unit =

/*** sparksql讀取 parquet資料**

@param sqlcontext

* @param path

*/defsparksqlreadparquet(sqlcontext: sqlcontext, path: string): unit =

}

spark sql 入門操作

開始from pyspark.sql import sparksession spark sparksession builder config spark.some.config.option some value getorcreate 建立dataframe spark is an exist...

SparkSQL常用效能優化

一 優化 1.在資料統計的時候選擇高效能計算元。例如dataframe使用foreachpartitions將資料寫入資料庫,不要每個record都去拿一次資料庫連線。通常寫法是每個partition拿一次資料庫連線。將統計結果寫入mysql中 優化 在進行資料庫操作的時候,不要每個record都去...

Spark SQL操作Hive實戰

在目前企業級 spark大資料開發中,大多數情況下都是採用hive來作為資料倉儲的。spark提供了對hive的支援,spark通過hivecontext可以直接操作hive中的資料。基於hivecontext,我們可以使用sql hql兩種方式來編寫sql語句 對hive進行操作,包括 建立表 刪...