美文网首页
个人总结-Sqoop

个人总结-Sqoop

作者: 蠟筆小噺没有烦恼 | 来源:发表于2017-10-09 14:50 被阅读162次


一、从rdbms导入到hdfs中

1、一 import(从rdbms导入到hdfs中)

可选参数

默认使用as-textfile文件格式,行与行之间使用逗号分割

--as-parquetfile  使用partition文件格式保存

--columns id,name 导入指定的列

--compress 启用压缩

--compression-codec org.apache.hadoop.io.compress.SnappyCodec 压缩格式

压缩后的文件如果直接加载到hive,可以正常运行(生产环境中用hive来分析mysql的数据

--delete-target-dir 删除已经存在的目标目录

--fields-terminated-by '\t' 设置分割符

--direct mysql优化,快速导入,

2、查看mysql中-的database:

sqoop list-databases \

--connect jdbc:mysql://localhost:3306 \

--username root \

--password ***** \

3、将mysql中表的数据导入到hdfs

sqoop import \

--connect jdbc:mysql://localhost:3306/test \

--username root \

--password ***** \

--table users \

--target-dir /user/sqoop/mysql/users \

--num-mappers 1

4、使用sql语句将数据导入hdfs

sqoop import \

--connect jdbc:mysql://localhost:3306/test \

--username root \

--password ***** \

--query 'select id,name from users where $CONDITIONS'\

--target-dir /user/sqoop/mysql/users_query \

--num-mappers 1

5、使用sql语句将数据导入hdfs——增量导入

有一个唯一的标识符,类似于插入时间createtime,使用where来进行区分

sqoop import \

--connect jdbc:mysql://localhost:3306/test \

--username root \

--password ***** \

--query 'select id,name from users where $CONDITIONS'\

--target-dir /user/sqoop/mysql/users_query \

--num-mappers 1 \

--incremental append \增量倒入

--check-column id \ 标识符列

--last-value 4 \上一次的最后一个 插入位置

二、export导出(文件或者hive到mysql中)

1、将hdfs文件导入mysql

sqoop export \

--connect jdbc:mysql://localhost:3306/test \

--username root \

--password ***** \

--table users \

--export-dir /user/sqoop/hdfs/users_mysql.txt \

--num-mappers 1 \

2、从mysql直接导数据到hive中

sqoop import \

--connect jdbc:mysql://localhost:3306/test \

--username root \

--password ***** \

--table users \

--delete-target-dir \

--fields-terminated-by ',' \

--num-mappers 1 \

--hive-import \

--hive-database default \

--hive-table users2

原理与之前一样,中间还是会先将数据写道hdfs上边

3、从hive中导出数据到mysql中

sqoop export \

--connect jdbc:mysql://localhost:3306/test \

--username root \

--password ***** \

--table users2 \

--export-dir /user/sqoop/hdfs/mysql \

--num-mappers 1 \

--input-fields-terminated-by ','

4、option-file使用:相当于执行脚本

执行语句:sqoop --options-file /文件位置

脚本内容:(空格变换行)

sqoop export   

#这里写注释

--connect jdbc:mysql://localhost:3306/test

--username root

--password *****

--table users2

--export-dir /user/sqoop/hdfs/mysql

--num-mappers 1

--input-fields-terminated-by ','

相关文章

  • 个人总结-Sqoop

    一、从rdbms导入到hdfs中 1、一 import(从rdbms导入到hdfs中) 可选参数 默认使用as-t...

  • Sqoop

    个人总结sqoop的作用 1 Sqoop概述 Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工...

  • sqoop的几个重要知识点

    Sqoop参数 /opt/module/sqoop/bin/sqoop import \ --connect \ ...

  • Sqoop | 安装

    sqoop安装 sqoop1安装 sqoop2安装

  • CDH 集群 SQOOP 集群增量同步任务 使用MySQL作为

    进入cdh集群sqoop配置管理界面 找到sqoop-conf/sqoop-site.xml 的 Sqoop 1 ...

  • Sqoop | 命令

    sqoop命令 sqoop1命令

  • BigData~09:Sqoop

    使用 Sqoop 把数据从 Hive 导出到 MySQL,中间遇到了一些坑,现总结如下: 一、报错总结 在 CDH...

  • 大数据开发之Sqoop详细介绍

    备注:测试环境CDH 6.3.1Sqoop 1.4.7 一.Sqoop概述 Apache Sqoop(SQL-to...

  • Sqoop

    sqoop使用: 根据脚本执行:sqoop --options-file sqoop.sh import--con...

  • Sqoop学习

    sqoop1和sqoop2的区别 sqoop1和sqoop2完全就是两个东西,互相不兼容,sqoop1版本从1.4...

网友评论

      本文标题:个人总结-Sqoop

      本文链接:https://www.haomeiwen.com/subject/lrcpyxtx.html