第一章 Sqoop专题之基本命令

1、Sqoop基本概述

  • Sqoop:关系型数据库和HDFS/HIVE/HBASE的导入导出工具;
    在这里插入图片描述

(1)Sqoop内部操作流程

①、编写sqoop导入/导出指令,

②、Hadoop将Sqoop指令翻译成MR程序,里面只包含Map阶段

③、运行在Hadoop分布式集群,操作HDFS/HBASE/HIVE进行数据写入/写出

④、给客户端反馈操作后的结果;

(2)Sqoop生成的MR程序,只有Map阶段,没有Reduce阶段
原因:纯粹的数据迁移,不涉及到聚合操作,没必要使用reduce

(3)数据迁入与数据迁出

①数据迁入:RDBMS --》 HDFS/HIVE/HBASE

②数据迁出:HDFS/HIVE/HBASE --》 RDBMS

2、Sqoop常用命令

sqoop help          #查看sqoop常用命令
sqoop help import   #查看import常用参数
sqoop help export   #查看export常用参数
选项含义说明范例
–connect 指定JDBC连接字符串
–connection-manager指定要连接的管理器类
–driver指定要使用的JDBC驱动类
–hadoop-mapred-home 指定$HADOOP_MAPRED_HOME路径
–help帮助
-password-file设置用于存放认证密码信息文件的路径
-P从控制台读取输入密码
–passward 设置认证密码
–username 设置认证用户
–verbose打印出详细的运行信息
last-value

3、Sqoop Job

  • 数仓项目部署阶段:将反复执行的程序订制成一个Job,通过定时器反复执行;
sqoop job --list         #查看现有的job
sqoop job --create       #创建job
sqoop job --drop         #删除job
sqoop job -exec jobname  #执行job

注意点:

​ ①需要在定时器中反复执行的sqoop指令一般封装在sqoop job中;

​ ②job中封装了sqoop操作的详情(import,export);

​ ③有增量导入的需求,必须将sqoop操作封装到job中,否则,增量导入的最新字段就无法存储,就会从头开始导入

1、该脚本时创建sqoop的job脚本,原则上只需要执行一次即可,以后每次执行,只需要执行sqoop job -exec jobname;
2、如过需要重新运行,则运行方式:脚本名称.sh
  • 查看增量导入历史值
在.sqoop目录下,查看metastore.db.script的文件

在这里插入图片描述

4、Sqoop在正式环境的用法

4.1、编写shell脚本
sqoop import
--connect       \
--username  $1      \
--passward  $2    \
--table         \
--target-dir    \
--delete-target-dir \
-m $3
4.2、调用Sqoop脚本,通过给shell脚本传递参数,动态指定脚本中的参数值
sh sqoop-import.sh root 88888888 3
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Sqoop是一个命令行工具,可以使用各种命令和选项来执行不同的操作。以下是Sqoop中常用的一些命令: 1. import:从关系型数据库中导入数据到Hadoop中。 ``` sqoop import \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password \ --table employees \ --target-dir /user/hadoop/employees \ --split-by id ``` 2. export:将Hadoop中的数据导出到关系型数据库中。 ``` sqoop export \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password \ --table employees \ --export-dir /user/hadoop/employees \ --input-fields-terminated-by '\t' ``` 3. list-databases:列出数据库中的所有数据库。 ``` sqoop list-databases \ --connect jdbc:mysql://localhost/ \ --username root \ --password password ``` 4. list-tables:列出数据库中的所有表。 ``` sqoop list-tables \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password ``` 5. eval:在关系型数据库中执行SQL查询。 ``` sqoop eval \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password \ --query "SELECT * FROM employees WHERE salary > 50000" ``` 6. help:显示Sqoop命令的帮助信息。 ``` sqoop help ``` 这些命令只是Sqoop提供的众多命令中的一部分,您还可以使用其他命令和选项来执行不同的操作。Sqoop命令行界面提供了灵活的参数配置和数据转换选项,可以帮助您轻松地将关系型数据库中的数据导入到Hadoop中,以便进行后续的数据分析和处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随缘清风殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值