最近在复习sqoop使用,可以概括为全量导入HDFS/HIVE,查询导入HDFS/HIVE,增量导入HDFS/HIVE,导出。

一.sqoop全量导入HDFS

sqoop使用import命令来完成RDMS向HDFS或者HIVE导入数据。最基本的命令如下

sqoop import \
--connect jdbc:mysql://windows:3306/my_db2 \
--username root \
--password 123456 \
--table course \
--delete-target-dir \ -- 注意:要导入的路径必须不存在,不然的话会报错,因为是走的MR程序
--target-dir /1119/course -m 1
##注释:如果没有指定分隔符,默认是用逗号进行分割的。如果要制定分隔符,使用--fields-terminater-by
##注释:默认使用一个map程序进行导入,如果要使用多个并行导入的话,要么表有主键,要么根据--split-by进行切分,
##注释:如果是根据字符串切分的话 还要在import命令后边加上-Dorg.apache.sqoop.splitter.allow_text_splitter=true
##注释:其他常用命令
--compress 指定压缩  如果只写上边这个 其实就相当于与--compression-codec gzip
--compression-codec gzip   指定压缩格式 lzop,gzip,DEFLATE,bzip2,Snappy
--null-non-string   '\N'  空值处理,非字符串类的空值
--null-string  '\N'       空值处理,字符串类的空值
--as-avrodatafile       指定生成文件类型
--as-parquetfile        指定生成文件类型
--as-sequencefile       指定生成文件类型
--as-textfile           指定生成文件类型

二.sqoop全量导入Hive

sqoop import \
--connect jdbc:mysql://windows:3306/my_db2 \
--username root \
--password 123456 \
--table course \
--hive-import \
--delete-target-dir \
--hive-table ods1110.course \
--hive-overwrite \
-m 2 \
--hive-partition-key  "ds" \
--hive-partition-value "20210127" \
##注释:要导入的hive表,可以不提前创建,也可以提前创建,如果要覆盖原来的数据,指定--hive-overwrite

三.条件导入HDFS和HIVE

条件导入HDFS HIVE(如果是--query则不能指定--table,且导入hive需要指定一个临时目录)
sqoop import \
--connect jdbc:mysql://windows:3306/my_db2 \
--username root \
--password 123456 \
--query 'SELECT cid,cname FROM course WHERE $CONDITIONS' \
--delete-target-dir \
--target-dir /1119/query -m 1sqoop import \
--connect jdbc:mysql://windows:3306/my_db2 \
--username root \
--password 123456 \
--query 'SELECT cid,cname FROM course WHERE $CONDITIONS' \
--target-dir /tmp/1119 \
--hive-import \
--hive-table ods1110.query \
--hive-overwrite -m 1

四.增量导入append和lastmodified 两种模式

sqoop import \
--connect jdbc:mysql://windows:3306/my_db2 \
--username root \
--password 123456 \
--table course \
--target-dir /1119/append \
--incremental append \
--check-column cid \
--last-value 5 \
-m 1
#注释:append模式能够导入hive,lasdmodified模式不能导入hive
##注释:如果是lastmodified模式,那么不要写--delete-target-dir,否则会报错。append模式不会报错
##注释:如果是lastmodified模式,那么还要加一个--append追加,或者--merge-key id 合并sqoop import \
--connect jdbc:mysql://windows:3306/my_db2 \
--username root \
--password 123456 \
--table testApp \
--target-dir /1119/append2 \
--incremental lastmodified \
--check-column mod_time \
--last-value "2022-11-21" \
--append \
-m 1

五.sqoop将数据导出到MySQL

sqoop  export
--connect jdbc:mysql://windows:3306/my_db2
--username root
--password 123456
--table t1
--input-fields-terminated-by ','
--update-mode allowinsert
--update-key id
--export-dir '/user/hive/warehouse/t1'

