参数解析:

必选参数

--connect :连接的mysql数据库的jdbc信息

--username:mysql数据库的登录账户

--password:mysql数据库的登录密码

--table: 关系数据库表名

--hive-import: 从关系型数据库向hive中导入数据的标志

可选参数

--as-testfile: 将数据导入一个普通文本文件中

--as-sequencefile:将数据导入一个

--as-avrodatafile:将数据导入一个Avro数据文件中

--columns<cl,col,col,...> 指定要导入的字段值

-m或--num-mappers:确定导入数据时启动的并行map数,默认为4

--target-dir<dir>: 指定导入数据的hdfs路径--目标路径

--query <selectstatement>:从查询结果中导入数据,与--target-dir共用

--hive-table:导入的hive表

--hive-database:导入的hive库

--where :从关系型数据库导入数据时的查询条件,接where的查询条件。例如:‘–where id<100’

--null-non-string<null-string>:指定非字符串类型为null时的替代字符

--null-string<null-string>:指定字符串类型为null时的替代字符

--hive-drop-import-delims:导入数据到hive时,屏蔽数据中\n,\r和\01等类型的特殊字符

--hive-overwrite:导入前清理hive表中所有数据

--hive-partition-key<k> : hive表的分区字段,字段类型默认为string

--hive-partition-value<v>:与--hive-partition-key同时使用,指定导入的分区值

--fields-terminated-by <f> :指定导入数据的字段分隔符

--lines-terminated-by <l>:指定导入数据的行分隔符

--delete-target-dir:若指定的目录存在,需要先删除

--split-by:指定数据集分片的字段

解析

原理

sqoop将数据从关系型数据库mysql导入到hadoop数据库hive,整体步骤分为两步:

1.将mysql中数据导入hadoop的hdfs上

2.将hadoop的hdfs上的数据加载到hive数据库中

使用方法:

根据sqoop的工作原理,使用sqoop导入数据,主要有两种方法:

方法1(直接导入):将mysql数据直接导入hive表中

方法2(导入hdfs):先将mysql数据导入hdfs上,之后再将hdfs数据加载到hive中

直接导入典型示例:

sqoop import --connect jdbc:mysql://localhost:3306/bdp --username root --password bdp --table emp --hive-import --hive-database test --hive-table EMP --where 'id>10' --hive-partition-key time --hive-partition-value '2018-05-18' --null-string '\\N' --null-non-string '\\N' --fields-terminated-by ',' --lines-terminated-by '\n' -m 1

导入hdfs典型示例:

导入数据到hdfs:

sqoop import  --connect jdbc:mysql://localhost:3306/bdp --username root --password bdp --table emp --query 'select * from emp  inner join  user on emp.id=user.id where id>10' --split-by id --target-dir /user/data/mysql/emp -m 1

加载数据到hive表:

load data inpath '/user/data/mysql/emp ' into table test.EMP2

分析:

直接导入适用于将单个表中部分数据或所有数据导入hive表中的情况。

导入hdfs适用于将组合数据集导入hive表中的情况。--query参数可以对多个mysql表join后的数据集进行筛选,该方法可以将指定的数据集(可能涉及多张表)导入hdfs,并不限于单张表。

注意事项:

1.注意字段分隔符和行分隔符的使用,必须与目标hive表一致,否则将出现,数据导入成功,但无法正常加载到hive表(hive表中字段值为null)

2.–columns接的字段时mysql表的字段,要求这些字段要和Hive表中的字段对应,数据类型要对应,否则会出现异常

3.--hive-table中只支持一个静态分区,匹配的分区参数为--hive-partition-key和--hive-partition-value。多分区时,对应的参数应该为--hcatalog-table,--hcatalog-database,--hcatalog-partition-keys和--hcatalog-partition-values

4.hive没有rowkey,sqoop-hive只能追加或者清空后再添加,不能update

