Sqoop

sqoop是把关系型数据库数据和HDFS互导的工具,以HDFS为中心,导入到HDFS用import,从HDFS导出用export

实例分析

Sqoop数据导入到HDFS

  1. 查看所有库的命令
sqoop list-databases --connect jdbc:mysql://dt100:3306 -username root -password 123123
  1. 查看某个库的表的命令
sqoop list-tables --connect jdbc:mysql://dt100:3306/bysj -username root -password 123123
  1. 导入表到HDFS的脚本及分析
#!/bin/bash
/opt/module/sqoop/bin/sqoop import \
--connect jdbc:mysql://dt100:3306/bysj \
--username root \
--password 123123 \
--table blog \
--columns id,title \
--where "id>=2 and id<=8" \
--target-dir=/test \
--delete-target-dir \
--num-mappers 2\
--split-by id \
--fields-terminated-by '\t'

sql查询形式 (注意必须要加上$CONDITIONS)

#!/bin/bash
/opt/module/sqoop/bin/sqoop import \
--connect jdbc:mysql://dt100:3306/bysj \
--username root \
--password 123123 \
--query "select id,title from blog where id>=2 and id<=10 and \$CONDITIONS" \
--target-dir=/test \
--delete-target-dir \
--num-mappers 2\
--split-by id \
--fields-terminated-by '\t'
  1. 分析

#连接到目标表并选择条件
–connect jdbc:mysql://dt100:3306/bysj
–username root
–password 123123
–table blog
–columns id,title
#出现空格需要加引号,如果有变量则一定是双引号
–where “id>=2 and id<=8”
#目标文件夹
–target-dir=/test
#如果目标文件夹存在则删除
–delete-target-dir
#优化语句(设置mapper个数)和切分规则,因为sqoop实质上就是一个只有map过程的MR
–num-mappers 2
–split-by id
#设置字段分隔符
–fields-terminated-by ‘\t’

  1. 结果
    blog表

    hdfs文件 导入成功

通常情况下,我们每天导入数据,就需要写一个脚本,以下是sqoop导入的一个基础脚本

#!/bin/bash
if [-n "$2"]; thendo_date=$2
elsedo_date=$(date -d '-1 day'+%F)
fi
import_data(){/opt/module/sqoop/bin/sqoop import \
--connect jdbc:mysql://dt100:3306/bysj \
--username root \
--password 123123 \
--query "$2 and \$CONDITIONS" \
--target-dir=/test/$1/$do_date \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by '\t' \
--null-string '\\N' \
--null-not-string '\\N'
}
import_blog(){import_data blog "select id,title from blog where 1=1"
}
case $1 in "yes")import_blog
;;
"no")
;;
esac

解析部分

shell if中的-n 代表不为空
\\N 第一个\代表转义,\N代表NULL

sqoop 数据导入HDFS相关推荐

  1. sqlserver数据导入hdfs和hive的解决方案

    sqlserver数据导入hdfs和hive的解决方案 参考文章: (1)sqlserver数据导入hdfs和hive的解决方案 (2)https://www.cnblogs.com/viviman/ ...

  2. sqoop增量导入hdfs和导出

    增量导入 在实际工作当中,数据的导入,很多时候都是只需要导入增量数据即可,并不需要将表中的数据全部导入到hive或者hdfs当中去,肯定会出现重复的数据的状况,所以我们一般都是选用一些字段进行增量的导 ...

  3. 查看使用linkedIn Camus 把Kafka中的数据导入HDFS中生成的.deflate文件

    在使用Camus好不容易把kafka中的数据导入了HDFS,但是直接download后打开,显示的会是乱码.经查询,带.deflate后缀的文件是使用DEFLATE算法压缩过的,所以要查看,只需使用h ...

  4. (16)业务数据导入HDFS

    1.分析表同步策略 在生产环境,个别小公司,为了简单处理,所有表全量导入. 中大型公司,由于数据量比较大,还是严格按照同步策略导入数据. 2.脚本编写 1)在/home/atguigu/bin 目录下 ...

  5. Hadoop sqoop数据导入导出工具安装

    进入sqoop的conf目录,将sqoop-site-template.xml文件重命名为sqoop-site.xml,并修改如下内容:

  6. Sqoop快速入门【导入数据到HDFS与导出数据到数据库】

    1.Sqoop概述 Sqoop - "SQL到Hadoop和Hadoop到SQL" sqoop是apache旗下一款"Hadoop和关系数据库服务器之间传送数据" ...

  7. 3.2.3 Sqoop 数据迁移工具, 导入数据import, MySQL到HDFS/Hive, 导出数据export,增量数据导入, Sqoop job,常用命令及参数

    目录 数据迁移工具 -- Sqoop 第一部分 Sqoop概述 第二部分 安装配置 第三部分 应用案例 第 1 节 导入数据import MySQL 到 HDFS MySQL 到 Hive 第 2 节 ...

  8. Sqoop数据的导入导出与job作业

    1. Sqoop导入数据 站在hadoop的立场看: import:数据导入.RDBMS----->Hadoop export:数据导出.Hadoop---->RDBMS 创建表 SET ...

  9. sqoop将hbase数据导入mysql_Sqoop将mysql数据导入hbase的血与泪

    Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天) 版权声明:本文为yunshuxueyuan原创文章. 如需转载请标明出处: https://my.oschina.net/yunsh ...

最新文章

  1. 一种在注入进程中使用WTL创建无焦点不在任务栏出现“吸附”窗口的方法和思路
  2. 这是我看过,最好懂的神经网络
  3. php 注册树,php常用设计模式(单例,工厂,注册树模式)
  4. Oracle中压缩数据节省空间和提高速度
  5. XPath语法规则及实例
  6. 第四届泰迪杯数据挖掘大赛
  7. 中文巨量模型“源1.0”的学习优化方法
  8. python安装完后还需要装什么_初学 Python 需要安装哪些软件?
  9. Go语言的context包从放弃到入门
  10. 那些年,我们解析过的前端异常
  11. oracle静态,oracle静态sql和动态sql
  12. FreeRTOS之源码 及 移植详解
  13. 中秋佳节,献上笔试题一道,祝各位事业蒸蒸日上!
  14. uds 诊断协议的bootloader开发
  15. 网络运维工程师常见的面试题及需掌握的知识点
  16. ICEM(2)—机翼翼稍网格绘制
  17. redis安装之yum安装
  18. 转专业 计算机,转专业系列之信息/计算机
  19. .\Flash\Blinky.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by hal_cm0.o and blinky.
  20. 2013年微博营销最成功案例

热门文章

  1. 软文推广:真实有效提升软文排名与收录的三大方法!
  2. 【转】不要乱看美剧学英语
  3. 高校计算机课程建设研讨会通知,计算机学院承办陕西省高校MOOC与大学计算机课程建设研讨会...
  4. WLAN使用的功率单位
  5. Hyper-V安装Win10系统
  6. table doesn‘t exist
  7. 打开 WORD 报错“无法创建工作文件, 请检查临时环境变量”
  8. vue Error: No PostCSS Config found in
  9. c语言中延时函数delay1,delay什么意思_delay.h这一段是什么意思
  10. Material Design中的Elevation和shadows