dolphinscheduler中一個腳本用于從列定義中提取列名列表

dolphinscheduler中,我們從一個mysql表導出數據,上傳到hdfs, 再創建一個臨時表,所以需要用到列名定義和列名列表。
原來定義兩個變量,不僅繁鎖,還容易出現差錯,比如兩者列序不對。
所以考慮只定義列定義變量,前一個任務從列定義中提取列名生成一個變量供后面任務使用。

一個從列定義中提取列名列表的腳本。
比如列定義:

  id varchar(32) COMMENT '個人客戶id',customer_id varchar(32) COMMENT '客戶ID',code varchar(50) COMMENT '客戶編號',name varchar(100) COMMENT '客戶名稱',status tinyint COMMENT '客戶狀態'

提取的列名列表:

 t.id,t.customer_id,t.code,t.name, t.status 

腳本:

columns1=`echo "${colDefs}" | sed  's/\s*\([a-z|A-Z|0-9|_]\+\)[^,]*/t.\1/g'`
echo "#{setValue(slctColums=${columns1})}"
echo "parsed columns: $columns1"

dolphinscheduler示例
在這里插入圖片描述
后面的任務就可以用select ${slctColumns} from table1 t 使用參數了

r后記:發現有點問題如: salary decimal(28,2) COMMENT ‘可支配余月收入’,
會變成
t.salary,t.2
所以,后面再sed一次掉這種

columns1=`echo "${colDefs}" | sed 's/\s*\([a-z|A-Z|0-9|_]\+\)[^,]*/t.\1/g'  | sed 's/t\.[0-9]\+,//g'`
echo "#{setValue(slctColums=${columns1})}"
echo "parsed columns: $columns1"

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

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

相關文章

JavaWeb(蒼穹外賣)--學習筆記16(定時任務工具Spring Task,Cron表達式)

