datax簡單入門介紹以及部分概念

2021-10-05 19:45:54 字數 1191 閱讀 3428

1,我們先來了解一下,datax是什麼,它是用來幹嘛的?

datax是乙個離線採集異構資料來源工具,支援將源頭資料來源(後面簡稱reader)資料採集到目標資料來源(後面簡稱writer),主要作用是將資料從一頭拉倒另外一頭,期間支援簡單資料過濾,規整,,目前datax支援多種reader和writer,包括但不僅限於mysqlreader,oraclereader,ftpreader,mysqlwriter,oraclewriter,ftpwriter。具體可以檢視(

2,接下來我們大致了解一下datax資料交換模式

datax採用外掛程式模式設計,reader與reade之間,reader與writer之間完全解耦,可做到互不影響。datax有三大部分,reader,writer,channel,reader和writer間依賴channel傳輸資料,reader通過recordsender.sendtowriter()往channel寫入資料,writer通過recordreceiver.getfromreader()從channel拉取資料,channel的底層是乙個佇列,先進先出(應該是,這裡沒仔細看原始碼做確認)。正是由於這外掛程式模式,我們之後自定義開發外掛程式的時候只需要實現外掛程式本身的邏輯+往channel寫資料或從channel拿資料即可,其他的交給框架,這就大大方便我們自定義開發外掛程式了,後面我會詳細講解怎樣自定義開發外掛程式,建議先學會用datax採集資料之後,再考慮自定義開發外掛程式。

job: job是datax用以描述從乙個源頭到乙個目的端的同步作業,是datax資料同步的最

小業務單元。比如:從一張mysql的表同步到odps的乙個表的特定分割槽。 task:

task是為最大化而把job拆分得到的最小執行單元。比如:讀一張有1024個分表的

mysql分庫分表的job,拆分成1024個讀task,用若干個併發執行。 taskgroup:

描述的是一組task集合。在同乙個taskgroupcontainer執行下的task集合稱之為taskgroup

jobcontainer: job執行器,負責job全域性拆分、排程、前置語句和後置語句等工作的工作單元。類似yarn中的jobtracker

taskgroupcontainer: taskgroup執行器,負責執行一組task的工作單元,類似yarn中的tasktracker。

pandas部分函式簡單介紹

在對資料做預處理的時候用到了pandas,整理一些用到的函式,以後檢視方便。初次使用給我的感覺就是pandas是用來處理 資料的乙個工具包,尤其是對csv格式的資料。它基於dataframe和series兩種資料型別。1.資料讀入 假設被讀取的文字名為train labels 100.csv內容如下...

react簡單入門介紹

以下是乙個最簡單的 demo,將乙個最簡單的元件渲染到頁面上。import react from react import from react dom 定義元件 class hello extends react.component 渲染元件到頁面 render document.geteleme...

EVE NG簡單入門介紹

此篇文章簡單的介紹下模擬器eve ng的使用,具體包括dynamips裝置匯入與執行,iol裝置的匯入與執行,qemu裝置的匯入與執行,客戶端軟體的安裝,物理網路與虛擬網路的結合等。由於eve ng是基於linux的ubuntu系統實現的,所以了解linux基礎知識與命令十分重要,在此推薦 linu...