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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

datax 导入数据中文乱码_浅谈数据同步之道

發布時間:2023/12/19 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 datax 导入数据中文乱码_浅谈数据同步之道 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據同步,顧名思義就是不同系統的數據進行同步處理。而業務系統所涉及的數據庫同步是重中之重,雖然大部分數據庫都提供了導入導出的工具,但是數據存儲到各個地方,Hive、Hbase、MySQL、Oracle 等各種各樣的不同數據庫,然而要把數據同步到指定不同類型的存儲庫是非常麻煩。那該如何統一實現數據源同步?下面介紹幾種常用的同步的方案和工具。

1、Sqoop

Apache Sqoop 是一種工具,用于在 Apache Hadoop 和外部數據存儲(如關系數據庫,企業數據倉庫)之間高效傳輸批量數據。

Sqoop 用于將數據從外部數據存儲導入 Hadoop Hdfs 或 Hive 和 HBase 等相關 Hadoop 生態系統。同樣,Sqoop 還可用于從 Hadoop 或其生態系統中提取數據,并將其導出到外部數據存儲區,如關系數據庫、數據倉庫。Sqoop 適用于 Oracle,MySQL,Postgres 等關系數據庫。

Sqoop 數據導入命令示例如下。

sqoop import -connect jdbc:mysql://localhost:3306/sqoop -username root -password 123456 -table emp_etl -m 3 -hive-import -create-hive-table -hive-table emp_mysql

通過命令行界面執行 Sqoop 命令。也可以使用 Java API 訪問 Sqoop。Sqoop 解析命令行生成 MapRedure 并只啟動 Hadoop Map 作業以導入或導出數據,因為只有在需要聚合時才需要 Reduce 階段。Sqoop 只是導入和導出數據, 它沒有做任何聚合。

映射作業根據用戶定義的數量(-m 3)啟動多個映射器。對于 Sqoop 導入,將為每個映射器任務分配一部分要導入的數據。Sqoop 在映射器之間平均分配輸入數據以獲得高性能。然后,每個映射器使用 JDBC 創建與數據庫的連接,并獲取由 Sqoop 分配的數據部分,將其寫入 HDFS 或 Hive 或 HBase。

2、Datax

DataX 是阿里開發的一個異構數據源離線同步工具,致力于實現包括關系型數據庫(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各種異構數據源之間穩定高效的數據同步功能。

DataX 本身作為離線數據同步框架,采用 Framework + plugin 架構構建。將數據源讀取和寫入抽象成為 Reader/Writer 插件,納入到整個同步框架中。

Reader:為數據采集模塊,負責采集數據源的數據,將數據發送給 Framework。

Writer: 為數據寫入模塊,負責不斷向 Framework 取數據,并將數據寫入到目的端。

Framework:用于連 接reader 和writer ,作為兩者的數據傳輸通道,并處理緩沖,流控,并發,數據轉換等核心技術問題。

Datax 使用比較簡單,只下載 Datax 解壓,配置需要運行環境,通過命令運行寫好的 json 文件既可以執行任務,另外可以通過二次開發插件支持新的數據源類型,易拓展。

{"job": {"content": [{"reader": {"name": "xxxreader",...},"writer": {"name": "xxxwriter",...}}],...} }

3、Canal

無論是 Sqoop 還是 Datax 都是屬于離線同步, 不支持實時的數據抽取。這里說個 MySQL 數據庫的同步組件
Canal,非常便捷地將 MySQL 中的數據抽取到任意目標存儲中。

原理就是 Canal 偽裝成 MySQL 從節點,讀取 MySQL 的 binlog(一個二進制格式的文件,它記錄了數據庫的所有改變,并以二進制的形式保存在磁盤中。),生成消息,客戶端訂閱這些數據變更消息,處理并存儲。只要開發一個 Canal 客戶端就可以解析出 MySQL 的操作,再將這些數據發送到大數據流計算處理引擎,即可以實現對 MySQL 實時處理。

4、kettle

Kettle 是一款開源的 ETL 工具,實現對各種數據源讀取,操作和寫入數據,Kettle 無需安裝解壓即可使用,可通過客戶端進行配置和執行作業。Kettle 中有兩種腳本文件,transformation 和 job,transformation 完成針對數據的基礎轉換,job 則完成整個工作流的控制。

5、Informatica PowerCenter

Informatica PowerCenter 是世界級的 企業數據集成平臺,從異構的已有系統和數據源中抽取數據,用來構建和管理企業的數據倉庫,從而幫助企業做出快速、正確的決策。此產品為滿足企業級要求而設計,可以提供企業部門的數據和非關系型數據之間的集成,如XML,網站日志,關系型數據,主機和遺留系統等數據源。

小結

那我們該如何選擇合適同步的工具。大數據平臺是與 Hadoop 集群相掛鉤,在離線同步一般選擇 Sqoop,Sqoop 從一開始就是為大數據平臺的數據采集業務服務,而且作為 Apache 頂級的項目,Sqoop 比起 Datax 更加可靠,如果涉及阿里自身的數據庫系列選擇 Datax 是一個不錯的選擇。在實時同步數據,一般采用 Kafka 作為中間組件,跟 Canal 結合實現 MySQL 到 Hive 增量數據同步。kettle 和 Informatica PowerCenter 一般在建設數倉中使用,通過客戶端配置 ETL 任務定制。

總結

以上是生活随笔為你收集整理的datax 导入数据中文乱码_浅谈数据同步之道的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。