前言 本篇文章是學習B站黑馬程序員蒼穹外賣的學習筆記📑。我的學習路線是Java基礎語法-JavaWeb-做項目,管理端的功能學習完之后,就進入到了用戶端微信小程序的開發,用戶端開發的流程大致為用戶登錄—商品瀏覽(其中涉及…

靈敏度,精度,精確度,精密度,精準度,準確度,分辨率,分辨力——概念

文章目錄前提總結前提 我最近在整理一份數據指標要求的時候,總是混淆這幾個概念:靈敏度,精度,精確度,精密度,精準度,準確度,分辨率,分辨力,搜了一些文章&…

python-異常(筆記)

#后續代碼可以正常運行 try:f open("xxx.txt","r",encodingutf-8)except:print("except error")#捕獲指定異常,其他異常報錯程序中止,管不到 try:print(name) except NameError as you_call:print("name error"…

[lvgl_player] 用戶界面(LVGL) | 播放器核心設計

docs:基于LVGL的音樂播放器 本項目是為嵌入式設備設計的音樂播放系統,采用LVGL圖形庫構建用戶界面。 系統支持播放WAV格式音頻文件,具備播放列表管理功能,可實現播放/暫停控制、曲目切換等核心操作。 用戶可通過交互界面實時調…

數據賦能(354)——數據分析——多角度分析原則

概述重要性如下:獲得全面理解:多角度分析原則避免僅從單一角度解讀數據,從不同角度、不同維度對數據進行分析,以獲得更全面的理解。發現潛在規律:通過多角度分析,發現數據中的潛在規律和趨勢,為…

【華為機試】127. 單詞接龍

文章目錄127. 單詞接龍描述示例 1:示例 2:提示:解題思路算法分析問題本質分析單向BFS算法詳解雙向BFS算法詳解鄰居單詞生成過程算法流程圖邊界情況分析各種解法對比時間復雜度分析空間復雜度分析關鍵優化點實際應用場景圖構建策略雙向BFS優化…

仿艾莫迅MODBUS調試工具寫一個上位機

公司采購了一個夾具,項目負責人想要試探這個夾具的性能,于是想要我這邊寫一個烤機的程序,小編結合官網資料 https://wiki.amsamotion.com/?title196&doc222查看其pdf說明文檔和調試工具并按照其工具寫一個烤機上位機根據項目負責人的要求…

云展廳:開啟數字化展示新時代

在科技飛速發展的今天,數字化浪潮正席卷各個行業,展覽展示領域也不例外。云展廳作為一種全新的展覽形式,正逐漸嶄露頭角,以其獨特的優勢和創新的技術應用,為觀眾帶來前所未有的觀展體驗,也為企業和機構提供…

硬件電路基礎學習

一、基礎元器件學習 1、電阻 1.1 作用 電阻的工作原理是基于歐姆定律,即電阻的阻值取決于其材料、長度和橫截面積。電阻的主要作用是限制電流,調節電壓和電流,以及保護電路。1.2 數值計算 歐姆定律 通過歐姆定律計算所需保護電阻的大小注意…

基于C++和人工智能(DeepSeek)實踐

基于C++和人工智能(如DeepSeek)實踐 以下是基于C++和人工智能(如DeepSeek或其他AI框架)的實際應用示例,涵蓋不同領域和技術方向,供參考: 基于C++和人工智能(如DeepSeek或其他AI框架)的實際應用示例 圖像識別與處理 人臉檢測:使用OpenCV和DNN模塊加載預訓練的Caffe…

書生浦語第五期L0G1000

完成 視頻課程學習,并在 https://chat.intern-ai.org.cn/ 平臺中實踐提示詞技巧,與 InternLM 和 InternVL 各完成 10 次對話記錄在飛書文檔中。 參加 浦語提示詞工程論文分類打榜賽,分數超過 40 分 InternLM InternVL 浦語提示詞工程論文分…

SpringCloud(一)微服務基礎認識

1、介紹微服務架構是一種架構模式,它提倡將原本獨立的單體應用,拆分成多個小型服務。這些小型服務各 自獨立運行,服務與服務間的通信采用輕量級通信機制(一般基于HTTP協議的RESTful API) ,達到互相協調、互…

MaxKB+MinerU:通過API實現PDF文檔解析并存儲至知識庫

MinerU是一款開源的高質量數據提取工具,能夠將PDF文檔轉換為Markdown和JSON格式。2025年6月13日,MinerU發布了v2.0版本,相較于v1.0版本實現了架構和功能的全面重構與升級。在優化代碼結構和交互方式的同時,v2.0版本還集成了小參數…

一文了解 `package.json` 和 `package-lock.json`文件

所有使用 npm 或 yarn(部分場景)管理依賴的 JavaScript/Node.js 項目都會存在**的核心文件–package.json 和 package-lock.json,無論項目類型是 Vue、React、Angular,還是純 Node.js 后端項目、普通 JavaScript 工具庫等。 所以這…

【AI論文】大語言模型量化的幾何原理:將GPTQ視為Babai最近平面算法

摘要:將大型語言模型(LLMs)的權重從16位量化到更低位寬,是實際部署大規模Transformer模型到更具性價比的加速器上的通用方法。GPTQ已成為大語言模型規模下一站式訓練后量化的標準方法之一。然而,其內部工作原理被描述為…

數據處理四件套:NumPy/Pandas/Matplotlib/Seaborn速通指南

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,H卡級別算力,按量計費,靈活彈性,頂級配置,學生專屬優惠。 數據清洗 特征可視化 Kaggle數據集實操 讀者收獲:1周內具備數據預處理能力 數…

計算機系統層次結構

計算機系統通過多層抽象,平衡硬件效率與軟件靈活性,各層以獨立語言和功能構成有機整體。一、層次劃分(從底層到頂層)層級名稱特點實現方式第1級微程序機器層硬件直接執行微指令(如微操作控制信號)。物理硬件…

04 基于sklearn的機械學習-梯度下降(上)

梯度下降一 、為什么要用到梯度下降?正規方程的缺陷:非凸函數問題:損失函數非凸時,導數為0會得到多個極值點(非唯一解)計算效率低:逆矩陣運算時間復雜度 O(n3),特征量翻倍時計算時間…

淘寶 API HTTP/2 多路復用與連接優化實踐:提升商品數據采集吞吐量

一、引言?隨著電商行業的蓬勃發展,對淘寶平臺商品數據的采集需求日益增長。無論是市場調研公司分析市場趨勢、電商平臺整合商品資源,還是商家進行競品分析,都需要高效、穩定地獲取大量淘寶商品數據。然而,傳統的 HTTP 協議在面對…

javascript中call、apply 和 bind 的區別詳解

文章目錄深入淺出:JavaScript 中的 call、apply 和 bind一、三位魔法師的共同使命二、各顯神通的魔法師們1. call - 即時通訊專家2. apply - 批量處理高手3. bind - 預約服務大師三、魔法師們的對比表格四、魔法師們的實際應用1. 借用方法2. 函數柯里化3. 事件處理五…