sqoop常用命令记录

Sqoop常用参数:

sqoop help

codegen  生成代码

create-hive-table   导入一个表的结构到hive,就是根据mysql中的表定义在hive中建一个同结构的表

eval     测试一个sql语句并展示查询结果

export   将一个hdfs目录中的数据导出到一个mysql的表中

help List available commands

import   从一个数据库中导入一个表的数据到hdfs

import-all-tables   将一个数据库中的所有表导入到 HDFS

sqoop import --help :

常用参数:

--connect  <jdbc-uri> #关系型数据库 jdbc 连接

--connection-manager <class-name> 连接管理者DriverManager,都是用默认的

--driver <class-name> 驱动类,都是用默认的

--hadoop-mapred-home <dir> 如果指定,则会覆盖掉sqoop-env.sh中的参数$HADOOP_MAPRED_HOME

 

--username #关系型数据库连接用户名

--password #关系型数据库连接密码

--verbose 打印流程信息

--table #关系型数据库的表

--split-by #如果-m的数量不为1,则一定要加上该参数且最好是数值类型,否则会报错

--direct #快速模式,使用mysql自带的mysqldump导出数据

--delete-target-dir #如果hdfs的目录已经存在则先删除

--target-dir #导入到hdfs时的目标目录

--export-dir #从hdfs导出时的源目录

--fields-terminated-by #导入到hdfs时的hdfs文件分隔符

--input-fields-terminated-by #从hdfs导出时的hdfs文件分隔符

--hive-drop-import-delims #导入hive中的数据某列中如果有换行符或回车键可以删除

--hive-database #hive的数据库

--hive-table #hive的表

--hive-overwrite #覆盖之前的分区插入数据

--hive-partition-key #hive分区字段

--hive-partition-value #hive分区值

-m #指定map数量,也是生成的文件数

Sqoop常用命令:

Sqoop将mysql导入到hive

sqoop import \

--connect jdbc:mysql://192.168.10.20:3306/bymm?zeroDateTimeBehavior=CONVERT_TO_NULL \

--username root \

--password 123456 \

--table student_info \

--fields-terminated-by "\t" \

--lines-terminated-by "\n" \

--hive-import \

--hive-overwrite \

--hive-database lods \

--create-hive-table  \

--hive-table lods_source_dxxbs_student_info \

--delete-target-dir \

-m 1

Sqoop将hive导入mysql:

sqoop export --connect jdbc:mysql://192.168.10.20:3309/test \

--username root \

--password 123456 \

--table lezh_tmp_01_t1 \

--export-dir /user/hive/warehouse/hive.db/lezh_tmp_03/dt=20210505 \

--input-fields-terminated-by '\t'

 

posted @ 2021-06-19 09:56  nohert  阅读(72)  评论(0编辑  收藏  举报