spark-SQL數據加載和保存

數據加載與保存

通用方式:

? ? ? ?通過?spark.read.load?和?df.write.save?實現數據加載與保存。可利用?format?指定數據格式,如?csv?、?jdbc?等;?option?用于設置特定參數,像?jdbc?格式下的數據庫連接信息;?load?和?save?則分別指定數據路徑。保存時還能使用?SaveMode?包含?ErrorIfExists?、?Append?、?Overwrite?、?Ignore?等模式 。

Parquet:

? ? ? 作為默認數據源,Parquet是列式存儲格式,適合存儲嵌套數據。加載和保存數據時,若為Parquet文件,無需指定?format?,按默認方式操作即可。

JSON:

? ? ? Spark SQL可自動推測JSON數據集結構,加載為?Dataset[Row]?。但要求JSON文件每行是一個JSON串,通過?spark.read.json()?加載 。

CSV:

? ? ? 讀取CSV文件時,可配置列表信息,如設置分隔符、推斷數據類型、指定表頭,使用?format("csv")?結合?option?設置相關參數。

- MySQL:

? ? ?借助JDBC,Spark SQL能從MySQL讀取數據創建?DataFrame?,計算后也可寫回。操作前需導入?mysql-connector-java?依賴,按特定語法編寫代碼實現數據讀寫。

代碼案例

導入依賴

?

?

?

?

Spark-SQL連接Hive

內嵌Hive:

使用Spark內嵌Hive無需額外配置,可直接使用,但實際生產中較少采用。

外部Hive:

在spark-shell中連接外部Hive,需將?hive-site.xml?拷貝到?conf/?目錄并修改連接地址,把MySQL驅動復制到?jars/?目錄,拷貝?core-site.xml?和?hdfs-site.xml?到?conf/?目錄,最后重啟?spark-shell?。- Spark beeline:Spark Thrift Server兼容HiveServer2,部署后可用beeline訪問。連接步驟與連接外部Hive類似,需配置相關文件并啟動Thrift Server,再用?beeline -u jdbc:hive2://node01:10000 -n root?連接 。- Spark-SQL CLI:在Spark目錄下,將MySQL驅動放入?jars/?,?hive-site.xml?放入?conf/?,運行?bin/?目錄下的?spark-sql.cmd?即可啟動,能直接執行SQL語句。

代碼操作Hive:

先導入?spark-hive_2.12?和?hive-exec依賴,將hive-site.xml拷貝到resources目錄中,在代碼中啟用hive支持

代碼案例

導入依賴

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/79183.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79183.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/79183.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法升級戰報:亞馬遜受眾定向工具實測點擊成本降37%

隨著廣告成本居高不下,精準投放成為賣家們繞不開的焦慮點。而最近一輪亞馬遜DSP廣告系統的算法升級,似乎正在給這場投放內卷帶來新的轉機。在這篇文章中,我們將基于實際測試數據,詳細解析亞馬遜受眾定向工具的表現,并復…

大帶寬服務器的優勢

大帶寬服務器最大的優勢就在于可以顯著提高數據傳輸的速度,這對于有著高流量應用和實時數據交換需求的企業來說,大帶寬服務器中的帶寬越大,所提供的數據傳輸速度就越快,同時網絡的延遲度也會變低,所以大帶寬服務器往往…

華為OD機試真題——阿里巴巴找黃金寶箱 IV(2025A卷:200分)Java/python/JavaScript/C++/C語言/GO六種最佳實現

2025 A卷 200分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C、C語言、GO六種語言的最佳實現方式! 華為OD機試真題《阿里巴巴找黃金寶箱 IV》: 目錄 題目名稱&…

C++零基礎實踐教程

模塊一:準備工作與第一個程序 (熱身) 在正式編寫代碼之前,我們需要了解為什么要學習 C,并搭建好我們的開發環境。然后,我們將編寫并運行第一個簡單的 C 程序。 1. 為什么選擇 C? 你可能聽說過很多編程語言&#xff…

6 CMD 與 PowerShell 指令大全、C 程序終端運行、字符編碼切換指南

1 CMD 與 PowerShell 常用指令 在命令行環境中高效運行程序,掌握終端的基本操作命令至關重要。無論是 Windows 系統下的 CMD(命令提示符)還是 PowerShell,它們都配備了一系列實用的命令,助力我們管理文件、執行程序以及…

Linux——共享內存

目錄 一、共享內存概念 二、共享內存的一些函數 2.1 shmget 創建共享內存 2.2 shmat 訪問共享內存 2.3 shmdt 解除共享內存的映射 2.4 shnctl 刪除共享內存段 三、共享內存 3.1 創建測試進程 3.2 使用循環測試 ?編輯 3.3 共享內存寫入程序 3.4 帶有信號量的共享內…

數啟新疆,智領未來!2025新疆數字經濟發展戰略研討會在烏市啟幕

2025年4月20日,由新疆維吾爾自治區數字經濟聯合會主辦、中鈞科技有限公司承辦的"2025新疆數字經濟發展戰略研討會"將在烏魯木齊水磨溝區金正大廈三層會議中心隆重召開。 作為本年度新疆數字經濟領域規格最高的行業盛會,會議將匯聚自治區14個廳…

