6工程文件夾作用_data_dragon數據工程小工具收集

11d7c0dff5d3d6ad8d02732fd07a7921.png

最近在GitHub上創建了一個新工程,收集個人在數據工程工作的小工具集合,命名為data_dragon (數據一條龍)。取這個名字的是希望這些腳本或代碼能夠復用,端到端地減少臨時數據處理的時間。

最近因為工作上的一些變化,寫作節奏有點被打亂,已經有2個月沒有更新文章了。這次剛好將最近創建的小工程做個介紹。首先這個工程都是些零散的代碼腳本,目前上傳了3個,有Python,有Bash shell。后期,可能還有用sed寫的HLR上的IMSI處理腳本,Java寫的Hive UDF……總之,就是一些在實際工作中為了避免重復勞動的臨時代碼。

放在線上,就是為了方便以后遇到相同的問題可以重用,該工程的代碼地址是https://github.com/camash/data_dragon。

工程中,每一個文件夾都是一個獨立的小工具,用于解決一個獨立的問題。目前,已經上傳的三個腳本分別用于“快速生成Azkaban任務調度的DAG”,“hive同步數據到ES索引”以及“傳輸大量SFTP文件以及檢查”。以下,分別對上傳的三個腳本做簡要介紹。

generate_azkaban_flow

作用

在Excel中配置任務依賴關系,然后使用shell腳本快速生成Azkaban的job文件。

使用方法

  • 創建文件 在Excel或者其它表格軟件中,按如下結構創建
編號任務名稱任務調用腳本依賴
000start_kettle
001test/home/hadoop/test/kettle/all/test.sh resource000_start_kettle
002end_job/home/hadoop/test/kettle/all/end_job.sh000_start_kettle, 001_test
  • 執行轉換 復制到文本文件中,保存為tsv文件,比如test.txt。然后執行shell腳本。
bash?./gen_azkaban_flow.sh?test.txt

執行之后在文件所在路徑內會生成以編號_任務名稱.job的Azkaban任務文件。文件數量等同于tsv文件中的行數。

ls?-1?*.job
000_start_kettle.job
001_test.job
002_end_job.job
  • job文件內容

主要包含執行項和依賴項,依賴項就是最終生成任務DAG的邊。同時,這個腳本中默認會給執行命令加入執行日期參數,若不需要可以通過修改shell命令實現。

$?cat?002_end_job.job?
type=command
dependencies=000_start_kettle,?001_test
command=/bin/bash?/home/hadoop/test/kettle/all/end_job.sh?'${azkaban.flow.start.year}${azkaban.flow.start.month}${azkaban.flow.start.day}'

使用總結

可以通過先在表格中規則的梳理任務流,避免了任務太多時直接寫job文件容易遺漏的情況。梳理完成之后,使用該腳本一次性生成所有的job,秒秒鐘完成。

hive_to_elasticsearch

作用

將Hive表中的數據導入到Elasticsearch的索引中。

使用方法

腳本是通過Python3編寫的,因此使用Python3調用即可。

python3?hive_records_to_es.py

其中,Hive地址和Elasticsearch的地址放在connection.cfg文件中,樣例如下:

[hive]
host?=?192.168.1.4
port?=?10000
user?=?hadoop
[es]
es_url_1?=?http://192.168.1.6:7200/
es_url_2?=?http://192.168.1.7:7200/
es_url_3?=?http://192.168.1.8:7200/

另外,表名和索引名在腳本中是靜態賦值,后期需要動態傳入。

scp_copy_and_check

作用

從遠程SFTP同步文件指定文件夾下的所有文件至本地的指定路徑。在傳輸前后,可以對源和目標系統上的文件數量進行校驗(也可以支持其它校驗和方式)。同時在傳輸前,對源的文件數量可以設置一定閾值,數量過少直接報異常退出程序。

使用方法

腳本是使用bash shell進行編寫的,需要傳入日期參數來確認文件夾的路徑,參數格式為YYYYMMDD。若不傳入參數,則會取執行日期做為默認參數。調用方式如下:

