Sqoop資料ETL工具(九) 阿新 • • 發佈:2018-11-26 19.9 使用Sqoop將資料匯入MySQL 要求: MySQL服務啟動且執行正常,命令為: [[email protected] ~]$ /etc/init.d/mysqld status Hadoop叢集啟動且執行正常,命令為: [[email protected] ~]$ jps 將前面生成的實時資料從HDFS匯入到MySQL中,步驟如下: 以下操作都是在MySQL互動客戶端執行。 (1)登入MySQL mysql -uhadoop -phadoop (2)建立資料庫 檢視test資料庫是否存在: show databases; 如果不存在就建立: create database test; (2)建立表 create TABLE `test`.`uid_cnt` (`ts` varchar(255) DEFAULT NULL, `uid` varchar(255) DEFAULT NULL, `keyword` varchar(255) DEFAULT NULL, `rank` int(11) DEFAULT NULL,`ord` int(11) DEFAULT NULL, `url` varchar(255) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; 提示:語句中的引號是反引號`,不是單引號’。 建立成功後,退出MySQL。 (3)匯入資料 進入sqoop安裝主目錄: [[email protected] ~]$ cd /home/zkpk/sqoop-1.4.5.bin__hadoop-2.0.4-alpha 匯入命令: [[email protected] sqoop-1.4.5.bin__hadoop-2.0.4-alpha]$ bin/sqoop export --connect jdbc:mysql://192.168.204.135:3306/test --username hadoop --password hadoop --table uid_cnt --export-dir '/sogou/sogou.100h' --fields-terminated-by '\t' 注意:紅色IP部分需要使用HadoopMaster節點對應的IP地址 程式碼解釋: bin/sqoop export ##表示資料從hive複製到mysql中\ --connect jdbc:mysql://192.168.1.113:3306/test \ --username root \ --password admin \ --table bb ##mysql中的表,即將被匯入的表名稱 \ --export-dir '/user/hive/warehouse/sogou.db/uid_cnt' ##hive中被匯出的檔案 \ --fields-terminated-by '\t' ##hive中被匯出的檔案欄位的分隔符 (4)匯出資料 # 匯入HDFS bin/sqoop import --connect jdbc:mysql://192.168.204.135:3306/test --username hadoop --password hadoop --table uid_cnt -m 1 hadoop fs -cat /user/zkpk/uid_cnt/part-m-00000(預設到/user/zkpk)