Sqoop的数据迁移命令及参数说明

本文介绍如何使用Sqoop工具实现MySQL与Hadoop之间的数据迁移,包括数据导入导出、脚本化操作及常见命令参数等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:Sqoop的import命令

  • 数据从mysql中导入到hdfs当中
    bin/sqoop import --connect jdbc:mysql://192.168.50.183:3306/sq --username root --password root --table user --target-dir /sqoop/datas --delete-tar get-dir --num-mappers 1 --fields-terminated-by “\t”

  • 数据mysql中导入到hdfs当中进行筛选

    bin/sqoop import --connect jdbc:mysql://192.168.50.183:3306/sq --username root --password root --target-dir /sqoop/selectdemo --delete-target-dir --num-mappers 1 --fields-terminated-by “\t” --query ‘select * from user where id<=1 and $CONDITIONS’

  • 通过where筛选

    bin/sqoop import --connect jdbc:mysql://192.168.50.183:3306/sq --username root --password root --target-dir /sqoop/selectdemo2 --delete-target-dir --num-mappers 1 --fields-terminated-by “\t” --table user --where “id<=1”

  • mysql导入到hive

    需要先创建hive表

    bin/sqoop import --connect jdbc:mysql://hd09-01:3306/sq --username root --password root --table user1 --num-mappers 1 --hive-import --fields-terminated-by “\t” --hive-overwrite --hive-table user_sqoop

    问题:hiveconf
    解决:
    vi ~/.bash_profile
    export HADOOP_CLASSPATH=$HADOOP_CLASSPASS:/root/hd/hive/lib/*
    mysql权限问题:
    grant all privileges on . to root@’%’ identified by “password”;
    flush privileges;

2:Sqoop的export命令

  • 需求:Hive/hdfs的数据导出到mysql

  • 编写sqoop启动命令

    bin/sqoop export --connect jdbc:mysql://hd09-01:3306/sq --username root --password root --table user1 --num-mappers 1 --export-dir /user/hive/warehouse/user_sqoop --input-fields-terminated-by “\t”

3:Sqoop打包脚本的使用

  • 创建文件夹

    mkdir sqoopjob

  • 创建文件脚本

    vi sqoop_job.opt
    export --connect jdbc:mysql://hd09-01:3306/sq

    –username root --password root
    –table user1 --num-mappers 1 -
    -export-dir /user/hive/warehouse/user_sqoop
    –input-fields-terminated-by "\t

注意:一行命令 一行值

  • 执行脚本文件

    bin/sqoop --options-file /root/sqoopjob/job_hdfs2mysql.opt

4:Sqoop的常用命令

命令说明
import将数据导入到集群
export将集群数据导出
codegen将某数据库中表生成javaBean并打包为jar
eval查看sql执行结果
create­hive­table创建hive表
import­all­tables导入某个数据库中所有表到hdfs中
list­tables列出某个数据库下的所有表
merge将hdfs中不同目录下的数据合并在一起
version V查看sqoop版本
help查看帮助信息

5:Sqoop常用参数

参数说明
-connect连接关系型数据库URL
–connection­manager指定连接管理类
–driverJDBC的driver class
–username连接数据库的用户名
–password连接数据库的密码
–verbose在控制台中打印详细信息
–help查看帮助
–hive­import将关系型数据库导入到hive表中
–hive­overwrite覆盖掉hive表中已存在的数据
–create­hive­table–create­hive­table
–hive­table接入hive表
–table指定关系型数据库的表名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值