前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sqoop原理

sqoop原理

作者头像
shengjk1
发布2018-10-24 15:27:01
2.1K0
发布2018-10-24 15:27:01
举报
文章被收录于专栏:码字搬砖码字搬砖

sqoop,各位看官基本上都了解或者听说过,小二就不进行废话了。另外基于国内大部分用的为CDH,小二就想说一点:CDH中的sqoop2其实是apace版的sqoop1,聪明的看官不要被表面所迷惑了.

第一关:无图无真相

这里写图片描述
这里写图片描述

第二关:无错不欢 一般会有四类问题 1.缺少jdbc导致错误 2.无法解析的错误 一般会有一下这几种情况: a.分割符的问题 要么分割符不正确,要么就是数据不纯,有特殊字符 b.mysql库和hive库中的表结构不一致. c.mysql字段长度不够。 d.字段格式不匹配。 e.mysql与hive中的字段不对应 顺序、数目 f.mysql数据库处于锁表中 3.数据倾斜 解决办法: 1.增大m数,缓解数据倾斜 2.了解数据分布,更改–split-by,或者进行表的拆分 4.–split-by 非主键时要特别注意NULL,另外内–split-by对于非数字类型的比如varchar的支持不是特别的好 第三关 无例难成米 在原有的目录下进行追加,目录可以存在,可以重复运行。

代码语言:javascript
复制
import --append --connect jdbc:mysql://hadoop-7:3306/test --username root --password 123456 --table cae01_psnmrtginfo_chenx --target-dir /usr/input/db -m 1

mysql导入到hive

代码语言:javascript
复制
sqoop  import --connect jdbc:mysql://192.168.2.23:3306/testdb  -- username root --password hadoop --table dwd_icc_clnt_bkinfo  --hive-database dsc_dwd  --hive-table dwd_icc_clnt_bkinfo  --hive-import --hive-overwrite  --null-string '\\N' --null-non-string '\\N' -m 1
代码语言:javascript
复制
sqoop import --append --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000 --table userinfos --columns "id,age,name"  --where "id > 3 and (age = 88 or age = 80)"  -m 1  --target-dir /user/hive/warehouse/userinfos2 --fields-terminated-by ","
代码语言:javascript
复制
sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table users --username dyh  --password 000000 --hive-table users  --fields-terminated-by "\0001"  --lines-terminated-by "\n";
代码语言:javascript
复制
sqoop export --connect "jdbc:mysql://192.168.2.23/test/CCS_CUSTOMER:3306/buzi_data_tm?useUnicode=true&characterEncoding=utf-8" --username root  --password hadoop  --table dws_dsst_t_user --export-dir /user/hive/warehouse/dsc_dws.db/dws_i_ccs_ccs_customer/date=20151111  --input-fields-terminated-by '|' --input-null-non-string '\\N' --input-null-string '\\N' -m 1
代码语言:javascript
复制
/usr/bin/sqoop    import   -libjars /home/admin/packages/data_import/201512301112/config/../lib/ojdbc6-11.2.0.2.0.jar   --connect 'jdbc:oracle:thin:@192:1555:test' --username root--password 123456   --query 'select LAST_MODIFY_TIME from RMPS.TM_RULE'  --split-by id --target-dir /user/hdfs/RMPS.TM_RULE --hive-database raw_datas --hive-table a_RMPS_rmps_TM_RULE_20151230 --hive-import -m 1 --hive-delims-replacement \30 --null-string '\\N' --null-non-string '\\N'

最后一关:注意打Boss 1.用sqoop数据中最好不要有像 ’ 等特殊字符,不然可能会报无法解析

就先这些啦!呼呼~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档