Sqoop 架構解析及Sqoop1與Sqoop2比較

概述

Sqoop是Hadoop和關係數據庫服務器之間傳送數據的一種工具。它是用來從關係數據庫如:MySQL,Oracle到Hadoop的HDFS,並從Hadoop的文件系統導出數據到關係數據庫。
傳統的應用管理系統,也就是與關係型數據庫的使用RDBMS應用程序的交互,是產生大數據的來源之一。這樣大的數據,由關係數據庫生成的,存儲在關係數據庫結構關係數據庫服務器。
當大數據存儲器和分析器,如MapReduce, Hive, HBase, Cassandra, Pig等,Hadoop的生態系統等應運而生圖片,它們須要一個工具來用的導入和導出的大數據駐留在其中的關係型數據庫服務器進行交互。在這裏,Sqoop佔據着Hadoop生態系統提供關係數據庫服務器和Hadoop HDFS之間的可行的互動。
Sqoop:「SQL 到 Hadoop 和 Hadoop 到SQL」
Sqoop(發音:skup)是一款開源的工具,主要用於在Hadoop(Hive)與傳統的數據庫(mysql、postgresql...)間進行數據的傳遞,能夠將一個關係型數據庫(例如 : MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也能夠將HDFS的數據導進到關係型數據庫中。
下圖描述了Sqoop的工做流程。mysql

Sqoop導入
導入工具從RDBMS到HDFS導入單個表。表中的每一行被視爲HDFS的記錄。全部記錄被存儲在文本文件的文本數據或者在Avro和序列文件的二進制數據。
Sqoop導出
導出工具從HDFS導出一組文件到一個RDBMS。做爲輸入到Sqoop文件包含記錄,這被稱爲在表中的行。那些被讀取並解析成一組記錄和分隔使用用戶指定的分隔符。sql

sqoop1與sqoop2對比

兩代之間是兩個徹底不一樣的版本,不兼容 
sqoop1:1.4.x 
sqoop2:1.99.x
sqoop2比sqoop1的改進
(1) 引入sqoop server,集中化管理connector等 
(2) 多種訪問方式:CLI,Web UI,REST API 
(3) 引入基於角色 的安全機制數據庫

相關文章
相關標籤/搜索