Nginx:輕量級高性能的Web服務器與反向代理服務器

目錄 一.引言 二.Nginx的核心特點 2.1高性能與高并發 2.2低資源消耗 2.3功能豐富 2.4高度擴展性 三.Nginx的應用場景 3.1靜態資源服務器 3.2反向代理服務器 3.3API網關 3.4Nginx的配置與使用 四.總結 一.引言 在互聯網高速發展的今天,Web服務器的性能與…

嵌入式Linux設備使用Go語言快速構建Web服務,實現設備參數配置管理方案探究

本文探討,利用Go語言及gin框架在嵌入式Linux設備上高效搭建Web服務器,以實現設備參數的網頁配置。通過gin框架,我們可以在幾分鐘內創建一個功能完善的管理界面,方便對諸如集中器,集線器等沒有界面的嵌入式設備的管理。…

KALI搭建log4j2靶場及漏洞復現全流程

這里使用了兩臺KALI虛擬機,一臺用于安裝靶場環境,一臺用于攻擊 一、Docker的安裝(靶機) 1、Linux內核版本查看 #安裝docker要求內核版本kerner>3.10 #為此,先檢查當前Linux系統的內核版本 uname -a 2、Linux apt…

學習筆記—C++—模板初階

目錄 模板初階 泛型編程 函數模板 模版概念 函數模版格式 模版的原理 函數模板的實例化 模版參數的匹配規則 類模板 模板初階 泛型編程 使用函數重載雖然可以實現,但是有一下幾個不好的地方: 1. 重載的函數僅僅是類型不同,代碼復…

Docker 中多個容器之間的通信

在 Docker 中,多個容器之間的通信可以通過以下幾種主要方式實現,具體選擇取決于網絡需求、隔離性及管理復雜度: 一、自定義 Bridge 網絡(推薦) 通過創建自定義的 Docker 網絡,容器可以加入同一網絡并通過容…

Day1-初次接觸UFS

經過導師初次介紹,了解工作以芯片測試為主,需堅持學習,小白大致需3-6月入門。整體學習應分為3大塊,UFS協議占40%(3-4h),C技能占40%(3-4h),工具或業務占20%(1-2h&#xff…

【LeetCode 熱題100】二叉樹構造題精講:前序 + 中序建樹 有序數組構造 BST(力扣105 / 108)(Go語言版)

🌱 二叉樹構造題精講:前序 中序建樹 & 有序數組構造 BST 本文圍繞二叉樹的兩類構造類題目展開解析: 從前序與中序遍歷序列構造二叉樹 將有序數組轉換為二叉搜索樹 我們將從「已知遍歷構造樹」和「平衡構造 BST」兩個角度,拆…

JMeter重要的是什么

重要特性 支持多種協議: JMeter支持對多種協議進行性能測試,包括HTTP、HTTPS、FTP、JDBC(數據庫)、LDAP、JMS、SOAP、REST等。這使得它能夠適應各種不同的測試場景。強大的負載模擬能力: JMeter能夠模擬大量的虛擬用戶…

一文讀懂WPF系列之MVVM

WPF MVVM 什么是MVVMWPF為何使用MVVM機制WPFMVVM 的實現手段 INotifyPropertyChanged?數據綁定的源端通知??原理 PropertyChanged事件雙向綁定的完整條件常見疑惑問題 什么是MVVM 翻譯全稱就是 model-view-viewmodel 3部分內容 以wpf的概念角度來解釋就是 數據庫數據源模型…

OCR API識別對比

OCR 識別DEMO OCR識別 demo 文檔由來 最開始想使用百度開源的 paddlepaddle大模型 研究了幾天,發現表格識別會跨行,手寫識別的也不很準確。最終還是得使用現成提供的api。。 文檔說明 三個體驗下來 騰訊的識別度比較高,不論是手寫還是識別表…

嵌入式MCU常用模塊

日后填坑。 無線通信模塊 2.4G 基本介紹 以NRF24L01為例。 NRF24L01是一款2.4GHz的無線收發模塊,支持SPI通信協議,具有低功耗、高數據速率(250kbps-2Mbps)和多設備通信能力。 它可以同時與最多6個其他模塊通信,適合…

記一次InternVL3- 2B 8B的部署測驗日志

測試效果: 問題和耗時如圖 5、資源占用 不釋放資源會一直漲顯存。總體還算滿意,我試了好多個圖理解大模型,就屬它牛一點 附圖一張 補充,測試InternVL3-2B的結果 1、模型下載魔搭社區 2、運行環境: 1、硬件 RTX 30…

Java版本對應關系表

Java版本對應關系表 以下Java主要版本(Major Version)與公開大版本號的對應關系 公開大版本名稱Major 版本號內部版本號格式示例(java -version輸出)Java 8 (1.8)52 (0x34)1.8.0_XXX1.8.0_301Java 953 (0x35)9.0.X9.0.4Java 105…