【数据平台】sqoop支持hive和mysql互导的基本语句格式
生活随笔
收集整理的這篇文章主要介紹了
【数据平台】sqoop支持hive和mysql互导的基本语句格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1)從mysql導入到hive的命令格式:
sqoop import --connect jdbc:mysql://127.0.0.1:3306/dbname --username mysql(mysql用戶名) --password 123456(密碼) --table student(mysql上的表) --hive-import -m 1導入到hive默認的default庫,指定數據庫可以設置--hive-database 參數
2)從hive導入到mysql的命令格式:
全部導入:
Sqoop export --connect jdbc:mysql://127.0.0.1:3306/dbname --username mysql(mysql用戶名) --password 123456(密碼) --table student(mysql上的表) --columns "id,name,age" --hcatalog-database sopdm(hive上的schema) --hcatalog-table student(hive上的表)
3)分享一個案例,花了一天時間摸索的,比較坑爹,希望對后來者有參考作用
第一步:在mysql建表,字段中包含:
`from` varchar(255),`target` varchar(255),`click_event` varchar(255),`sessionid` varchar(255),第二:在集群上執行sqoop sqoop export --connect "jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8" --username mysql用戶名 --password mysql密碼 --table mysql表 -fields-terminated-by '\001' --input-null-string "\\\\N" --input-null-non-string "\\\\N" --export-dir /user/hive/warehouse/db/hive表hdfs路徑 --update-key resourceid --update-mode allowinsert
然后一直提示: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from, target, click_event' at line 1
然后一直不斷建表(核對字段、分隔符、數據類型等),研究sqoop的export參數設置,想想各種空值處理,一直不成功。
第三步:終極方案,想當郁悶,from字段改名即可,如下:
`upfrom` varchar(255),`target` varchar(255),`click_event` varchar(255),`sessionid` varchar(255),
總結
以上是生活随笔為你收集整理的【数据平台】sqoop支持hive和mysql互导的基本语句格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据平台】关于Hadoop集群name
- 下一篇: 【知识发现】python开源哈夫曼编码库