更新時間:2021-08-06 來源:黑馬程序員 瀏覽量:
如果Hadoop集群中部署了Hive服務,并且在Sqoop服務的sqoop-env.sh文件中配置了Hive的安裝路徑,那么也可以通過Sqoop工具將MySQL表數(shù)據(jù)導入Hive表中。
將MySQL表數(shù)據(jù)導入到Hive文件系統(tǒng)中,具體指令示例如下。
$ sqoop import \ --connect jdbc:mysql://hadoop01:3306/userdb \ --username root \ --password 123456 \ --table emp_add \ **--hive-table itcast.emp_add_sp** \ **--create-hive-table** \ **--hive-import** \ --num-mappers 1
上述指令中,“--hive-table itcast.emp_add_sp”用于指定上傳到Hive上的目標地址為itcast數(shù)據(jù)倉庫的emp_add_sp表中,這里必須提前創(chuàng)建對應的itcast數(shù)據(jù)倉庫;“--create-hive-table”用于指定自動創(chuàng)建指定的目標Hive表(即emp_add_sp表),如果表已存在,則執(zhí)行失??;“--hive-import”用于將對應的MySQL表(即emp_add表)導入Hive中進行數(shù)據(jù)映射。
執(zhí)行上述指令后,可以連接到Hive客戶端查看Hive數(shù)據(jù)倉庫表數(shù)據(jù),結果如圖1所示。
圖1 查看導入Hive表數(shù)據(jù)
從圖1看出,Sqoop成功將MySQL表數(shù)據(jù)導入了Hive中,也可在HDFS UI界面查看,如圖2所示。
圖2 Hive表文件路徑
從圖2可以看出,Hive表數(shù)據(jù)是一個MapReduce的結果文件,從命名可以看出,本次MapReduce作業(yè)只進行了Map階段。
猜你喜歡: