第十一章目录

第十一章 Sqoop

sqoop本质是一款使用MR进行数据迁移的工具。

目前业界普遍用1.4.6版本,该版本与CDH集成。

hive对外的一个统一存储格式的接口,使用hcatalog对接到hive的数据不需要担心数据在hive中的存储格式和存储位置。sqoop在1.4.4版本后集成了HCatalog

11.1 sqoop导入数据到hive

11.1.1 sqoop+hcatalog

  #使用建表的方式增量导入hive orc;#如果已经使用hcatalog,则hive-import系列的指定全都不能用,否则报错;和--hcatalog-storage-stanza,存储格式和压缩格式会自动对齐hive表的配置sqoop import --connect jdbc:mysql://127.0.0.1:3306/test --username your_user_name --password 123456--table table_name --driver com.mysql.jdbc.Driver #用sql语句只支持简单查询,使用子查询或连接查询可能查出错误结果;如果指定-split by,必须使用$CONDITIONS关键字,双引号的查询语句还要加\--query "SELECT a.*, b.* FROM a JOIN b on (a.id == b.id) WHERE \$CONDITIONS" \​#hcatalog-storage-stanza 建表时追加存储格式到建表语句中,tblproperties修改表的属性,这里设置orc的压缩格式为gzip#如果表已经存在,必须去掉create-hcatalog-table 和hcatalog-storage-stanza--create-hcatalog-table--hcatalog-storage-stanza 'stored as orc tblproperties ("orc.compress"="gzip")'​--hcatalog-database test--hcatalog-table table_name #keys和values必须同时存在,相当于静态分区;--hcatalog-partition-keys month,day --hcatalog-partition-values 12,09 ​#以自增长主键作增量导入--incremental append--check-column order_id--last-value 5201314#以时间字符串为条件增量导入--incremental lastmodified --check-column time --last-value “2014-11-09 21:00:00”#指定mysql数据为空值时用什么符号存储--null-string '\\N'--null-not-string '\\N'#设置无视字符串中的分割符(hcatalog默认开启)--hive-drop-import-delims#-m不为1时,需要指定分片字段进行并行导入,尽量指定int型--split-by key-m 3

11.1.2 sqoop->hdfs->hive

不使用hcatalog和hive,导入orc表的方法(老业务可能使用)

  1.先导入数据到hdfssqoop job --create bap_us_order -- import \--connect jdbc:mysql://master:3306/qfbap_ods?dontTrackOpenResources=true\&defaultFetchSize=1000\&useCursorFetch=true \--driver com.mysql.jdbc.Driver \--username root \--password-file hdfs:///password.file \--table us_order \--target-dir /qfbap/ods_tmp/ods_us_order/ \--fields-terminated-by '\001' \--check-column order_id \--incremental append \--last-value 0 \​2.load数据到临时表中3.将临时表数据查出来插入到orc表中insert into table ods_table partition(dt) select * from table

11.2 sqoop导出数据到mysql

  sqoop export \--hcatalog-database temp \--hcatalog-table js_pianyuan_orc \--hcatalog-partition-keys curdate \--hcatalog-partition-values 20180122 \--connect jdbc:mysql://ip:3306/test \--username username \--password passwd --m 10\--table js_pianyuan#把'\\'N视作空值--input-null-string '\\N'--input-null-non-string '\\N'#以更新的方式导出数据(key不存在时允许新增)--update-key id--update-mode allowinsert#导出时默认使用4个并行任务#-m 1#批量导出--batch#导出作业遵循最少一次语义,因此可能有数据重复,这里可以设置开启暂存临时表,临时表可清理。如果是更新作业就没必要用这个。#--staging-table#--clear-staging-table

更多sqoop相关:http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_sqoop_hcatalog_integration

