Sqoop ---- Sqoop一些常用命令及参数

news2024/11/23 7:03:34

Sqoop ---- Sqoop一些常用命令及参数

  • 1. 常用命令列举
  • 2. 命令&参数详解
    • 1. 公用参数:数据库连接
    • 2. 公用参数:import
    • 3. 公用参数:export
    • 4. 公用参数:hive
    • 5. 命令&参数:import
    • 6. 命令&参数:export
    • 7. 命令&参数:codegen
    • 8. 命令&参数:create-hive-table
    • 9. 命令&参数:eval
    • 10. 命令&参数:import-all-tables
    • 11. 命令&参数:job
    • 12. 命令&参数:list-databases
    • 13. 命令&参数:list-tables
    • 14. 命令&参数:merge
    • 15. 命令&参数:metastore

1. 常用命令列举

这里给大家列出来了一部分Sqoop操作时的常用参数,以供参考,需要深入学习的可以参看对应类的源代码。

在这里插入图片描述
在这里插入图片描述

2. 命令&参数详解

刚才列举了一些 Sqoop 的常用命令,对于不同的命令,有不同的参数,让我们来一一列举说明。
首先来我们来介绍一下公用的参数,所谓公用参数,就是大多数命令都支持的参数。

1. 公用参数:数据库连接

在这里插入图片描述

2. 公用参数:import

在这里插入图片描述
在这里插入图片描述

3. 公用参数:export

在这里插入图片描述

4. 公用参数:hive

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 命令&参数:import

将关系型数据库中的数据导入到 HDFS(包括 Hive,HBase)中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建。

1) 命令:
如:导入数据到 hive 中

$ bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--hive-import

如:增量导入数据到 hive 中,mode=append

append 导入:
$ bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--num-mappers 1 \
--fields-terminated-by "\t" \
--target-dir /user/hive/warehouse/staff_hive \
--check-column id \
--incremental append \
--last-value 3

尖叫提示:append 不能与–hive-等参数同时使用(Append mode for hive imports is not yet supported. Please remove the parameter --append-mode)

如:增量导入数据到 hdfs 中,mode=lastmodified
在这里插入图片描述
在这里插入图片描述
尖叫提示:使用 lastmodified 方式导入数据要指定增量数据是要–append(追加)还是要
–merge-key(合并)
尖叫提示:last-value 指定的值是会包含于增量导入的数据中

2) 参数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 命令&参数:export

从 HDFS(包括 Hive 和 HBase)中奖数据导出到关系型数据库中。

1) 命令:

$ bin/sqoop export \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--export-dir /user/company \
--input-fields-terminated-by "\t" \
--num-mappers 1

2) 参数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 命令&参数:codegen

将关系型数据库中的表映射为一个 Java 类,在该类中有各列对应的各个字段。

$ bin/sqoop codegen \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--bindir /home/admin/Desktop/staff \
--class-name Staff \
--fields-terminated-by "\t"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8. 命令&参数:create-hive-table

生成与关系数据库表结构对应的 hive 表结构。

命令:

$ bin/sqoop create-hive-table \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--hive-table hive_staff

参数:
在这里插入图片描述

9. 命令&参数:eval

可以快速的使用 SQL 语句对关系型数据库进行操作,经常用于在 import 数据之前,了解一
下 SQL 语句是否正确,数据是否正常,并可以将结果显示在控制台。

命令:

$ bin/sqoop eval \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--query "SELECT * FROM staff"

参数:
在这里插入图片描述

10. 命令&参数:import-all-tables

可以将 RDBMS 中的所有表导入到 HDFS 中,每一个表都对应一个 HDFS 目录

命令:

$ bin/sqoop import-all-tables \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--warehouse-dir /all_tables

参数:
在这里插入图片描述

11. 命令&参数:job

用来生成一个 sqoop 任务,生成后不会立即执行,需要手动执行。

命令:

$ bin/sqoop job \
--create myjob -- import-all-tables \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000
$ bin/sqoop job \
--list
$ bin/sqoop job \
--exec myjob

**尖叫提示:**注意 import-all-tables 和它左边的–之间有一个空格
**尖叫提示:**如果需要连接 metastore,则–meta-connect jdbc:hsqldb:hsql://linux01:16000/sqoop

参数:
在这里插入图片描述

**尖叫提示:**在执行一个 job 时,如果需要手动输入数据库密码,可以做如下优化

<property>
	<name>sqoop.metastore.client.record.password</name>
	<value>true</value>
	<description>If true, allow saved passwords in the metastore.</description>
</property>

12. 命令&参数:list-databases

命令:

$ bin/sqoop list-databases \
--connect jdbc:mysql://hadoop102:3306/ \
--username root \
--password 000000

**参数:**与公用参数一样

13. 命令&参数:list-tables

命令:

