sqoop import and export
程序员文章站
2022-05-25 14:26:38
...
import:
--connect:指定JDBC URL
--username/password:mysql数据库的用户名
--table:要读取的数据库表
--target-dir:指定数据导出后的目录,这样指定的目录只是一次会话的
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --warehouse-dir /etl/input/
--warehouse-dir:指定数据导出后的目录,会根据表名来自动生成/etl/input/cities,只需要一次指定,后面的每次导出都是在此目录下,以表名命名的。
--where:指定导出部分数据的条件
-p:动态的数据密码,安全
--password-file:指定密码文件,安全
--as-sequencefile:指定导出的数据以sequencefile文件格式保存
--as-avrodatafile:指定导出的数据以avrodatafile文件格式保存
--num-mappers 10:指定运行的map数据量
--null-string '\\N' --null-non-string '\\N':指定mysql中的null在导出后以\n保存
--incremental append:指定导出新增的数据
--check-column id:指定导出针对新增的标准是id
--last-value 1:指定从id=1之后插入的数据
export:
--batch:指导入是批量的导入
-Dsqoop.export.records.per.statement=10:指定批量导入一次的数据条数
--staging-table:指定导入时的零时表,只有当数据完全导入成功后,才会将数据导入到目标表中,如果中间出现失败则会将零时表中的数据删除,这样就保证了原子性,从而不会出现脏读
--update-key:指定依据什么字段来更新表,即当id一样时,则就更新这条记录
--update-key:指定依据什么字段来更新表,即当id一样时,则就更新这条记录
-update-mode allowinsert:指定除了可以更新数据之外,其余不相等的数据同样可以插入表中
--columns:指定要插入的列名
sqoop与hive结合:
--hive-import:指定从hive中导出
sqoop与hbase结合:
--hbase-table:指定hbase的表名
--column-family:指定hbase表的列族名
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities
--connect:指定JDBC URL
--username/password:mysql数据库的用户名
--table:要读取的数据库表
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --target-dir /etc/input/cities
--target-dir:指定数据导出后的目录,这样指定的目录只是一次会话的
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --warehouse-dir /etl/input/
--warehouse-dir:指定数据导出后的目录,会根据表名来自动生成/etl/input/cities,只需要一次指定,后面的每次导出都是在此目录下,以表名命名的。
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --where ''country='usa'''
--where:指定导出部分数据的条件
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --table cities -P
-p:动态的数据密码,安全
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --table cities --password-file my-sqoop-password
--password-file:指定密码文件,安全
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --as-sequencefile
--as-sequencefile:指定导出的数据以sequencefile文件格式保存
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --as-avrodatafile
--as-avrodatafile:指定导出的数据以avrodatafile文件格式保存
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --num-mappers 10
--num-mappers 10:指定运行的map数据量
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --null-string '\\N' --null-non-string '\\N'
--null-string '\\N' --null-non-string '\\N':指定mysql中的null在导出后以\n保存
sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --incremental append --check-column id --last-value 1
--incremental append:指定导出新增的数据
--check-column id:指定导出针对新增的标准是id
--last-value 1:指定从id=1之后插入的数据
export:
sqoop export -Dsqoop.export.records.per.statement=10 --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --export-dir cities --batch
--batch:指导入是批量的导入
-Dsqoop.export.records.per.statement=10:指定批量导入一次的数据条数
sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --export-dir cities --staging-table staging_cities
--staging-table:指定导入时的零时表,只有当数据完全导入成功后,才会将数据导入到目标表中,如果中间出现失败则会将零时表中的数据删除,这样就保证了原子性,从而不会出现脏读
sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --export-dir cities --update-key id
--update-key:指定依据什么字段来更新表,即当id一样时,则就更新这条记录
sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --export-dir cities --update-key id --update-mode allowinsert
--update-key:指定依据什么字段来更新表,即当id一样时,则就更新这条记录
-update-mode allowinsert:指定除了可以更新数据之外,其余不相等的数据同样可以插入表中
sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --export-dir cities --columns country,city
--columns:指定要插入的列名
sqoop与hive结合:
sqoop import --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --hive-import
--hive-import:指定从hive中导出
sqoop与hbase结合:
sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --hbase-table cities --column-family world
--hbase-table:指定hbase的表名
--column-family:指定hbase表的列族名
上一篇: sqoop安装
推荐阅读
-
详解ES6 export default 和 import语句中的解构赋值
-
PHP函数import_request_variables()用法分析
-
简单谈谈c/c++中#import、#include和@class的区别
-
iOS开发中#import、#include和@class的区别解析
-
iOS开发中class和#import的区别介绍
-
详解Python中的from..import绝对导入语句
-
iOS开发中#import、#include和@class的区别解析
-
Python import自定义模块方法
-
ES6使用export和import实现模块化的方法
-
Python中import导入上一级目录模块及循环import问题的解决