bash?scp_log_file.sh?20200916

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

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

相關文章

暑假第十七測

題解&#xff1a; 第一題 #include<bits/stdc.h> using namespace std; #define ll long long const int M 1e5 10; ll a[M], b[M], ans; priority_queue <ll, vector<ll> , greater<ll> > Q; int main(){freopen("buy.in","r",…

Uva 11354 LCA 倍增祖先

題目鏈接&#xff1a;https://vjudge.net/contest/144221#problem/B 題意&#xff1a;找一條從 s 到 t 的路&#xff0c;使得瓶頸路最小。 點的數目是10^4&#xff0c;如果向之前的方案求 maxcost數組&#xff0c;O(n*n)時間是過不了的&#xff0c;這個時候&#xff0c;用到了…

Nginx搭建flv視頻點播服務器

Nginx搭建flv視頻點播服務器前一段時間使用Nginx搭建的多媒體服務器只能在緩沖過的時間區域內拖放, 而不能拖放到未緩沖的地方. 這就帶來了一個問題: 如果視頻限速的速率很小, 那么客戶端觀看視頻時肯定不流暢, 而且用戶不能向前拖放, 用戶體驗很不好. 如果視頻限速的速率很大或…

編碼拾遺

1 #!/usr/bin/env python32 #-*- coding:utf-8 -*-3 4 Administrator 5 2018/8/16 6 7 8 # fopen("demo","r",encoding"utf8")9 # dataf.read() 10 # print(data) 11 # f.close() 12 13 14 # print("沈哲子") 15 16 s"中國&qu…

Xcode:Foundation框架找不到,或者是自動提示出現問題

問題描述&#xff1a;Foundation框架找不到&#xff0c;或者是自動提示出現問題 之前的操作&#xff1a;手賤&#xff0c;不少心把編譯器里面的源碼改了處理辦法&#xff1a;清理緩存緩存位置&#xff1a;點擊桌面后&#xff0c;選擇系統菜單欄&#xff1a;前往—電腦—硬盤—用…

mybatis 不生效 參數_Mybatis-日志配置

日志Mybatis 的內置日志工廠提供日志功能&#xff0c;內置日志工廠將日志交給以下其中一種工具作代理&#xff1a;SLF4JApache Commons LoggingLog4j 2Log4jJDK loggingMyBatis 內置日志工廠基于運行時自省機制選擇合適的日志工具。它會使用第一個查找得到的工具(按上文列舉的順…

PS通過濾色實現簡單的圖片拼合

素材如下&#xff1a; 素材一&#xff1a; 雪山 素材二&#xff1a; 月亮 效果&#xff1a; 實現步驟 1、在PS中打開雪山素材一 2、將月亮素材直接拖入雪山所在的圖層中 3、鎖定置入素材的高寬比&#xff08;點擊一下鏈狀按鈕&#xff09; 4、調整月亮到合適大小合適位置 5、…

預處理:主成分分析與白化

主成分分析 引言 主成分分析&#xff08;PCA&#xff09;是一種能夠極大提升無監督特征學習速度的數據降維算法。更重要的是&#xff0c;理解PCA算法&#xff0c;對實現白化算法有很大的幫助&#xff0c;很多算法都先用白化算法作預處理步驟。 假設你使用圖像來訓練算法&#x…

jQuery Ajax

jQuery load()方法&#xff1a;是簡單但強大的Ajax 方法load() 方法從服務器(URL,data,callback);必須的URL 參數規定您希望架加載的URL可選的data參數 規定與請求一同發送的差字符串鍵/值對集合。可選的callback參數時load()方法完成后所執行的函數名稱$(documnet).ready(…

swagger 修改dto注解_Web服務開發:Spring集成Swagger,3步自動生成API文檔

目錄&#xff1a;1&#xff0c;Spring Boot集成Swagger2&#xff0c;Swagger接口文檔頁面3&#xff0c;常見問題和解決方法在Sping開發REST接口服務時&#xff0c;API文檔是不可缺少的一個重要部分。Swagger框架定義了完整的REST接口文檔規范&#xff0c;提供了強大的頁面測試功…

