日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据集成--ETL工具

發(fā)布時(shí)間:2024/1/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据集成--ETL工具 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

背景:不同平臺(tái)都可以獲得用戶,這些用戶之間可能是交叉重復(fù),比如你之前在A平臺(tái)注冊(cè)了,后來你又在B平臺(tái)注冊(cè)了。而不同的平臺(tái)存儲(chǔ)數(shù)據(jù)的表結(jié)構(gòu),表字段可能不同。最有代表性的,美團(tuán)合并了大眾點(diǎn)評(píng),兩家外賣平臺(tái)的數(shù)據(jù)必須整合在一起,才能發(fā)揮更大的商業(yè)價(jià)值----數(shù)據(jù)集成。

數(shù)據(jù)集成的兩種架構(gòu):ELT 和 ETL

一般來說,數(shù)據(jù)工程師的工作包括了數(shù)據(jù)的 ETL 和數(shù)據(jù)挖掘算法的實(shí)現(xiàn)。算法實(shí)現(xiàn)可以理解,就是通過數(shù)據(jù)挖掘算法,從數(shù)據(jù)倉庫中找到“金子“。

ETL實(shí)現(xiàn)數(shù)據(jù)抽取、轉(zhuǎn)換、加載這三個(gè)過程

抽取是將數(shù)據(jù)從已有的數(shù)據(jù)源中提取出來。

轉(zhuǎn)換是對(duì)原始數(shù)據(jù)進(jìn)行處理,例如將表輸入 1 和 表輸入 2 進(jìn)行連接形成一張新的表。

根據(jù)轉(zhuǎn)換發(fā)生的順序和位置,數(shù)據(jù)集成可以分為 ETL 和 ELT 兩種架構(gòu)。

ETL 的過程為提取 (Extract)——轉(zhuǎn)換 (Transform)——加載 (Load),在數(shù)據(jù)源抽取后首先進(jìn)行轉(zhuǎn)換,然后將轉(zhuǎn)換的結(jié)果寫入目的地。

ELT 的過程則是提取 (Extract)——加載 (Load)——變換 (Transform),在抽取后將結(jié)果先寫入目的地,然后利用數(shù)據(jù)庫的聚合分析能力或者外部計(jì)算框架,如 Spark 來完成轉(zhuǎn)換的步驟。

目前數(shù)據(jù)集成的主流架構(gòu)是 ETL,但未來使用 ELT 作為數(shù)據(jù)集成架構(gòu)的將越來越多。

ELT 和 ETL 相比,最大的區(qū)別是“重抽取和加載,輕轉(zhuǎn)換”,從而可以用更輕量的方案搭建起一個(gè)數(shù)據(jù)集成平臺(tái)。一方面更省時(shí),另一方面 ELT 允許 BI 分析人員無限制地訪問整個(gè)原始數(shù)據(jù),從而使BI對(duì)于數(shù)據(jù)處理更加靈活,更好的支持業(yè)務(wù)。

ETL 工具有哪些?

開源軟件:Kettle、Talend、Apatar、Scriptella、DataX、Sqoop 等

Kettle 工具的使用

Kettle 是一款國外開源的 ETL 工具,純 Java 編寫,可以在 Window 和 Linux 上運(yùn)行,不需要安裝就可以使用。

下載地址:https://community.hitachivantara.com/docs/DOC-1009855

在使用 Kettle 之前還需要安裝數(shù)據(jù)庫軟件和 Java 運(yùn)行環(huán)境(JRE)

Kettle 采用可視化的方式進(jìn)行操作,來對(duì)數(shù)據(jù)庫間的數(shù)據(jù)進(jìn)行遷移。它包括了兩種腳本:Transformation 轉(zhuǎn)換和 Job 作業(yè)。

Transformation(轉(zhuǎn)換):相當(dāng)于一個(gè)容器,對(duì)數(shù)據(jù)操作進(jìn)行了定義。數(shù)據(jù)操作就是數(shù)據(jù)從輸入到輸出的一個(gè)過程。在通常的工作中,我們會(huì)把任務(wù)分解成為不同的作業(yè),然后再把作業(yè)分解成多個(gè)轉(zhuǎn)換。

Job(作業(yè)):相比于轉(zhuǎn)換是個(gè)更大的容器,它負(fù)責(zé)將轉(zhuǎn)換組織起來完成某項(xiàng)作業(yè)。

Transformation 可以分成三個(gè)步驟,它包括了輸入、中間轉(zhuǎn)換以及輸出。

在 Transformation 中包括兩個(gè)主要概念:Step 和 Hop。

Step(步驟):Step 是轉(zhuǎn)換的最小單元。在上面這個(gè)轉(zhuǎn)換中,就包括了表輸入、值映射、去除重復(fù)記錄、表輸出這 4 個(gè)步驟;

Hop(跳躍線):用來在轉(zhuǎn)換中連接 Step。它代表了數(shù)據(jù)的流向。

如何創(chuàng)建 Job(作業(yè)):完整的任務(wù),實(shí)際上是將創(chuàng)建好的轉(zhuǎn)換和作業(yè)串聯(lián)起來。在這里 Job 包括兩個(gè)概念:Job Entry、Hop。

Job Entry(工作實(shí)體):Job Entry 是 Job 內(nèi)部的執(zhí)行單元,每一個(gè) Job Entry 都是用來執(zhí)行具體的任務(wù),比如調(diào)用轉(zhuǎn)換,發(fā)送郵件等。

Hop:指連接 Job Entry 的線。并且它可以指定是否有條件地執(zhí)行。

案例 1:如何將文本文件的內(nèi)容轉(zhuǎn)化到 MySQL 數(shù)據(jù)庫中

總結(jié)

以上是生活随笔為你收集整理的数据集成--ETL工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。