sqoop基本知識

2021-10-04 13:09:01 字數 1058 閱讀 9436

最早 資料儲存是基於傳統關係型資料庫。隨著資料量增長,傳統的資料儲存方式無法滿足需求,換一種新的儲存策略。 hdfs 分布式儲存 應運而生。但傳統的關係型資料庫(mysql /oracle)裡所儲存的資料, 需要遷移到大資料平台。sqoop應運而生。sqoop 是 apache 旗下一款hadoop 和關聯式資料庫伺服器之間傳送資料的工具。

sqoop是做資料遷移的。本質還是乙個命令列工具,和 hdfs, hive 相比,並沒有什麼高深的理論。

如果以大資料平台為中心

資料遷入 import: 是指將資料從 mysql或oracle 平台遷移到 hadoop平台。

資料遷出 export: 是指將資料從 hadoop平台遷移到 mysql或oracle 平台。

eg:hive 資料分析的結果,如果要進行視覺化展示,一般存入mysql中。

廣義hadoop平台包括:hdfs、hive、hbase

sqoop工作的本質是:將sqoop命令轉換為mapreduce任務。在翻譯出的 mapreduce 中主要是對 inputformat 和 outputformat 進行定製。

map端:

普通的mr,資料輸入,使用 fileinputformat:只能針對文字進行讀取。

map:longwritable

key:text

因為是從masql讀取,因此需要重新定義輸入:

使用dbinputformat:將資料庫的資料, 一行一行的讀取過來

map() ,不再需要reduce()

資料遷入的本質,相當於重新定義了資料輸入類(使用dbinputformat),在執行過程中,只需要maptask。

map端:   

輸入不用變,依然使用 fileinputformat: 一行一行地讀取資料

map()

資料的遷出,相當於重新定義了outputformat,只需要maptask。

Oracle 基本知識

乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應存放資料字典 每個資料庫最少有兩個聯機日誌組,每組最少乙個聯機日誌檔案 乙個資料...

Oracle 基本知識

乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被...

Oracle 基本知識

oracle 文章摘要 oracle 基本知識。正文 oracle 基本知識 乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資...