$ bin/sqoop list-tables \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000

**参数:**与公用参数一样

14. 命令&参数:merge

将 HDFS 中不同目录下面的数据合并在一起并放入指定目录中

命令:

创建 JavaBean:
$ bin/sqoop codegen \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--bindir /home/admin/Desktop/staff \
--class-name Staff \
--fields-terminated-by "\t"
开始合并:
$ bin/sqoop merge \
--new-data /test/new/ \
--onto /test/old/ \
--target-dir /test/merged \
--jar-file /home/admin/Desktop/staff/Staff.jar \
--class-name Staff \
--merge-key id

参数:
在这里插入图片描述

15. 命令&参数:metastore

记录了 Sqoop job 的元数据信息,如果不启动该服务,那么默认 job 元数据的存储目录为~/.sqoop,可在 sqoop-site.xml 中修改。

命令:
如:启动 sqoop 的 metastore 服务

$ bin/sqoop metastore

参数:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式(行为型模式)之:Template Method(模板方法)

文章目录 简介动机定义 早绑定代码晚绑定 模板设计模式对比分析总结 简介 该篇文章内容及思想出自 张建忠《设计模式》、GOF: 《设计模式》 定义一个操作中算法的骨架&#xff0c;而将一些操作延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构&#xff0c;即可重…

智能监控和汽车领域中的网络边缘嵌入式视觉最佳选择——低功耗ECP5 FPGA LFE5U-25F-8BG256I 莱迪思深力科

莱迪思深力科LFE5U-25F-8BG256I&#xff0c;属于ECP5系列。它拥有24,300个LUT&#xff08;Look-Up Table&#xff09;&#xff0c;可编程逻辑块&#xff0c;是一款高性能的可编程逻辑器件&#xff0c;具有高性能、灵活性和可编程性的FPGA芯片&#xff0c;适用于多个领域的高性能…

公众号开发小程序,为品牌拓展更广阔的市场!

公众号开发小程序是指在微信公众号平台上开发出一种类似于手机App的轻量级应用&#xff0c;能够给用户提供更加便捷、快速、个性化的服务和体验。 相比于传统的应用&#xff0c;公众号开发小程序有如下优势&#xff1a; 1、提升用户体验&#xff1a;相比于网页应用&#xff0c…

边缘云风口正酣,边缘一体化服务是竞争关键

连接世界从边缘开始&#xff0c; 重新定义公有云的未来 【全球云观察 &#xff5c; 热点关注】公有云已经进入白热化竞争阶段&#xff0c;从当初的云资源竞争&#xff0c;到当下更细分的云服务竞争&#xff0c;随着云计算服务市场继续蓬勃发展&#xff0c;正在催生出多样化的非…

【Spring Boot学习】今天是我的生日,舍友催我去吃饭,我还是坚持写完了Spring Boot配置文件,祝自己生日快乐哈

前言: 大家好,我是良辰丫,上一篇文章中我们已经学习了Spring Boot项目的的创建,今天我们会学习Spring Boot的配置文件,在今天的学习中我们会遇到许多我们不认识的注解,这些注解是Spring MVC中的,我们后续会介绍,大家先不用管这些注解是什么意思.那么,为什么不先学习MVC呢?我想…

5.9 使用Vue CLI创建VUE项目

使用Vue CLI创建VUE项目 目录一、 开发前准备1. 搭建NodeJS环境2. 环境确认3.开发工具 二、创建一个新的VUE项目1. 命令创建新的vue项目2. 选择项目模板3. 选择项目配置4. 选择项目版本5. 选择配置文件存放位置6. 是否将当前的项目配置保存为预设7. 完成构建 三、启动项目 目录…

Yolov3 模型构建和深入掌握快速搭建网络的搭积木方法

&#xff08;一&#xff09;设计Conv2dBatchLeaky 1、了解LeakyReLU激活函数 LeakyReLU 激活层&#xff0c;创建一个可调用对象以计算输入 x 的 LeakReLU 。其中&#xff0c;x为输入的 Tensor 感觉和飞桨的api有点相同&#xff0c;可以对照参考理解&#xff1a; LeakyReLU激活…

【JavaEE】HTTP应用层协议

HTTP应用层协议 文章目录 JavaEE & HTTP应用层协议1. HTTP的报文协议格式1.1 fiddler介绍1.2 HTTP请求1.3 HTTP响应 2. HTTP请求与响应2.1 首行2.1.1 http方法2.1.2 URL2.1.3 版本号 2.2 header与空行2.2.1 Host2.2.2 Content-Type 与 Content-Length2.2.3 User-Agent&…

chatgpt赋能python:Python编程中如何取消上一步操作

