亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

周口市| 刚察县| 馆陶县| 温宿县| 志丹县| 台前县| 宜兴市| 合作市| 仁寿县| 灵寿县| 华蓥市| 军事| 靖宇县| 石棉县| 环江| 确山县| 南岸区| 青海省| 玛沁县| 太谷县| 阿拉善右旗| 四会市| 旺苍县| 中方县| 皮山县| 兴海县| 怀集县| 东阳市| 芮城县| 本溪| 徐闻县| 巢湖市| 邳州市| 平塘县| 南昌市| 米泉市| 汝阳县| 额敏县| 德清县| 华宁县| 综艺|