資料整合工具ETL到KAFKA

2021-09-26 04:38:53 字數 1293 閱讀 5294

neha narkhede(confluent創始人,kafka

)觀點:etl 已死,而實時流長存;

來自各種操作性資料庫的資料會以批處理的方式載入到資料倉儲的主模式中,批處理執行的週期可能是每天一次或兩次。

這種資料整合過程通常稱為抽取 - 轉換 - 載入(extract-transform-load,etl)。

單伺服器的資料庫正在被分布式資料平台所取代;除了事務性資料,現在有了型別更多的資料來源,比如日誌、感測器、指標資料等;流資料得到了普遍性增長,在速度方面比每日的批處理有了更快的業務需求。

這些趨勢所造成的後果就是傳統的資料整合方式最終看起來像一團亂麻,比如組合自定義的轉換指令碼、使用企業級中介軟體如企業服務匯流排(esb)和訊息佇列(mq)以及像 hadoop

這樣的批處理技術。

批處理etl已死,kafka才是資料處理的未來?

微服務、soa、esb比較

在上世紀 90 年代的零售行業中,需要對購買者行為趨勢進行分析。

儲存在 oltp 資料庫中的操作性資料必須要進行抽取、轉換為目標倉庫模式,然後載入到中心資料倉儲中。這項技術在過去二十年間不斷成熟,但是資料倉儲中的資料覆蓋度依然相對非常低,這主要歸因於 etl 的如下缺點:

資料的清洗和管理需要手工操作並且易於出錯;

etl 的操作成本很高:它通常很慢,並且是時間和資源密集型的;

etl 所構建的範圍非常有限,只關注於以批處理的方式連線資料庫和資料倉儲。

這些需求推動乙個統一資料整合平台的出現,而不是一系列專門定製的工具。

這個平台必須擁抱現代架構和基礎設施的基本理念、能夠容錯、能夠並行、支援多種投遞語義、提供有效的運維和監控並且允許進行模式管理。apache kafka 是七年前由 linkedin 開發的,它就是這樣的乙個開源流平台,能夠作為組織中資料的中樞神經系統來執行。

1.2   kafka的使用場景:

- 日誌收集:乙個公司可以用kafka可以收集各種服務的log,通過kafka以統一介面服務的方式開放給各種consumer,例如hadoop、hbase、solr等。

- 訊息系統:解耦和生產者和消費者、快取訊息等。

- 運營指標:kafka也經常用來記錄運營監控資料。包括收集各種分布式應用的資料,生產各種操作的集中反饋,比如報警和報告。

- 流式處理:比如spark streaming和storm

開源ETL工具kettle 資料遷移

由於專案的需求,需要將資料從oracle遷移到mssql,不是簡單的資料複製,而是表結構和欄位名都不一樣,甚至需要處理編碼規範不一致的情況,如下圖所示 注意 oracle和mssql中的同名表的欄位名是不相同的 如果要是採用手工sql語句操作的話會很麻煩,需要考慮 oracle和mssql sql語...

資料倉儲系列之ETL過程和ETL工具

上週因為在處理很多資料來源整合的事情一直沒有更新系列文章,在這週後開始規律更新。在維度建模中我們已經了解資料倉儲中的維度建模方法以及基本要素,在這篇文章中我們將學習了解資料倉儲的etl過程以及實用的etl工具。一 什麼是etl?構建資料倉儲的核心是建模,在資料倉儲的構建中,etl貫穿於專案始終,它是...

面向資料整合的ETL技術研究

2.etl中的關鍵技術 etl過程中的主要環節就是資料抽取 資料轉換和加工 資料裝載。為了實現這些功能,各個etl工具一般會進行一些功能上的擴充,例如工作流 排程引擎 規則引擎 指令碼支援 統計資訊等。2.1 資料抽取 資料抽取是從資料來源中抽取資料的過程。實際應用中,資料來源較多採用的是關聯式資料...