Sqoop的基本使用相关推荐

  1. 从Hive导出数据到Oracle数据库--Sqoop

    首先解释一下各行代码: sqoop export # 指定要导入到Oracle的那张表(通常与hive中的表同名) --table TABLE_NAME # host_ip:导入oracle库所在的i ...

  2. hive sqoop 分区导入_Sqoop概述及shell操作

    特别说明:该专栏文章均来源自微信公众号<大数据实战演练>,欢迎关注! 一.Sqoop概述 1. 产生背景 基于传统关系型数据库的稳定性,还是有很多企业将数据存储在关系型数据库中:早期由于工 ...

  3. sqoop架构_SQOOP架构的深入介绍

    sqoop架构 by Jayvardhan Reddy 通过杰伊瓦尔丹·雷迪(Jayvardhan Reddy) SQOOP架构的深入介绍 (An in-depth introduction to S ...

  4. Sqoop的基础应用

    实验目的要求 了解ET了工具Sqoop: 学会安装配置Sqoop: 学会使用数据迁移框架Sqoop: 使用Sqoop导入MySQL到HDFS和Hive: 使用Sqoop导出HDFS数据到MySQL: ...

  5. Hadoop集群的基本操作(五:Sqoop的基本操作)

    实验 目的 要求 目的: 掌握ETL工具Sqoop的使用: 掌握MySQL和HDFS之间的数据转换: 要求: 掌握ETL工具Sqoop的使用: 能够正常操作数据库.表.数据: 实 验 环 境 五台独立 ...

  6. Sqoop数据分析引擎安装与使用

    Sqoop数据分析引擎安装与使用  ==>什么是Sqoop ? Sqoop 是一个开源的数据处理引擎,主要是通过  JDBC 为媒介, 在Hadoop(Hive)与 传统的关系型数据库(Orac ...

  7. Oozie 配合 sqoop hive 实现数据分析输出到 mysql

    文件/RDBMS -> flume/sqoop -> HDFS -> Hive -> HDFS -> Sqoop -> RDBMS 其中,本文实现了 使用 sqoo ...

  8. Sqoop数据迁移原理及基本框架

    目录 Sqoop简介 Sqoop架构 Sqoop导入底层工作原理 Sqoop导出底层工作原理 Sqoop简介 Sqoop旨在协助RDBMS与Hadoop之间进行高效的大数据交流.可以把关系型数据库的数 ...

  9. sqoop数据迁移的应用

    MySql与HBase之间数据的互导(借助sqoop) 一.将mysql中的数据导入到hbase中,这一步相对来说是比较简单的 1.在mysql中建立一个teacher表,插入5组数据,我这里没有将表 ...

  10. hive定时清洗至mysql_hive,sqoop定时执行脚本举例

    hive: #! /bin/sh date="$1" enddate=`date -d "+1 day $2" +%Y-%m-%d` while [[ $dat ...

最新文章

  1. 卧槽!新基建背景下,这些姿势架构师必须懂!
  2. Python中如何写控制台进度条的整理
  3. python多分类混淆矩阵代码_深度学习自学记录(3)——两种多分类混淆矩阵的Python实现(含代码)...
  4. php 判断update返回为0_PHP进行数据库更新update操作,返回状态
  5. Docker安装运行mysql
  6. 在Razor中如何引入命名空间?(import namespace in razor view)
  7. 分享Silverlight/WPF/Windows Phone一周学习导读(11月6日-11月12日)
  8. Linux系统维护人员的必备参考书
  9. 机械硬盘低级格式化软件_万能硬盘低格工具(支持所有IDE、SATA、移动硬盘)
  10. IDEA集成SVN代码管理常用功能
  11. 浏览器登录系统登录不进去的问题
  12. Qt制作的一款即时通讯软件
  13. 百度“有啊”困局之源:流量到交易的转化
  14. RTC风向标:11月最值得关注的26个热点
  15. [NOIP2012模拟10.25] 剪草 [贪心+dp]
  16. Innovus update_io_latency
  17. spi通信问题-有波形但无法获取正确数据:MOSI和SCK
  18. 基于simulink的超级电容,电池及DC motor充放电系统仿真
  19. YY会是百度的YY,但百度的直播不只是YY
  20. Web笔记(二)Tomcat 使用总结

热门文章

  1. 实战:从零开始制作一个跑步微信小程序
  2. 使用ffmpeg剪辑视频【删除视频头部,尾部,中间,视频拼接,获取视频指定时间截图】
  3. Spring Cloud升级之路 - Hoxton - 10. 网关重试带Body的请求Body丢失的问题
  4. 语法分析器---预测分析程序
  5. 2021年标准员-岗位技能(标准员)考试资料及标准员-岗位技能(标准员)模拟考试题
  6. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记三(1):Cortex-M3指令集概要
  7. 云服务器搭建好,出现 拒绝了我们的连接请求。
  8. 怎么批量提取多个 Excel 文档中的图片
  9. 关于心跳ajax请求pending状态(被挂起),stalled时间过长的问题。涉及tcp连接异常。
  10. 南卡蓝牙耳机和JBL蓝牙耳机哪个更值得买?音质最好的蓝牙耳机测评