Sqoop是一款開源的工具主要用於在Hadoop(Hive,HBasw)與傳統的數據庫(mysql、postgresql...)間進行數據的傳遞,可以將一個關係型數據庫(例如
MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關係型數據庫中。
將各種關係型數據導入Hive中,其實大同小異,這裏就以Oracle數據爲例,將Oracle中的數據導入到Hive中。共分爲兩個步驟:
第一步:用Sqoop命令將關係型數據庫中表結構複製到Hive中,只是複製表結構,不復製表中的內容:
sqoop create-hive-table --connect jdbc:oracle:thin:@192.168.8.110:1521:orcl --table A1 --username sky --password 123456 --hive-table a11
其中A1是Oracle數據庫中的表名稱,a11則是在Hive中創建的相對應的表名稱。
第二步:通過sqoop將關係型數據庫表中的數據導入到Hive的表中
sqoop import --connect jdbc:oracle:thin:@192.168.8.110:1521:orcl --username sky --password 123456 --table A1 --hive-import -hive-table
a11 -m 8
注意事項:Oracle數據庫中的表A1必須大寫,否則會報錯。