SparkSQL可以支持寫入MySQL嗎?如何寫入?
讀取JDBC是需要有驅(qū)動(dòng)的,我們讀取的是jdbc:mysql:// 這個(gè)協(xié)議,也就是讀取的是mysql的數(shù)據(jù)。
既然如此,就需要有mysql的驅(qū)動(dòng)jar包給spark程序用。
如果不給驅(qū)動(dòng)jar包,會(huì)提示:No suitable Driver
驅(qū)動(dòng)包在資料中:

對(duì)于Windows系統(tǒng)(使用本地解釋器)(以Anaconda環(huán)境演示)
將jar包放在:Anaconda3的安裝路徑下\envs\虛擬環(huán)境\Lib\site-packages\pyspark\jars
對(duì)于Linux系統(tǒng)(使用遠(yuǎn)程解釋器執(zhí)行)(以Anaconda環(huán)境演示)
將jar包放在:Anaconda3的安裝路徑下/envs/虛擬環(huán)境/lib/python3.8/site-packages/pyspark/jars,也可以將mysql驅(qū)動(dòng)包放在spark的jars目錄下.
寫出
注意:
· jdbc連接字符串中,建議使用 useSSL=false 確保連接可以正常連接(不適用SSL安全協(xié)議進(jìn)行連接)
· jdbc連接字符串中,建議使用 useUnicode=true 來(lái)確保傳輸中不出現(xiàn)亂碼
· save()不要填參數(shù),沒(méi)有路徑,是寫出數(shù)據(jù)庫(kù)
· dbtable屬性:指定寫出的表名
讀?。?/strong>
注意:
· 讀出來(lái)是自帶schema,不需要設(shè)置schema,因?yàn)閿?shù)據(jù)庫(kù)就有schema
· load()不需要加參數(shù),沒(méi)有路徑,從數(shù)據(jù)庫(kù)中讀取的
· dbtable是指定讀取的表名
