日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Spark SQL(一)之简介

發布時間:2023/12/3 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark SQL(一)之简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spark SQL是用于結構化數據處理的Spark模塊。與基本的Spark RDD API不同,Spark SQL提供的接口為Spark提供了有關數據結構和正在執行的計算的更多信息。在內部,Spark SQL使用這些額外的信息來執行額外的優化。

與Spark SQL交互的方法有多種,包括SQL和Dataset API。計算結果時,將使用相同的執行引擎,而與要用來表達計算的API /語言無關。

?

一、SparkSession

SparkSession類是Spark中所有功能的入口點。要創建一個基本的SparkSession,只需使用SparkSession.builder()創建。

SparkSession spark = SparkSession.builder().appName("Spark SQL").master("local[4]").getOrCreate();

二、Dataset

Dataset是數據的分布式集合。數據集是Spark 1.6中添加的新接口,它具有RDD的優點(強類型輸入,使用強大的lambda函數的能力)以及Spark SQL的優化執行引擎的優點。Dataset可以被構造從JVM對象,然后使用功能性的轉換(操作map,flatMap,filter等等)。

Dataset API在Scala和?Java中可用。Python不支持Dataset API。但是由于Python的動態特性,Dataset API的許多優點已經可用(即,您可以自然地通過名稱訪問行的字段?row.columnName)。R的情況與此類似。

DataFrame是數據格式為Row的Dataset。從概念上講,它等效于關系數據庫中的表或R / Python中的數據框,但是在后臺進行了更豐富的優化??梢詮亩喾N來源構造DataFrame,例如:結構化數據文件,Hive中的表,外部數據庫或現有的RDD。DataFrame API在Scala,Java,Python和R中可用。在Scala和Java中,DataFrame由的數據集表示Row。在Scala API中,DataFrame只是類型別名Dataset[Row]。而在Java API中,用戶需要使用Dataset<Row>來代表DataFrame。

在整個文檔中,我們通常將的Scala / Java的Dataset<Row>稱為DataFrames。

Dataset<Row> df = spark.read().json("/test.json");

?

總結

以上是生活随笔為你收集整理的Spark SQL(一)之简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。