四川手机网站,农安县建设局官方网站,中小微企业网站建设,地方宣传网站建设的必要性参考视频 大数据Sqoop教程丨从零开始讲解大数据业务及数据采集和迁移需求_哔哩哔哩_bilibili
介绍
Sqoop是Hadoop生态体系和RDBMS#xff08;关系型数据库#xff09;体系之间传送数据的一种工具 Hadop生态系统#xff1a;HDFS#xff0c;Hbase#xff0c;Hive等 RDBMS包…参考视频 大数据Sqoop教程丨从零开始讲解大数据业务及数据采集和迁移需求_哔哩哔哩_bilibili
介绍
Sqoop是Hadoop生态体系和RDBMS关系型数据库体系之间传送数据的一种工具 Hadop生态系统HDFSHbaseHive等 RDBMS包括MysqlOracleDB2等 Import数据导入 RDBMSDBinputFormat - Hadoop(TestoutputFormat) export: 数据导出Hadoop(DBoutputFormat) - RDBMS(TestInputFormat)
机制 Sqoop工作机制是将导入或导出命令翻译成MapReduce程序来实现在翻译出的MapReduce中主要对ImportFormat和OutFormat进行定制
安装部署
前置条件
安装javahadoop
配置文件(基于sqoop1.4.6)
上传解压修改配置
cd $SQOOP_HOME/conf
mv sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.shexport HADOOP_CONFIG_HOME/export/../hadoop-2.7.5
export HADOOP_MAPRED_HOME/export/../hadoop-2.7.5
export HIVE_HOME/export/../hive
加入mysql的jdbc驱动包
cp /hive/lib/mysql-connector-java-5.1.32.jar $SQOOP_HOME/lib/
验证
bin/sqoop list-databases \
--connect jdbc:mysql://localhost:3306/ \
--username root --password 123456\: 一行过长用\表示一行还没有完等待
sqoop导入
bin/sqoop import \
--connect jdbc:mysql://ip:port/dbName \
--username roor \
--password 123456\
--delete-target-dir \ 如果target-dir 的路径存在提前删除
--target-dir /sqoopresult \ (可以用来存放导出数据存放到HDFS的目录)
--table myTableName \
--m 1 \ (可以理解成maptask 并行度表有主键根据主键分没有主键需要指定字段)
--split-by id \ (根据什么字段切割最好是数字字段)
--fields-terminated-by \t (指定分隔符还可以,等默认)条件导入
--where age12 (条件查询导入可改成每天时间则是每日导出)
--query select id,name,age from myTableName where age18 and $CONDITIONS (1 不加--table,2 必须有where条件, 3必须加上$CONDITIONS, 4 sql必须是单引号)增量导入
--check-column(col) (指定列,一般是主键或者时间戳自增长不重复)
--incremental(mode) (append:追加 lastmodified:最后的修改时间)
--last-value(value) (指定上次导入后判断的最大值也可以自己指定某一个值)
--merge-key (col)(append模式下可以合并文件不会每次导入都在hdfs里新增一个文件.除了追加合并外如果之前的数据有修改也可以进行修改操作且数据不会重复)
eg:
--check-column id
--incremental append
--last-value 1205
--merge-key id (追加id1205的数据)
--check-column create_time
--incremental lastmodified
--last-value 2020-02-01 15:00:00 (追加大于整个时间的数据)
sqoop导出
目标表必须存在数据库当中
导出的三种模式
1 默认执行insert语句插入到表里
2 更新模式sqoop将生成UPDATE置换数据库中现有记录的语句
3 调用模式sqoop将为每条记录场景一个存储过程调用
待补充 参考文档
Sqoop简介以及使用-CSDN博客