sqoop hive导出mysql 能不能具体到列

 我来答
从空去听8
2017-11-16 · TA获得超过7439个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5501万
展开全部
直接在mysql里从本地文件系统导入数据
mysql》LOAD DATA LOCAL INFILE 'C:\\Users\\asys\\Documents\\Tencent Files\\13174605\\FileRecv\\2015082818' INTO TABLE track_log
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'; (注意这里文件是从linux导出的,以\n结尾)
sqoop从hive导出数据到mysql
先在mysql建立表
grant all privileges on *.* to 'root'@'%' identified by 'Nokia123' with grant option;

CREATE TABLE `track_log` (
`id` varchar(1000) DEFAULT NULL,
`url` varchar(5000) DEFAULT NULL,
`referer` varchar(5000) DEFAULT NULL,
`keyword` varchar(5000) DEFAULT NULL,
`type` varchar(1000) DEFAULT NULL,
`guid` varchar(1000) DEFAULT NULL,
`pageId` varchar(1000) DEFAULT NULL,
`moduleId` varchar(1000) DEFAULT NULL,
`linkId` varchar(1000) DEFAULT NULL,
`attachedInfo` varchar(1000) DEFAULT NULL,
`sessionId` varchar(1000) DEFAULT NULL,
`trackerU` varchar(1000) DEFAULT NULL,
`trackerType` varchar(1000) DEFAULT NULL,
`ip` varchar(1000) DEFAULT NULL,
`trackerSrc` varchar(1000) DEFAULT NULL,
`cookie` varchar(5000) DEFAULT NULL,
`orderCode` varchar(1000) DEFAULT NULL,
`trackTime` varchar(1000) DEFAULT NULL,
`endUserId` varchar(1000) DEFAULT NULL,
`firstLink` varchar(1000) DEFAULT NULL,
`sessionViewNo` varchar(5000) DEFAULT NULL,
`productId` varchar(1000) DEFAULT NULL,
`curMerchantId` varchar(1000) DEFAULT NULL,
`provinceId` varchar(1000) DEFAULT NULL,
`cityId` varchar(1000) DEFAULT NULL,
`ds` varchar(20) DEFAULT NULL,
`hour` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

然后运行sqoop
jimmy》sqoop export --connect jdbc:mysql://localhost:3306/track_log --username root --password Nokia123 --table track_log --export-dir "/user/hive/warehouse/track_log/ds=20150828/hour=18" --fields-terminated-by '\t' --columns "id, url,referer,keyword,type,guid,pageId,moduleId,linkId,attachedInfo,sessionId,trackerU,trackerType,ip,trackerSrc,cookie,orderCode,endUserId,firstLink,sessionViewNo,productId,curMerchantId,provinceId,cityId,ds ,hour"

注意: 1)--table track_log 是目的mysql的表,库在链接指定(这里库名也叫track_log) --connect jdbc:mysql://localhost:3306/track_log
2) 不能直接从hive表里导出(不能--hive-table),只能从hdfs导出
3)必须指定字段--columns
4)字段分割符号要和hdfs文件里的一致 --fields-terminated-by '\t'
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式