91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spark SQL外部數據源的機制以及spark-sql的使用

發布時間:2021-09-07 11:28:27 來源:億速云 閱讀:384 作者:chen 欄目:網絡安全

這篇文章主要介紹“Spark SQL外部數據源的機制以及spark-sql的使用”,在日常操作中,相信很多人在Spark SQL外部數據源的機制以及spark-sql的使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Spark SQL外部數據源的機制以及spark-sql的使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一.數據解釋與雜項

1.External Data Source API  外部數據源

2.json也有些弊端

例如你第一次讀的是
id:1,name:xxx
第二次
id:1,name:xxx,session:222  這樣代碼就要改
還有數據類型如果你是
id:"xxx"  根本不行

3.常用外部數據源

FileSystem:HDFS,Hbase,S3,OSS 等
HDFS 與 mysql join  你要用sqoop把 hdfs,mysql都要記載到hive中
但是用spark 一句話就可以

4.—packages

--packages  優點,靈活,給你都拉去過來本地有的,沒有的才下載的   
缺點:生產中集群不能上網,maven沒用
解決辦法:有--jars    打成jar包傳上去

Spark SQL外部數據源的機制以及spark-sql的使用

5.內部內置與外部數據源

json.vsv,hdfs,hive,jdbc,s3,parquet,es,redis 等
分為兩大類 build-in (內置) , 3th-party(外部)
spark.read.load()  默認讀的是parquet文件

Spark SQL外部數據源的機制以及spark-sql的使用

6.外部添加jar包和使用實例

csv為例使用https://spark-packages.org 這個網址
點homepage

Spark SQL外部數據源的機制以及spark-sql的使用

7.讀寫標準寫法

Spark SQL外部數據源的機制以及spark-sql的使用

8.自定義約束條件

Spark SQL外部數據源的機制以及spark-sql的使用

9.支持數組等其他復雜類型像hive

Spark SQL外部數據源的機制以及spark-sql的使用

二.JDBC讀寫問題

1.寫入時文件存在問題(已經存在)

Spark SQL外部數據源的機制以及spark-sql的使用

2.解決方式官網  加載文件數據

存在拋出異常
目標存在追加,但是重跑一次可能兩份,有弊端(保證不了每次處理都是一樣的)
目標表存在,已經存在的數據被清掉
忽略模式,有了就不會再往里加了

Spark SQL外部數據源的機制以及spark-sql的使用

3.想看到你寫的文件內容可以不壓縮

user.select("name").write.format("json").option("compression","none").save("file:///root/test/json1/")
 user.select("name").write().format("json").save("/root/test/json1/")

4.mode源碼展示   大寫小寫都一樣

Spark SQL外部數據源的機制以及spark-sql的使用

5.savemode是枚舉類型    java類

Spark SQL外部數據源的機制以及spark-sql的使用

6.效果一樣

result.write.mode("default")
result.write.mode(SaveMode.ErrorIfExists)

7.append 重跑一次有兩份了

Spark SQL外部數據源的機制以及spark-sql的使用

8.官網讀取JDBC數據注意一定要加driver屬性

Spark SQL外部數據源的機制以及spark-sql的使用

9.屬性解釋官網

Spark SQL外部數據源的機制以及spark-sql的使用

10.讀jdbc時候可以讓多少條進一個分區,其余進那個分區可以設置

哪個字段分區
最少,最多多少條
幾個分區
一次進去多少條

Spark SQL外部數據源的機制以及spark-sql的使用

三.spark-sql的使用

1.jar包添加   注意如果報加不進去,你要加上最后面一句話,版本問題

Spark SQL外部數據源的機制以及spark-sql的使用

2.spark-sql可以直接加載hive中的表

sparksession中有個table方法直接可以把表轉化為DataFrame

Spark SQL外部數據源的機制以及spark-sql的使用

3.加載jdbc  代碼

Spark SQL外部數據源的機制以及spark-sql的使用

4.join 注意

 三個等號,否則報錯,注意條件

Spark SQL外部數據源的機制以及spark-sql的使用

四.外部數據源的機制

1.PPD優化

Spark SQL外部數據源的機制以及spark-sql的使用

2.實現三個接口或者子類

如何更有效的讀取外部數據源  Table sCAN
加載外部數據源數據,定義數據的schema信息Base(抽象類必須有子類)
寫必須實現RelationProvicer

Spark SQL外部數據源的機制以及spark-sql的使用

3.TableScan對應PDD優化的位置

就是上圖第一行什么都不管,讀出什么是什么

Spark SQL外部數據源的機制以及spark-sql的使用

裁剪對應第二個

Spark SQL外部數據源的機制以及spark-sql的使用

裁剪過濾對應第三個
兩個圖就參數不同,功能一致

Spark SQL外部數據源的機制以及spark-sql的使用

Spark SQL外部數據源的機制以及spark-sql的使用

4. 其余兩項源碼

實現這三個接口
一個可以寫schema信息
一個是過濾
一個可以寫出去
帶scan是查,insert 寫, base加載數據源和schema信息

Spark SQL外部數據源的機制以及spark-sql的使用

Spark SQL外部數據源的機制以及spark-sql的使用

5.JDBC源碼中實現了三個接口或者子類

Spark SQL外部數據源的機制以及spark-sql的使用

到此,關于“Spark SQL外部數據源的機制以及spark-sql的使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万载县| 井陉县| 平遥县| 济源市| 合作市| 喀什市| 宜兰县| 紫阳县| 浦县| 临安市| 石柱| 嘉鱼县| 紫云| 那坡县| 西城区| 洪江市| 秦皇岛市| 孝感市| 前郭尔| 木兰县| 东莞市| 越西县| 永平县| 应用必备| 高淳县| 临桂县| 即墨市| 上饶县| 灵璧县| 根河市| 东乡| 丁青县| 衡阳县| 青川县| 象山县| 吉木萨尔县| 邳州市| 水富县| 都昌县| 大埔区| 温州市|