摘要:阿裡巴巴技術專家張雅靜為大家帶來DataWorks資料內建與開源Sqoop的對比演講。主要從介紹Sqoop開始談起,接着詳細介紹了DataWorks資料內建與開源Sqoop對比以及注意事項,然後着重說明了DataWorks資料內建并進行了實操示範,最後對全文進行了總結。
本次分享主要圍繞以下四個方面:
一、Sqoop簡介
二、DataWorks資料內建與開源Sqoop的對比及注意事項
三、DataWorks資料內建的介紹
四、資料內建與Sqoop對比總結
以下是精彩視訊内容整理:
Sqoop是一款開源的資料同步工具,是Hadoop生态環境中資料遷移的首選。
Sqoop即SQL to Hadoop,是一款友善的在傳統型資料庫(mysql、oracle)與Hadoop之間進行資料遷移的工具,充分利用MapReduce并行特點以批處理的方式加快資料傳輸,提供了很高的并行性能及良好的容錯性,發展至今主要演化了二大版本,Sqoop1和Sqoop2。
Sqoop工具是hadoop下連接配接關系型資料庫和Hadoop的橋梁,支援關系型資料庫和hive、hdfs、hbase之間資料的互相導入,可以使用全表導入和增量導入。

Sqoop的優勢包括以下幾方面:
高效可控的利用資源,任務并行度,逾時時間。
資料類型映射與轉化,可自動進行,使用者也可自定義。
支援多種主流資料庫,MySQL,Oracle,SQL Server等等。
二、DataWorks資料內建與開源Sqoop對比以及注意事項
1. 處理方式
DataWorks資料內建:底層是DataX進行資料的抽取及加載。資料通道通過定義資料來源和去向的資料源和資料集,提供一套抽象化的資料抽取插件(Reader)、資料寫入插件(Writer),并基于此架構設計一套簡化版的中間資料傳輸格式,進而實作任意結構化、半結構化資料源之間資料傳輸。
Sqoop:Sqoop底層用MapReduce程式實作抽取,轉換,加載。Sqoop根據輸入條件,生成一個map-reduce的作業,在Hadoop的架構中運作。
2. 支援資料源
資料內建支援的資料源:任意資料源,任意格式,任意位置,任意複雜網絡下的高效資料采集傳輸。具體包括以下幾方面:
關系資料庫:MySQL,SQL Server,DRDS,POLARDB,HybridDB for MySQL,AnalyticDB for PostgreSQL,AnalyticDB for MySQL 2.0,AnalyticDB for MySQL 3.0,PostgreSQL,Oracle,DM
大資料存儲:MaxCompute (ODPS),DataHub,Data Lake Analytics(DLA),Vertica,GBase8a,Hive,Hbase。
半結構化:OSS,HDFS,FTP。
NOSQL:MongoDB,Memcache (OCS),Redis,Table Store (OTS),GDB,Elasticsearch消息隊列:LogHub (日志服務)
實時:MySQL Binlog,Oracle (CDC)
而Sqoop是Hadoop和關系型資料庫(RDBMS)之間互相遷移的工具。支援Hive,Hbase,MySQL,Oracle。
3. 資源問題
DataWorks資料內建:可以通過開通獨享資料內建資源組來解決資料同步過程中資源不足的問題。而Sqoop沒有特定的資源劃分。
4. 開發模式
DataWorks資料內建提供向導模式和腳本模式。如圖所示,可以配置資料來源和資料去向,或者是利用腳本模式配置,而Sqoop提供指令行的模式。
5. 網絡環境
DataWorks資料內建網絡類型包括經典網絡、專有網絡(VPC)和本地IDC網絡:
經典網絡:統一部署在阿裡雲的公共基礎網絡内,網絡的規劃和管理由阿裡雲負責,更适合對網絡易用性要求比較高的客戶。IP位址由阿裡雲統一配置設定,配置簡便,使用友善。
專有網絡:基于阿裡雲建構出一個隔離的網絡環境。與在資料中心運作的傳統網絡相似,托管在VPC内的是私有雲服務資源,比如雲主機、負載均衡和雲資料庫,您可以完全掌控自己的虛拟網絡,包括選擇自有的IP位址範圍,劃分網段以及配置路由表、網關。專有網絡建構了一個隔離的網絡環境,您可以自定義IP位址範圍、網段、網關等參數。也可以通過VPN或專線VPC以資料中心靈活部署混合雲。适用于網絡安全性比較高及有一定網絡管理能力的使用者。
本地IDC網絡
而Sqoop是自身建構機房的網絡環境。
注意事項
1. 添加安全組和白名單
如果您使用的是ECS自建資料庫,則必須添加安全組才能保證資料源連通性正常。如果您使用的是RDS資料源,必須添加白名單才能保證資料連通性正常。為保證資料庫的安全穩定,在開始使用資料庫的執行個體前,您需要将通路資料庫的IP位址或IP段加到目标執行個體的白名單或安全組中。
如何添加安全組?
如果您的ECS上的自建資料源同步任務運作在自定資源組上,需要給自定資源組機器授權,将自定義機器内/外網的IP和端口添加到ECS安全組上。如果您的ECS上的自建資料源運作在預設的資源組上,需要給預設的機器授權。根據您的ECS的機器區域來選擇添加您的安全組内容,例如您的ECS是華北2,安全組便添加華北2(北京):sg-2ze3236e8pcbxw61o9y0和1156529087455811内容,并且隻能在華北2添加資料源。
添加安全組首先要登入雲伺服器ECS的管理控制台。然後進入網絡和安全——>安全組頁面,選擇目标區域。
找到要配置授權規則的安全組,單擊操作列下的配置規則。
填寫添加安全組規則對話框中的配置。如放行端口和授權對象等。
如何添加白名單?根據工作空間所在的區域選擇相應的白名單。目前,部分資料源有白名單的限制,需要對資料內建的通路IP進行放行。例如,RDS、MongoDB和Redis等常見的資料源,需要在相應的控制台對下列IP進行開放。通常添加白名單有以下兩種情況:
(1)同步任務運作在自定資源組上,需要給自定資源組機器授權,将自定義機器内/外網IP添加資料源的白名單清單。
(2)同步任務運作在預設資源組上,需要給底層運作機器授予通路權限,根據您選擇DataWorks的區域來填寫您需要添加的白名單,内容如上表所示。
進入RDS控制台,在頁面左上角,選擇執行個體所在地域。找到目标執行個體,單擊執行個體ID。在左側導航欄中選擇資料安全性。
2. 資料內建的網絡連通
資料同步之前需要打通資料庫網絡問題,可以通過高速通道打通跨地域、跨使用者的VPC、内網或者實體專線連接配接實作雲下的IDC接入雲上。
三、 DataWorks資料內建介紹
阿裡雲重要的PaaS平台産品,為您提供資料內建、資料開發、資料地圖、資料品質和資料服務等全方位的産品服務,一站式開發管理的界面,幫助企業專注于資料價值的挖掘和探索。
DataWorks支援多種計算和存儲引擎服務,包括離線計算MaxCompute、開源大資料引擎E-MapReduce、實時計算(基于Flink)、機器學習PAI、圖計算服務Graph Compute和互動式分析服務等,并且支援使用者自定義接入計算和存儲服務。DataWorks為您提供全鍊路智能大資料及AI開發和治理服務。本文主要介紹資料內建服務,其他功能不一一介紹。
DataWorks資料內建
資料內建是穩定高效、彈性伸縮的資料同步平台,緻力于提供複雜網絡環境下、豐富的異構資料源之間資料高速穩定的資料移動及同步能力;包括20+種異構資料源,支援經典/專有等網絡環境,同步任務排程和監控報警,支援多種同步方式。
離線(批量)的資料通道通過定義資料來源和去向的資料源和資料集,提供一套抽象化的資料抽取插件(Reader)、資料寫入插件(Writer),并基于此架構設計一套簡化版的中間資料傳輸格式,進而實作任意結構化、半結構化資料源之間資料傳輸。
獨享資源組
什麼是獨享資源組?
使用獨享資源組可以解決資料同步過程中的資源不足問題。不僅可以隔離使用者間的資源使用,也可以隔離不同工作空間任務的資源使用。此外,獨享資源也支援靈活的擴容、縮容功能,可以滿足資源獨享、靈活配置等需求。獨享資源組可以通路在同一地域下的VPC資料源,同時也可以通路跨地域的公網RDS位址。
怎麼購買?
DataWorks獨享資源采用包年包月的方式購買,您可以通過産品詳情頁或新增獨享資源兩個入口進行購買:産品詳情頁入口進入DataWorks産品頁面,單擊獨享資源組,即可跳轉至購買頁面。
新增獨享資源入口:登入DataWorks控制台。單擊左側導航欄中的資源組清單,預設進入獨享資源組頁面。如果您在該地域未購買過獨享資源,單擊新增獨享資源組。在新增獨享資源對話框中,單擊訂單号後的購買,即可跳轉至購買頁面。
進入購買頁面後,請根據實際需要,選擇相應的地域、獨享資源類型、獨享排程資源、資源數量和計費周期,單擊立即購買。
在資源組清單——>獨享資源組頁面,單擊相應資源後的修改歸屬工作空間,綁定獨享資料內建資源歸屬的工作空間。
配置資料內建任務時,将預設資源組配置為需要的獨享資料內建資源。通過向導模式配置任務時,在通道控制——>任務資源組下拉框中,選擇相應的獨享資料內建資源。腳本模式時,配置任務資源組下拉框中選擇獨享資料內建資源。
在您的任務沒有把相應的獨享資源組占滿的前提下,可以保證您的任務及時得到響應。具備打通您的VPC、IDC的能力。而且,與預設資源組相比,支援更多類型的資料源。可以被多個DataWorks工作空間共享,實作資源的複用。
特别說明,如果已經打通本地IDC和阿裡雲專有網絡,您可以使用資料內建資源同步任務。請購買獨享資料內建資源後,送出工單進行處理。獨享資料內建資源組不支援跨區域的VPC資料庫同步。如果需要在獨享資料內建資源組上進行添加路由等操作,請送出工單進行申請。使用資料內建獨享資源組時,請保證資料源自身所在機器可以被該資源組綁定的VPC通路。如果有安全攔截,請對相應的白名單放行,即在資料源側的白名單添加該資源組綁定的VPC網段。
資料內建-全程可視化
如圖,從添加資料源到建立資料同步的節點,再到運維中心的監控,都是可以全程監控的。
四、總結
DataWorks資料內建和開源Sqoop都是解決異構環境的資料交換問題,都支援Oracle、Mysql、HDFS、Hive互相轉換,對資料庫的支援都是插件式的,對新增的資料源類型隻需要開發一個插件就行了,Sqoop是工具,資料內建是産品,和DataWorks工作流無縫對接,構成一體化資料加工鍊路。DataWorks和Sqoop都支援離線資料同步,資料內建還支援實時同步,兩者都支援全量增量的資料同步;DataWorks底層是DataX進行資料的抽取及加載,Sqoop底層是MapReduce程式實作抽取,轉換,加載;DataWorks支援關系型資料庫、大資料存儲,半結構化,NOSQL,消息隊列等,Sqoop是Hadoop和關系型資料庫(RDBMS)之間互相遷移的工具;DataWorks支援獨享資源組/自定義資源組,Sqoop沒有特定的資源劃分;DataWorks支援向導模式/腳本模式,Sqoop支援指令行模式;DataWorks支援經典網絡、專有網絡、本地IDC,Sqoop是自身建構機房的網絡環境。
歡迎加入“MaxCompute開發者社群2群”,點選連結MaxCompute開發者社群2群申請加入或掃描二維碼