sqoop导出实战

news2024/11/26 15:53:30

Sqoop导出实战

普通导出

在Sqoop中,使用export进行导出,指的是从HDFS中导出数据到MySql中:

  1. 构建MySql的表:
CREATE TABLE `u2` (
  `id` int(11) DEFAULT NULL,
  `age` int(11) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
复制代码
  1. HDFS导出到MySql
第一种:
上传数据到HDFS
[root@qianfeng01 ~]# vim u2.txt
1,18
2,20
3,30
[root@qianfeng01 ~]# hdfs dfs -put u2.txt /

导出语句:
[root@qianfeng01 sqoop-1.4.7]# sqoop export --connect jdbc:mysql://qianfeng01:3306/qfdb \
--username root \
--password 123456 \
--table u2 \
--export-dir '/u2.txt' \
--input-fields-terminated-by ',' \
-m 1
复制代码

要注意以下问题

  • MySql表的编码格式做为utf8,HDFS文件中的列数类型和MySql表中的字段数一样,最好指定分隔符
  • 导出暂不能由Hbase表导出MySql关系型数据库中
  • --export-dir是一个hdfs中的目录,它不识别_SUCCESS文件
  • --query导入的时候注意设置问题。
  • 导出数据中有些列值有"null",会报没法解析
  • 导出数据的类型需要和MySql中的一致(能自动转没有问题)

更新并插入导出

场景:

多维结果数据导出;异常重跑数据

--update-mode : 
updateonly,是默认,仅更新,不会新增数据;
allowinsert :更新并允许插入
--update-key : 指定更新字段
复制代码
CREATE TABLE `upv` (
  `country_id` int(11) NOT NULL AUTO_INCREMENT,
  `visits` int(11) DEFAULT NULL,
  PRIMARY KEY (`country_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

导入数据:
[root@qianfeng01 sqoop-1.4.7]# sqoop import --connect jdbc:mysql://qianfeng01:3306/qfdb \
--username root \
--password 123456 \
--table upv \
--target-dir /sqoopdata/upv \
-m 1  \
--fields-terminated-by ',' \
--null-string '\\N' \
--null-non-string '0';

导出语句:
[root@qianfeng01 sqoop-1.4.7]# sqoop export --connect jdbc:mysql://qianfeng01:3306/qfdb \
--username root \
--password 123456 \
--table upv \
--export-dir /sqoopdata/upv/* \
--input-fields-terminated-by "," \
--update-mode allowinsert \
--update-key country_id
复制代码

Sqoop导出parquet格式的数据

导入数据到HDFS中为parquet格式:

[root@qianfeng01 sqoop-1.4.7]# sqoop import --connect jdbc:mysql://qianfeng01:3306/qfdb \
--username root \
--password 123456 \
--table u2 \
--delete-target-dir \
--target-dir '/sqoopdata/u2' \
-m 1 \
--fields-terminated-by '\t' \
--null-string '\\N' \
--null-non-string '0' \
--as-parquetfile
复制代码

Sqoop的Hcatalog方式

# 创建表:
CREATE TABLE `par` (
  `id` int(11) NOT NULL DEFAULT '0',
  `age` int(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

# hive创建表:
hive> create  table if not exists par(
`id` int,
 `age` int
)
row format delimited fields terminated by '\t'
stored as parquet
location '/sqoopdata/u2/';
复制代码

将hive包中的lib目录下的hcatalog相关包拷贝到sqoop的lib目录中去:

考虑将hcatalog的包放到sqoop中或者做环境变量。

必须保证hive对mysql有执行权限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
复制代码

导出parquet格式语句:

[root@qianfeng01 sqoop-1.4.7] sqoop export \
--connect jdbc:mysql://qianfeng01:3306/qfdb \
--username root \
--password 123456 \
--table par \
--hcatalog-database default \
--hcatalog-table par \
-m 1

参数说明:
--table:MySQL库中的表名
--hcatalog-database:Hive中的库名
--hcatalog-table:Hive库中的表名,需要抽数的表

 更多大数据精彩内容欢迎B站搜索“千锋教育”或者扫码领取全套资料

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

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

相关文章

LabVIEW开发基于脑机接口的航空航天相机载体

LabVIEW开发基于脑机接口的航空航天相机载体 脑机接口是人脑与外部世界之间的直接通信渠道。脑机接口是一个全新的人机界面系统。该系统获取和分析生物电信号,目标是直接在大脑和外部设备之间创建一个通信通道。计算机或微处理器的发展提高了复杂的数据处理能力。生…

SolidWorks如何批量转换文件为最新版?

对于 SOLIDWORKS 的每个新版本,文件格式都会更新以适配最新的性能升级。当您每次打开旧版本 SOLIDWORKS 文件时,都会显示一条消息,通知您这是一个较旧的文件。保存文件时,必须先将文件转换为最新版本,然后再保存。这个…

2023年5月青少年机器人技术等级考试理论综合试卷(四级)

青少年机器人技术等级考试理论综合试卷(四级)2023.6 分数: 100 题数: 30 一、 单选题(共 20 题, 共 80 分) 1.Arduino C 语言, 部分程序如下, 串口监视器输出结果是“D”时, 变量 i …

青少年和成人错误监测神经源的多模态研究

导读 儿童和成人对目标导向行为的监控能力不同,这可以通过几种任务和技术来测量。此外,最近的研究表明,错误监测的个体差异在调节焦虑情绪的倾向方面具有重要作用,而且这种调节作用会随着年龄的增长而变化。本研究使用多模态方法…

BLIP2原理解读——大模型论文阅读笔记二

一. 论文与代码 论文:https://arxiv.org/abs/2301.12597 代码:https://github.com/salesforce/LAVIS/tree/main/projects/blip2 二. 解决问题 端到端训练视觉语言模型需要大尺度模型及大规模数据,该过程成本大,本文提出方法基于…

多模态网络

目录 多模态网络概念未来网络体系研究网络管控 多模态网络概念 将多种网络技术通过可编程技术以网络模态的形式融合到多模态网络之中,力求整合多种网络优势,提升网络对多元业务的承载能力。 多模态网络中存在多种标识体系,如内容标识、身份标…

FPGA XDMA 中断模式实现 PCIE X8 OV5640摄像头视频采集 提供工程源码和QT上位机源码

目录 1、前言2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案视频采集和缓存XDMA简介XDMA中断模式QT上位机及其源码 5、vivado工程详解6、上板调试验证7、福利:工程代码的获取 1、前言 PCIE(PCI Express)采用了目前业内流行的点对点串…

ACE中TASK架构简介及简单应用

首先配置ACE环境&#xff1a; #include <iostream> #include "ace/Synch.h" #include "ace/Task.h" #include "ace/Message_Block.h" #ifdef _DEBUG #pragma comment(lib,"aced.lib") //#pragma comment(lib,"mysqlcppcon…

Python实现逻辑回归(Logistic Regression)

&#x1f4a5; 项目专栏&#xff1a;【Python实现经典机器学习算法】附代码原理介绍 文章目录 前言一、基于原生Python实现逻辑回归算法二、逻辑回归模型的算法原理三、算法实现3.1 导包3.2 定义随机数种子3.3 定义逻辑回归模型3.3.1 模型训练3.3.1.1 初始化参数3.3.1.2 正向传…

电力通信实用小技巧,一看就懂!

随着电力通信技术的快速发展&#xff0c;电力通信机房扮演着至关重要的角色&#xff0c;确保电力系统的正常运行和通信网络的稳定连接。 然而&#xff0c;电力通信机房的环境和设备面临着各种潜在的风险和挑战&#xff0c;如温度过高、湿度异常、电力故障等。为了有效监控和管理…

Canonical:我们对探索完全容器化、不可改变的Ubuntu桌面的想法感到兴奋

导读Canonical的Oliver Smith近日在一篇博文中写道&#xff0c;这个最受欢迎的GNU/Linux发行版之一背后的公司很高兴在不久的将来使用Ubuntu Core和Snaps探索完全容器化和不可变的Ubuntu桌面的想法。 在今年早些时候宣布从Ubuntu 23.04&#xff08;Lunar Lobster&#xff09;开…

计算机网络——物理层

物理层 物理层是计算机网络体系结构中的底层层级&#xff0c;负责处理计算机与物理传输媒介之间的接口和通信细节。它主要关注如何在物理媒介上传输原始比特流&#xff0c;并确保数据能够可靠地从发送方传输到接收方。 物理层的主要任务包括&#xff1a; 传输介质&#xff1a…

基于springboot的阅读系统-计算机毕设 附源码86095

基于springboot的阅读系统 摘 要 从古至今&#xff0c;阅读都是人们学习新技能&#xff0c;新知识的一种方式。随着互联网时代的到来&#xff0c;传统的纸质阅读早已满足不了人们对于阅读的渴望。在这样的大背景下&#xff0c;电子阅读便快速崛起。越来越多的人们喜欢愿意通过这…

这个传感器真的可以解决问题吗?

倒闭了 之前在文章里面写了我创业开发的猫塔&#xff0c;其中有一个问题是&#xff0c;因为猫砂重量不一致&#xff0c;磁铁老化等等问题&#xff0c;可能导致在倒砂的时候不能准确让沙仓回到正确的位置。 有个朋友在文章后面回复了一个方案&#xff0c;就是用编码器。 先简单说…

Linux网络操作实操指南:从网络配置到安全管理

目录 1. 网络配置2. 网络诊断3. 网络服务管理4. 网络安全5. 小结 Linux是一种开源的操作系统&#xff0c;具有稳定性高、安全性好、可定制性强等优点。作为一名Linux用户&#xff0c;掌握基本的Linux网络操作是非常必要的。以下是Linux网络操作的几个方面&#xff0c;包括具体的…

6款程序员实用工具,老少皆宜,你一定用得上!

从事开发行业已有4年之久&#xff0c;在此期间积累了不少好用的开发工具&#xff0c;希望帮助各位在工作上化繁为简&#xff0c;提升个人生产力。 这里的分享本着1个原则去做&#xff1a; 凡是需要重复做的&#xff0c;必须使用自动化工具来完成。 01、单元测试工具——PHPUnit…

7从0开始学PyTorch | PyTorch中求导、梯度、学习率、归一化

今天我们继续&#xff0c;接着昨天的进度。 先回顾一下上一小节&#xff0c;我学到了构建起一个模型函数和一个损失函数&#xff0c;然后我们使用人眼观察损失&#xff0c;并手动调整模型参数。然而看起来&#xff0c;我们虽然看到了损失&#xff0c;但我们调整参数的方案跟损失…

【Python学习】—认识Python与环境搭建(一)

【Python学习】—认识Python与环境搭建&#xff08;一&#xff09; 本章节思维导图如下&#xff1a; 一、Python解释器 首先一个基本原理就是&#xff1a;计算机只认识二进制&#xff0c;0和1 Python解释器&#xff0c;是一个计算机程序&#xff0c;用来翻译Python代码&…

十六、Docker Swarm的介绍和使用

一、Swarm简介 1、swarm介绍 Dockere Swarm是Docker公司推出的用来管理docker集群的编排工具&#xff0c;代码开源在https://github.com/docker/swarm&#xff0c; 它是将一群Docker宿主机变成一个单一的虚拟主机&#xff0c;提供了标准的 Docker API&#xff0c;所有任何已经与…

MySQL8超详细安装教程

MySQL的下载与安装 一、MySQL8下载 MySQL Community Server 社区版本&#xff0c;开源免费&#xff0c;自由下载&#xff0c;但不提供官方技术支持&#xff0c;适用于大多数普通用户。 MySQL Enterprise Edition 企业版本&#xff0c;需付费&#xff0c;不能在线下载&#x…