WPF自定義控件之列表滑動特效 PowerListBox

列表控件是應用程序中常見的控件之一&#xff0c;對其做一些絢麗的視覺特效&#xff0c;可以讓軟件增色不少。 本人網上看過一個視頻&#xff0c;是windows phone 7系統上的一個App的列表滾動效果&#xff0c;效果非常炫 現在在WPF上用ListBox重現此效果 首先我們來分析一下&am…

去除inline-block元素間間距

根本原因&#xff1a;inline-block元素之間之所以有空白間距是因為空格有字體大小原因。 第一種&#xff1a; 把代碼之間的換行空白都去掉。 例如&#xff1a; <div>第一個inline-block元素</div><div>第二個inline-block元素</div> 第二種&#xff1a…

python - 定時清理ES 索引

只保留三天 #!/usr/bin/env python3 # -*- coding:utf-8 -*- import os import datetime# 時間轉化為字符串now_time datetime.datetime.now().strptime(datetime.datetime.now().strftime("%Y.%m.%d"),"%Y.%m.%d") os.system("curl -XGET http://12…

CnosDB如何確保多步操作的最終一致性?

背景 在時序數據庫中&#xff0c;資源的操作是一個復雜且關鍵的任務。這些操作通常涉及到多個步驟&#xff0c;每個步驟都可能會失敗&#xff0c;導致資源處于不一致的狀態。例如&#xff0c;一個用戶可能想要在CnosDB集群中刪除一個租戶&#xff0c;這個操作可能需要刪除租戶…

頸椎前路caspar撐開器_“骨質增生”導致的頸椎病怎么破?

來源&#xff1a;《脊柱外科微創手術精要》作者&#xff1a;中日友好醫院 鄒海波此文是區別于頸椎間盤軟性突出診治一文&#xff0c;主要針對“骨質增生”導致的頸椎病(Spondylosis)進行介紹。傳統的頸椎前路手術主要為頸椎病而設計。一度認為對頸椎病采用前路手術的主要好處在…

Struts2整合Freemarker生成靜態頁面

2019獨角獸企業重金招聘Python工程師標準>>> 這是生成靜態頁面的預覽&#xff1a; 其對應的模板文件&#xff1a; <table style"text-align:center;FONT-SIZE: 11pt; WIDTH: 600px; FONT-FAMILY: 宋體; BORDER-COLLAPSE: collapse" borderColor#3399ff…

使用flot.js 發現x軸y軸無法顯示軸名稱

添加此插件解決問題 flot-axislabels https://github.com/markrcote/flot-axislabels 轉載于:https://www.cnblogs.com/feehuang/p/4993920.html

快速冪、矩陣快速冪、快速乘法

快速冪 快速冪是我們經常用到的一種算法&#xff0c;快速冪顧名思義就是快速的冪運算。我們在很多題目中都會遇到冪運算&#xff0c;但是在指數很大的時候&#xff0c;我們如果用for或者是pow就會超時&#xff0c;這時候就用到了快速冪。 快速冪的原理就是&#xff0c;當求b^p的…

vue 前端顯示圖片加token_手摸手,帶你用vue擼后臺 系列二(登錄權限篇)

完整項目地址&#xff1a;vue-element-adminhttps://github.com/PanJiaChen/vue-element-admin前言拖更有點嚴重&#xff0c;過了半個月才寫了第二篇教程。無奈自己是一個業務猿&#xff0c;每天被我司的產品虐的死去活來&#xff0c;之前又病了一下休息了幾天&#xff0c;大家…

注釋工具_蘋果已購丨Notability丨功能強大而簡單易用的筆記及PDF注釋工具

點擊上方“天澤黑科技”右上角“...”點選“設為星標”點擊加星★ 貼近你心 ?今天給大家購買效率類排行第3名的 Notability &#xff01;大家在桌面 App store 登陸我的賬號&#xff0c;搜索下載即可&#xff01;榮獲 iPad、iPhone 和 Mac 的 Apple「編」愛新 App 殊榮&#x…