Python编程中如何取消上一步操作 Python是一种强大的编程语言&#xff0c;被广泛应用于数据科学、机器学习、Web开发等众多领域。在Python编程过程中&#xff0c;有时会发生一些错误或者需求发生变化&#xff0c;但我们又不想完全重写代码来解决这些问题。这时&#xff0c;我们…

OpenStack部署(一)

OpenStack部署 1. 流程介绍1.1 模块关联1.2 虚拟机创建流程 2. 部署2.1 服务器规划2.2 环境整备1. 配置控制节点域名/计算节点解析2. 关闭控制节点/计算节点selinux和防火墙3. 安装与配置控制节点/计算节点的时间同步服务4. 在控制节点/计算节点执行命令验证时间同步服务5. 在控…

AI文本生成视频,根据文字就能一键生成视频的模型

const name "AI生成视频";console.log(name); 可以从给定的文字内容就能生成短视频&#xff0c;基于文本到图像生成技术&#xff0c;该技术旨在实现文本到视频的生成&#xff0c;可以通过文本生成独一无二的视频&#xff0c;将无限的想象力带入生活。 我们来看看文…

XShell 7 中文版一键安装激活教程

Xshell 7是一款功能强大的终端模拟器&#xff0c;支持SSh2&#xff0c;SSh3&#xff0c;SFTP&#xff0c;TELNET&#xff0c;RLOGIN和SERIAL。通过提供业界先进的性能&#xff0c;Xshell包含了其他SSH客户端无法发现的功能和优势。 Xshell是一款功能强大且安全的终端模拟器&…

12 【nextTick 过渡与动画】

1.nextTick 这是一个生命周期钩子 语法&#xff1a;this.$nextTick(回调函数)作用&#xff1a;在下一次 DOM 更新结束后执行其指定的回调。什么时候用&#xff1a;当改变数据后&#xff0c;要基于更新后的新DOM进行某些操作时&#xff0c;要在nextTick所指定的回调函数中执行…

工厂智慧能源-AcrelCloud-5000智慧能源综合解决方案

功能&#xff1a; AcrelCloud-5000能耗管理云平台采用泛在物联、云计算、大数据、移动通讯、智能传感等技术手段可为用户提供能源数据、统计分析、能效分析、用能预警、设备管理等服务&#xff0c;平台可以广泛应用于多种领域。 ​ 应用场所&#xff1a; 云平台结构&#xf…

xshell是什么软件,xshells7使用教程安装及连接linux的使用方法

Xshell是一款功能强大的终端模拟器&#xff0c;用户可以通过Xshell来查看编辑各种服务器上的文件和执行各类脚本&#xff0c;其基于SSH协议进行登录&#xff0c;安全性非常高&#xff0c;被广泛应用于企业的日常开发运维工作中。它支持SSH1, SSH2, 以及Microsoft Windows 平台的…

阿里java一面凉经

目录 1.Java中int跟integer的区别2.integer在Java中有个缓存的概念&#xff0c;有了解吗3.跟equals的区别&#xff0c;equals的重写怎么进行比较4.在实际开发中为什么不能用浮点类型来存金钱的数据&#xff0c;浮点类不精确的本质是什么5.构造器能被重写吗6.反射相关&#xff1…

Excel VBA代码密码破解

1.查看VBA代码&#xff0c;有密码 2.破解密码&#xff1a; 2.1&#xff1a;修改文件名后缀&#xff0c;修改为压缩包格式 2.2&#xff1a;打开压缩包文件&#xff0c;找到文件&#xff1a;vbaProject.bin 2.3&#xff1a;把这个文件从压缩包中拖出来 2.4&#xff1a;打开.bi…

Leetcode154. 寻找旋转排序数组中的最小值 II

Every day a Leetcode 题目来源&#xff1a;154. 寻找旋转排序数组中的最小值 II 解法1&#xff1a;二分查找 一个包含重复元素的升序数组在经过旋转之后&#xff0c;可以得到下面可视化的折线图&#xff1a; 其中横轴表示数组元素的下标&#xff0c;纵轴表示数组元素的值。…

TDengine3.0与2.0版本的差异

TDengine3.0与2.0版本的差异 一、TDEnigne3.0相关环境构建及使用二、3.0与2.0的版本差异2.1 mnode及集群创建2.2 创建数据库2.3 数据库和超级表的详细查询2.4 查看超级表下有多少子表2.5 RESTful 不兼容2.6 无法修改副本数2.7 消失的时间戳 一、TDEnigne3.0相关环境构建及使用 …

ArgoCD(一): 架构及其模型

1.1 ArgoCD 概览 Argo项目2017年由Applatix公司成立&#xff0c;2018年被Intuit收购&#xff0c;之后&#xff0c;BlackRock为Argo项目贡献了Argo Events这一项目&#xff1b; Argo所有组件都通过kubernetes CRD实现 Argo生态目前主要由四个子项目组成 Argo Workflows &#xf…