【Sqoop】从MySQL同步数据到Hive的操作参数解析相关推荐

  1. 用sqoop将mysql的数据导入到hive表中,原理分析

    Sqoop 将 Mysql 的数据导入到 Hive 中 准备Mysql 数据 如图所示,准备一张表,数据随便造一些,当然我这里的数据很简单. 编写命令 编写参数文件 个人习惯问题,我喜欢把参数写到文件 ...

  2. sqoop从mysql导入hdfs_3.使用sqoop从mysql 导入数据到hdfs

    使用sqoop从mysql 导入数据到hdfs 注意: 需要将mysql的jdbc驱动包放到lib目录下 在conf目录中,执行 cp sqoop-env-template.sh sqoop-env. ...

  3. SQOOP 部署及导入数据到 Hive 的实际应用

    目录 写在最前: 1.核心的功能有两个 2.sqoop 版本说明 一.部署 1.安装前准备 2.创建用户和组 3.解压到指定目录 4.添加系统环境变量 5.创建 sqoop-env.sh 文件 5.1 ...

  4. elastic如何和mysql同步数据_MySQL数据库之mysql 同步数据到 ElasticSearch 的方案

    本文主要向大家介绍了MySQL数据库之mysql 同步数据到 ElasticSearch 的方案 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. MySQL Binlog 要通过 ...

  5. ktl工具实现mysql向mysql同步数据方法

    使用ktl工具实现mysql向mysql同步数据 1.新建作业步骤 2.完善作业步骤,主要是完成作业中的转换工作 3.首先要确定数据来源库,也就是数据输出库,这里是mysql 4.其次要确定数据接收库 ...

  6. sqoop增量导入hive_使用pyspark模仿sqoop从oracle导数据到hive的主要功能(自动建表,分区导入,增量,解决数据换行符问题)...

    最近公司开始做大数据项目,让我使用sqoop(1.6.4版本)导数据进行数据分析计算,然而当我们将所有的工作流都放到azkaban上时整个流程跑完需要花费13分钟,而其中导数据(增量)就占了4分钟左右 ...

  7. mysql同步数据_实现MySQL数据库数据的同步方法介绍

    做开发的时候要做MySQL的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,MySQL的版本是4.1.15,都是目前最新的版本. 1.安 ...

  8. ElasticsearchBboss MySQL 同步数据到Elasticsearch

    springboot集成ElasticsearchBboss调用Elasticsearch 一.搭建一个springboot项目 1).使用的是idea工具,所以直接选中File–>New–&g ...

  9. Mysql同步数据到Elasticsearch(实时Canal)

    这里只是作为一个想法,Canal有监听binlog文件的功能.所以简单看了一下Canal的入门使用. 后续Canal实时数据同步的功能希望不会被我阉割......当然有大佬已经实现或者有其他方法实现m ...

最新文章

  1. 命令行运行Python脚本时传入参数的三种方式
  2. 触控(Touch) 、 布局(Layout)
  3. 看我用汉语编程(汉语Visual Basic编程软件发布)
  4. 用C#操作word替换字符,用spire
  5. 超详细Pycharm部署项目视频教程
  6. 解密华为云原生媒体网络如何保障实时音视频服务质量
  7. 荣耀50 Pro+配置参数曝光:AMOLED高刷屏+骁龙888旗舰芯片
  8. 数据传递型情景下事件机制与消息机制的架构设计剖析(目录)
  9. BZOJ-1069 [SCOI2007]最大土地面积
  10. 全网首发:configure: error: cannot guess build type; you must specify one
  11. 网易云邮箱验证码注册及修改密码
  12. No qualifying bean of type ‘service‘ available:单元测试报错
  13. 【其他】结构技术优化算法--蚁群算法(ant colony optimization)
  14. java 俄罗斯 id_Java ZoneId systemDefault()用法及代码示例
  15. FreeXGIS系列产品介绍
  16. 坚持平凡 创造非凡
  17. ad怎么修改栅格_AD 10怎么设置栅格?
  18. STM32F4_外部中断详解(EXTI)
  19. 洛谷P1478 陶陶摘苹果(升级版)视频题解
  20. 《锦绣中华》中老年公益文旅游-走进佛山敬老院

热门文章

  1. 四万字让你精通SQL数据库操作
  2. 【OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)
  3. 2019无盘游戏服务器128g内存,云更新无盘客户端 v2019.8.15.12486官方版
  4. 5单个编译总会编译全部_JDBC【5】 JDBC预编译和拼接Sql对比
  5. 含枚举类型的函数声明_02Golang基础类型
  6. Qt 二级菜单无法输入中文
  7. 解决Pycharm文件夹中同级目录导包报错的问题
  8. 解题: SDOI 2011 染色
  9. 织梦直接往数据库写入数据
  10. MVC3学习:利用mvc3+ajax实现登录