大数据笔试真题集锦---第十一章:Sqoop面试题相关推荐

  1. linux覆盖文件如何还原_大数据笔试真题集锦---第十九章Linux面试题

    我会不间断的更新,维护,希望可以对正在找大数据工作的朋友们有所帮助. 第十九章目录 第十九章 Linux 19.1 Linux中.如何调整文件最大打开数 修改linux的软硬件限制文件/etc/sec ...

  2. linux覆盖文件如何还原_大数据笔试真题集锦-——第十九章Linux面试题

    第十九章目录 第十九章 Linux 19.1 Linux中.如何调整文件最大打开数 修改linux的软硬件限制文件/etc/security/limits.conf. 在文件尾部添加如下代码: * s ...

  3. sql怎么实现取当前数据以及累计7天数据_年薪60万+大佬吐血整理字节跳动大数据面试真题...

    字节的面试难度一直很高,所以一直是我想攻克的目标,定下这个目标后就去准备收集了几十个字节实际面经,还包括面试前都需要做哪些准备.只能说是工欲善其事必先利其器,经过这些周全的准备,最终的面试还是很顺利的 ...

  4. 查看某个分区之前所有的数据_腾讯大数据面试真题汇总

    腾讯面试题 学长1 1)笔试部分 (1)有一表名t_sh_mtt_netdisk_log,从表名可以看出该表是什么业务的,是什么周期粒度的表. (2)怎么查看表结构,表创建语句?怎么查看表有哪些分区? ...

  5. 面试系列一:精选大数据面试真题10道(混合型)-附答案详细解析

    本公众号(五分钟学大数据)将推出大数据面试系列文章-五分钟小面试,此系列文章将会深入研究各大厂笔面试真题,并根据笔面试题扩展相关的知识点,助力大家都能够成功入职大厂! 大数据笔面试系列文章分为两种类型 ...

  6. 185 道必须掌握的大数据面试真题(附答案)

    当今时代,跳槽确实是大部分人升职加薪最快的方式,特别是职业生涯初期.说起来也是很无奈,公司经常是宁愿花更多的钱来请个新人也不愿意加薪留住老人. 面试了 N 多公司之后,我发现其实问来问去也就那几个知识 ...

  7. oracle批量update数据_东方国信大数据面试真题

    东方国信 学长1 Hadoop工程师笔试题(金融事业部) 1)技术基础题(共十题,每题5分) (1)列举在Linux系统下可以在看系统各项性能的工具(区分CPU.内存.硬盘.网络等) (2)HDFS写 ...

  8. 精选大数据面试真题10道(附答案详细解析)

    大数据笔面试系列文章分为两种类型:混合型(即一篇文章中会有多个框架的知识点-融会贯通):专项型(一篇文章针对某个框架进行深入解析-专项演练). 此篇文章为系列文章的第一篇(混合型) 第一题:大数据笔试 ...

  9. 【面试题】京东大数据面试真题汇总,收藏必备

    今年冬天冷的好慢,现在空气中吹的风还是暖的... 京东大数据面试题 _ hive中都有哪些join操作? left join:以左侧为主表,返回记录与主表记录数相同,关联不上的字段为空. right ...

最新文章

  1. 数据蒋堂 | JOIN延伸 - 维度查询语法
  2. 列标题 如何删除gridcontrol_DEV控件GridControl常用属性设置(转)
  3. 为提高访问速度建立本地文件服务器,html5 Application Cache——加快简历二次访问速度...
  4. 为什么python用不了中文_【TK例子】为什么不显示中文
  5. Offline spike sorter 神经元脉冲单位分类软件
  6. 码农身份得到正式认证
  7. 【渝粤教育】电大中专幼儿园组织与管理 (10)作业 题库
  8. C#设计模式之14-命令模式
  9. 9.logstash
  10. 模拟电子技术基础 思维导图
  11. 申请计算机助理的英语作文,各位帮我找一篇英文申请信大学英语作文,申请助理..._口译笔译考试_帮考网...
  12. win10服务器cpu占用过高,解决win10服务主机内存和cpu高占用的解决方法
  13. 安装Photoshop后,打开方式里没有“Photoshop”选项的解决办法
  14. php每四位隔开,php数字每三位加逗号的功能函数
  15. 如何一次性改变word中的数字和字母的字体属性
  16. 从包工头到程序猿(六)汶川地震
  17. 字符串拼接函数的实现(简易版)
  18. scrapy爬虫-代理设置
  19. c语言英文版孤独怎么说,孤单英文句子 关于“孤独”的英语句子有哪些?
  20. 使用OpenTSDB进行Grafana视图展现

热门文章

  1. 新手自媒体找素材必备的5个素材网站。
  2. Python调用ffmpeg对视频抽帧
  3. 【Unity3D入门教程】鼠标和键盘输入与控制
  4. 物联网 - 从零到一实现新手入门
  5. c语言中int什么意思以及什么是无符号和有符号整型
  6. 重磅 | 就在刚刚,吴恩达最新的《AI 转型指南》正式出炉!
  7. 孔乙己:你可知道页面和弹窗“通信“的方式有四种?
  8. (二)快速图像风格转换
  9. oracle12c安装卡住_oracle12c安装,oracle12c安装第一步卡死
  10. c语言实现通讯录管理