spark-sql 備忘錄

wordcount

sc.textFile("../data/data.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

讀取json 文件 并通過sql 執行 join 查詢

public static void main(String[] args) {SparkSession session = SparkSession.builder().master("local").appName("master").getOrCreate();Dataset<Row> df = session.read().json("./data/user2.json");
//        json.show();df.createOrReplaceTempView("user");Dataset<Row> df2 = session.read().json("./data/dept.json");df2.createOrReplaceTempView("dept");Dataset<Row> result = session.sql("select u.id,u.name,d.name dname from user u left join dept d" +" on u.deptno= d.id" +"");
//        result.show();
//        result.collectAsList().forEach(System.out::println);result.write().csv("data/result2");session.close();}

jdbc ?導出csv

public static void main(String[] args) {SparkSession session = SparkSession.builder().master("local").appName("master").getOrCreate();Properties connectionProperties = new Properties();connectionProperties.put("user", "root");connectionProperties.put("password", "root");Long start = System.currentTimeMillis();Dataset<Row> report = session.read().jdbc("jdbc:mysql://localhost:3306/test","idms_user", connectionProperties).filter("createDate is not null");report.write().option("header", true).mode("overwrite").csv("data/idms_user");long end = System.currentTimeMillis();System.out.println("cost:" + (end - start)+"ms");session.close();}

jdbc ?通過sql 查詢 ?函數處理

/*jdbc  通過sql 查詢  函數處理
*/ 
public static void main(String[] args) {SparkSession session = SparkSession.builder().master("local").appName("master").getOrCreate();Properties connectionProperties = new Properties();connectionProperties.put("user", "root");connectionProperties.put("password", "root");Long start = System.currentTimeMillis();Dataset<Row> report = session.read().jdbc("jdbc:mysql://localhost:3306/test","report", connectionProperties);report.createOrReplaceTempView("report");Dataset<Row> result = session.sql("select id,date_format(created_at,'yyyy-MM-dd') createDate ,title " +" , date_format(now(),'yyyy-MM-dd') nowDate" +" ,datediff(now(),created_at) days"+" from report where age>12");result.show();session.close();}

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

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

相關文章

Java并發編程學習(二)

線程的狀態 有說5種的&#xff0c;有說6種的 5種的&#xff0c;從操作系統層面來講 初始狀態&#xff1a;也就是語言層面創建了線程對象&#xff0c;還未與操作系統線程關聯。Java中也就是new了一個線程&#xff0c;還未調用。可運行狀態&#xff1a;&#xff08;就緒狀態&a…

Docker方式安裝人人影視離線完整安裝包

本文軟件由網友 ルリデ 推薦&#xff1b; 上周&#xff0c;人人影視創始人宣布將人人影視二十年字幕數據開源分享 目前提供了兩種使用方式&#xff1a; “在線應用” &#xff1a;意味著需要有互聯網才可以使用。官方提供了網站&#xff1a;https://yyets.click “離線使用” …

Leetcode 3389. Minimum Operations to Make Character Frequencies Equal

Leetcode 3389. Minimum Operations to Make Character Frequencies Equal 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3389. Minimum Operations to Make Character Frequencies Equal 1. 解題思路 這一題從答題從test的結果來說來說做出的人很少&#xff0c;主要確實有些…

大文件處理的終極武器:Yield詳解

【大文件處理的終極武器&#xff1a;Yield詳解】&#x1f680; 一、大文件處理的痛點 內存限制數據量巨大傳統方法效率低 二、Yield解決方案 def read_large_file(file_path):with open(file_path, r) as file:# 每次只讀取一行&#xff0c;而不是全文for line in file:yie…

SpringBoot 學習

SpringBoot 學習 什么是 Springboot Spring Boot 是 Spring 提供的一個子項目&#xff0c;用于快速構建 Spring 應用程序 傳統的問題&#xff1a; 導入依賴繁瑣項目配置繁瑣 SpringBoot 的特性 起步依賴&#xff1a;整合所有 web 的依賴配置好了自動配置&#xff1a;bean…

到達率的變化動態調整服務器的服務率,實現負載均衡,提高資源利用效率

中心可以根據任務到達率的變化動態調整服務器的服務率,實現負載均衡,提高資源利用效率 服務率和到達率 中心可以根據任務到達率的變化動態調整服務器的服務率,實現負載均衡,提高資源利用效率服務率(Service Rate)到達率(Arrival Rate)控制參數實現負載均衡的方法在云計…

最新全開源IM即時通訊系統源碼(PC+WEB+IOS+Android)部署指南

全開源IM&#xff08;即時通訊&#xff09;系統源碼部署是一個復雜但系統的過程&#xff0c;涉及多個組件和步驟。以下是一個詳細的部署指南&#xff0c;旨在幫助開發者或系統管理員成功部署一個全開源的IM系統&#xff0c;如OpenIM。      IM即時通訊系統源碼準備工作   …

CAD c# 生成略縮圖預覽

代碼如下&#xff1a; using (Transaction tr currentdb.TransactionManager.StartTransaction()){//當前數據庫開啟事務using (Database tempdb new Database(false, true)) //創建臨時數據庫(兩個參數&#xff1a;是否創建符號表&#xff0c;不與當前文檔關聯){try{Bitmap …

CloudberryDB(二) 演化路線圖

CloudberryDB 制定了演化路線圖&#xff08;https://github.com/orgs/cloudberrydb/discussions/369&#xff09;并在逐步改進&#xff0c;這是 Cloudberry Database 發揮獨特價值之處。 計劃、正在進行或已完成的一些工作。 支持輕松升級 PostgreSQL 內核版本。 原有 Greenp…

單片機:實現呼吸燈(附帶源碼)

單片機實現呼吸燈詳細解讀 呼吸燈是一種常見的燈光效果&#xff0c;廣泛應用于電子產品、汽車、家居照明等領域。其基本特性是通過逐漸增亮和減弱的方式&#xff0c;使得燈光呈現出“呼吸”的效果&#xff0c;給人一種平緩、舒適的視覺感受。在嵌入式系統中&#xff0c;呼吸燈…

[面試題]--索引用了什么數據結構?有什么特點?

答&#xff1a;使用了B樹&#xff1a; 時間復雜度&#xff1a;O(logN),可以有效控制樹高 B樹特點&#xff1a; 1.葉子節點之間有相互鏈接的作用&#xff0c;會指向下一個相近的兄弟節點。 MySQL在組織葉子節點使用的是雙向鏈表 2.非葉子節點的值都保存在葉子節點當中 MySQL非葉…

ansible自動化運維(五)roles角色管理

Roles角色管理 角色&#xff08;roles&#xff09;是ansible自1.2版本開始引入的新特性&#xff0c;用于層次性&#xff0c;結構化地組織playbook。 roles能夠根據層次型結構自動裝載變量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。簡單的…

操作系統:文件系統

目錄 1、文件 概念&#xff1a; UNIX文件分類&#xff1a; 2、文件系統 3、文件的訪問方式 順序訪問 隨機訪問 4、文件的組織 邏輯組織 物理組織 5、倒排結構&#xff08;了解&#xff09; 5、文件目錄 文件控制塊&#xff08;FCB&#xff09; ?編輯 目錄項 單…

單元測試-FATAL ERROR in native method: processing of -javaagent failed

文章目錄 前言單元測試-FATAL ERROR in native method: processing of -javaagent failed1. 報錯信息2. 解決方案 前言 如果您覺得有用的話&#xff0c;記得給博主點個贊&#xff0c;評論&#xff0c;收藏一鍵三連啊&#xff0c;寫作不易啊^ _ ^。 ??而且聽說點贊的人每天的運…

決策曲線分析(DCA)中平均凈收益用于評價模型算法(R自定義函數)

決策曲線分析&#xff08;DCA&#xff09;中平均凈收益用于評價模型算法 DCA分析雖然不強調用來評價模型算法或者變量組合的優劣&#xff0c;但是實際應用過程中感覺DCA曲線的走勢和模型的效能具有良好的一致性&#xff0c;其實這種一致性也可以找到內在的聯系&#xff0c;比如…

快速且靠譜的簡單安裝 PostgreSQL 15 yum 安裝postgis3.3

快速且靠譜的簡單安裝 PostgreSQL 15 yum 安裝postgis3.3 1、確保已經安裝了PostgreSQL數據庫。2、添加PostGIS的EPEL倉庫3、使用YUM安裝PostGIS4、以下為其他安裝方式&#xff0c;一個個去找源碼的編譯安裝&#xff0c;過程較為繁瑣&#xff08;不熟路的不推薦&#xff09; 要…

工業大數據分析算法實戰-day05

文章目錄 day05分而治之中的MARS算法神經網絡逼近能力解釋 day05 今天是第5天&#xff0c;昨日從統計分析開始利用統計學的知識判斷當前樣本的分布以及估計總體的參數和假設檢驗的情況&#xff0c;以及介紹了線性回歸算法的相關優化點&#xff0c;但是畢竟線性回歸是線性劃分的…

在Ubuntu服務器上備份文件到自己的百度網盤

文章目錄 概述安裝bypy同步文件定時任務腳本 概述 之前自購了一臺阿里云服務器&#xff0c;系統鏡像為Ubuntu 22.04&#xff0c; 并且搭建了LNMP開發環境&#xff08;可以參考&#xff1a;《Ubuntu搭建PHP開發環境操作步驟(保姆級教程)》&#xff09;。由于項目運行中會產生附…

safe area helper插件

概述 顯示不同機型的必能顯示的區域 實現步驟 引入safearea&#xff0c;引入其中的safearea的csharp 為cancas加入gameobject gameobject中加入safearea腳本 將UI作為這個gameobject的子物體&#xff0c;就可以完成顯示

Unity 獲取鼠標點擊位置物體貼圖顏色

實現 Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out RaycastHit hit)) {textureCoord hit.textureCoord;textureCoord.x * textureMat.width;textureCoord.y * textureMat.height;textureColor textureMat.GetPixel(Mathf.Flo…