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 " "
--lines-terminated-by " "
--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 ' '