我是靠谱客的博主 繁荣野狼,最近开发中收集的这篇文章主要介绍sqoop导出hive表数据到mysql,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

直接在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'

          

最后

以上就是繁荣野狼为你收集整理的sqoop导出hive表数据到mysql的全部内容,希望文章能够帮你解决sqoop导出hive表数据到mysql所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部