sqoop原理

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的支持不是特别的好 第三关 无例难成米 在原有的目录下进行追加,目录可以存在,可以重复运行。

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

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
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 ","
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";
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
/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数据中最好不要有像 ’ 等特殊字符,不然可能会报无法解析

就先这些啦!呼呼~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

Qt数据库sqlite总结

第四:QSqlTableModel  继承QSqlQueryModel类  --该类提供了一个可读写单张SQL表的可编辑数据模型,功能:修改,插入,删除,查...

2692
来自专栏对角另一面

读Zepto源码之Gesture模块

Gesture 模块基于 IOS 上的 Gesture 事件的封装,利用 scale 属性,封装出 pinch 系列事件。 读 Zepto 源码系列文章已经放到...

2350
来自专栏圣杰的专栏

Asp.net mvc 知多少(六)

本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想...

2435
来自专栏布尔

Ext的组件模型印象

组件模型在Ext1.x中已经引入了,但在框架中并没有得到全面的整合。2.0以后组件得到了很大的提高和改进,成为了框架的里最基础的一个类。组件对象模型为组件的创建...

17910
来自专栏圣杰的专栏

Asp.net mvc 知多少(七)

本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想...

2255
来自专栏新工科课程建设探讨——以能源与动力工程专业为例

2.3.2 基于bootstrap框架写加法器

    什么是bootstrap?一套用js和CSS编写的框架模板,自己组装一下就可以编写比较美观的网页。官当介绍是组件库:

933
来自专栏Flutter入门

Flutter入门三部曲(1) - 基础认识

image.png 看到整体的架构图,它是由dart完成上层的framework,然后由通过skia来完成图形的绘制。

9536
来自专栏游戏杂谈

Unity的RuntimeInitializeOnLoadMethod属性初探

Unity 5.0开始增加了RuntimeInitializeOnLoadMethodAttribute,这样就很方便在游戏初始化之前做一些额外的初始化工作,比...

531
来自专栏宏伦工作室

解放你的双手,陪爸妈看春晚去!

1792
来自专栏Flutter入门

Flutter入门三部曲(1) - 基础认识

看到整体的架构图,它是由dart完成上层的framework,然后由通过skia来完成图形的绘制。

1200

扫码关注云+社区