Sqoop导入

一、导入的定义

sqoop的机理是:关系型数据库<---->Hadoop(hdfs/hive/hbase)

导入的参照物是 Hadoop(hdfs/hive/hbase)

相对于Hadoop 对hadoop/hive/hbase导入 是导入

二、MySQL向hdfs中导入数据

sqoop import \

--connect jdbc:mysql://主机名:端口号/数据库 \

--username 数据库名称 \

--password 数据库密码 \

--table 需要导入的数据表名 \

--target-dir 导入hdfs的路径 \

-m 跑这个任务需要多少个map

sqoop import \
--connect jdbc:mysql://master:3306/db_hotel_hyt \
--username root \
--password root \
--table t_user \
--target-dir /t_user 
--m 1

 

当map=2时 需要指定根据哪个字段进行切分:--split-by 字段

sqoop import \ 
--connect jdbc:mysql://master:3306/db_hotel_hyt \
--username root \
--password root \
--split-by id \
--table t_user \
--target-dir /t_user2 \
--m 2

 当指定map=1时

指定map=2时

三、MySQL向hive导入全量备份

sqoop import \

--connect jdbc:mysql://主机名:端口号/数据库 \

--username 数据库名称 \

--password 数据库密码 \

--table 需要导入的数据表名 \

--target-dir 导入hdfs的路径 \

--hive-import \
--hive-database hive中的数据库 \
--create-hive-table \  #创建 hive 表

-m 跑这个任务需要多少个map

sqoop import \
--connect jdbc:mysql://master:3306/db_hotel_hyt \
--username root \
--password root \
--table t_user \
--hive-import \
--hive-database stude \
--create-hive-table \
--target-dir /db_hyt1 \
--fields-terminated-by '\t' \
--null-string '\\N' --null-non-string '\\N' --split-by id -m 1

四、注意事项

1、将sqoop导入hdfs中时,一定要开启hdfs和yarn的集群

可以用:start-all.sh

 2、出现以下的情况:

 这是因为hadoop进入了安全模式,这时需要退出安全模式

可以用以下命令退出安全模式:

hadoop dfsadmin -safemode leave

 然后再执行sqoop语句

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值