sqoop简单回顾总结(代码片段)

Mr.zhou_Zxy Mr.zhou_Zxy     2022-12-12     536

关键词:

Sqoop简单回顾总结

1 Sqoop简介

SQL to Hadoop

开源工具

用于hadoop(hive)与传统数据库之间数据的导入导出

输入:Mysql、Oracle、DB2等关系数据数据导入到Hadoop

输出:从Hadoop的数据导出到Mysql、Oracle等等

2 Sqoop原理

导入和导出都需要在底层调用mapreduce,换言之使用sqoop必须得开yarn。

3 Sqoop安装

需要已具备jdk环境和Hadoop环境

##1. 解压并配置环境变量
[root@hadoop software]# tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/apps/ & cd /opt/apps
[root@hadoop apps]# mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop-1.4.6

[root@hadoop sqoop-1.4.6]# vi /etc/profile
## 自定义环境变量
export JAVA_HOME=/opt/apps/jdk1.8.0_45
export HADOOP_HOME=/opt/apps/hadoop-2.8.1
export HIVE_HOME=/opt/apps/hive-1.2.1
export HBASE_HOME=/opt/apps/hbase-1.2.1
export COLLECT_HOME=/opt/apps/collect-app
export FRP_HOME=/opt/apps/frp
export SCRIPT_HOME=/opt/apps/scripts
export SQOOP_HOME=/opt/apps/sqoop-1.4.6

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/bin
export PATH=$PATH:$COLLECT_HOME:$FRP_HOME:$SCRIPT_HOME:$SQOOP_HOME/bin
export CLASS_PATH=.:$JAVA_HOME/lib
export FLUME_HOME=/opt/apps/flume-1.9.0
export PATH=$PATH:/opt/apps/flume-1.9.0/bin

[root@hadoop sqoop-1.4.6]# source /etc/profile

##2. sqoop-env.sh
[root@hadoop conf]# mv sqoop-env-template.sh sqoop-env.sh
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# included in all the hadoop scripts with source command
# should not be executable directly
# also should not be passed any arguments, since we need original $*

# Set Hadoop-specific environment variables here.

#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/apps/hadoop-2.8.1

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/apps/hadoop-2.8.1

#set the path to where bin/hbase is available
#export HBASE_HOME=

#Set the path to where bin/hive is available
export HIVE_HOME=/opt/apps/hive-1.2.1

#Set the path for where zookeper config dir is
#export ZOOCFGDIR=

##3. 导入jdbc的mysql的驱动导入到sqoop的lib
[root@hadoop sqoop-1.4.6]# cp /opt/apps/hive-1.2.1/lib/mysql-connector-java-5.1.47-bin.jar ./lib/

##4. 测试
[root@hadoop sqoop-1.4.6]# sqoop version
21/05/24 14:27:43 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
Sqoop 1.4.6
git commit id c0c5a81723759fa575844a0a1eae8f510fa32c25
Compiled by root on Mon Apr 27 14:38:36 CST 2015

4 Sqoop简单使用案例

4.1 全量导入

sqoop import \\
--connect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student \\
--target-dir /user/source/student \\
--delete-target-dir \\
--num-mappers 1 \\
--fields-terminated-by "\\t"

4.2 查询导入

sqoop import \\
--connnect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student \\
--target-dir /user/source/student \\
--delete-target-dir \\
--num-mappers 1 \\
--fields-terminated-by "\\t" \\
--query 'select id,name,sex from student where sex = 0 and $CONDITIONS;'

--query "select id,name,sex from student where sex = 0 and \\$CONDITIONS;"

4.3 使用内部提供的增量导入

##1. append模式
sqoop import \\
--connect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student \\
--target-dir /user/hive/warehouse/student \\
--fields-terminated-by '\\001' \\
--split-by id \\
--num-mappers 1 \\
--check-column id \\
--incremental append \\
--last-value 1

##2. lastmodified模式
sqoop import \\
--connect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student \\
--append \\
--target-dir /user/hive/warehouse/student \\
--fields-terminated-by '\\001' \\
--split-by id \\
--num-mappers 1 \\
--check-column create \\
--incremental lastmodified \\
--last-value '2021-07-26 16:13:25'

4.3 按列导入

sqoop import \\
--connnect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student \\
--columns id,sex \\
--target-dir /user/source/student \\
--delete-target-dir \\
--num-mappers 1 \\
--fields-terminated-by "\\t" 

4.4 按列条件查询

sqoop import \\
--connnect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--target-dir /user/source/student \\
--delete-target-dir \\
--num-mappers 1 \\
--fields-terminated-by "\\t" 
--table student \\
--columns id,sex \\
--where "sex=0"

4.5 MySQL To Hive

sqoop import \\
--connnect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student \\
--num-mappers 1 \\
--hive-import \\
--fields-terminated-by "\\t" \\
--hive-overwrite \\
--hive-table student_hive

4.6 MySQL To Hbase

  • 创建Hbase中的表
create 'zxy_hbase','info'
  • 查看
list
  • 执行导入语句
sqoop import \\
--connect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student  \\
--hbase-table zxy_hbase \\
--column-family info  \\
--hbase-create-table \\
--hbase-row-key id

4.7 导出

sqoop export \\
--connect jdbc:mysql://hadoop:3306/zxy \\
--username root \\
--password root \\
--table student  \\
--num-mappers 1 \\
--export-dir /user/hive/warehouse/zxy_hive \\
--input-fields-terminated-by "\\t"

sqoop安装与简单实用(代码片段)

一,sqoop安装    1.解压源码包2.配置环境变量3.在bin目录下的  /bin/configsqoop注释掉check报错信息4.配置conf目录下  /conf/sqoop-env.sh配置hadoop和hive家目录5.导入依赖的jar包至lib目录下  mysql-connector-java-5.1.46-bin.jar/share/hadoop/... 查看详情

助力工业物联网,工业大数据项目之数据采集(代码片段)

文章目录01:Sqoop命令回顾02:YARN资源调度及配置03:MR的Uber模式04:Sqoop采集数据格式问题05:问题解决:Avro格式06:Sqoop增量采集方案回顾01:Sqoop命令回顾目标:掌握Sqoop常用命令的使用路径step... 查看详情

助力工业物联网,工业大数据项目之数据采集(代码片段)

文章目录01:Sqoop命令回顾02:YARN资源调度及配置03:MR的Uber模式04:Sqoop采集数据格式问题05:问题解决:Avro格式06:Sqoop增量采集方案回顾01:Sqoop命令回顾目标:掌握Sqoop常用命令的使用路径step... 查看详情

sqoop的简单使用案例(代码片段)

Sqoop的简单使用案例导入数据在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。(1)RDBMS到HDFS&# 查看详情

elasticsearchjavarestclientapi整理总结——buildingqueries(代码片段)

目录上篇回顾BuildingQueries匹配所有的查询全文查询FullTextQueries什么是全文查询?Match全文查询API列表基于词项的查询TermTermsWildcard基于词项API列表复合查询什么是复合查询?复合查询列表特殊查询WrapperQuery小结参考文档系列文章... 查看详情

sqoop(代码片段)

...动3.4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚本打包5Sqoop一些常用命 查看详情

sqoop(代码片段)

...动3.4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚本打包5Sqoop一些常用命 查看详情

sqoop(代码片段)

...动3.4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚本打包5Sqoop一些常用命 查看详情

sqoop的简单使用(代码片段)

目录import传统关系型数据到导入到HDFS注意事项传统关系型数据到导入到HIVE提升关系型数据库导入到HIVE的执行效率传统关系型数据到导入到HBASEexportsqoop是一种数据集成工具,主要负责异构数据源的互相导入,也就是可以... 查看详情

15.今天内容的总结和回顾(代码片段)

 <!--1.MVC和MVVM的区别--><!--2.学习了Vue中最基本代码的结构--><!--3.插值表达式v-cloakv-textv-htmlv-bind(缩写是:)v-on(缩写是@)v-modelv-forv-ifv-show--><!--4.事件修饰符:.stop.prevent.capture.self.once-->< 查看详情

c++知识回顾总结--queue队列容器(代码片段)

一、说明queue是一种队列适配器,专门设计用于FIFO中操作(先进先出),元素从一端插入容器并从另一端提取。相关API地址为:http://www.cplusplus.com/reference/queue/queue/二、使用方法在C++中只要#include<queue>即可使用队列类,其中在... 查看详情

docker学习总结(60)——docker-compose基础知识回顾总结(代码片段)

一、Docker-Compose的基本介绍Docker-Compose是Docker官方开源的项目,负责实现对Docker容器的快速编排,它是由python编写的。#说下Docker-Compose里的两个基本概念#服务(service):一个应用容器,也就是docker容器,#项目(project):由一组关联的容器组... 查看详情

docker学习总结(60)——docker-compose基础知识回顾总结(代码片段)

一、Docker-Compose的基本介绍Docker-Compose是Docker官方开源的项目,负责实现对Docker容器的快速编排,它是由python编写的。#说下Docker-Compose里的两个基本概念#服务(service):一个应用容器,也就是docker容器,#项目(project):由一组关联的容器组... 查看详情

2020毕业五年自我回顾总结(代码片段)

絮叨迟迟不提笔,时光却不等人。匆匆五年已过,无论这些年过得如何,也该对自己这些年来的工作、生活做个总结,也方便看清接下来的路如何走。我是个偏感性的人,输出或许会有更多的感情色彩在里面... 查看详情

一名普通22届毕业生的22年回顾总结(代码片段)

...的1月27日,春节假期最后一天,来对22年进行一个回顾总结。22年6月及之前,我还是学生 查看详情

大数据之非常详细sqoop安装和基本操作(代码片段)

...功验证启动5、导入mysql表数据到HDFS6、导出HDFS数据到mysql总结Sqoop1、上传解压使用xftp将sqoop的安装包上传到虚拟机解压tar-zxf/opt/software/sqoo 查看详情

2019年总结以及2020年规划(代码片段)

回顾去年没有立是在的flag,只是简单的谈了谈自己缺少什么,但是回顾自己当时写的,对比现在还是值得说一说的。留下去年文章的传送门写给自己的2019年去年的都说了什么?找到一群伙伴,找到一份好的工... 查看详情

sqoop使用入门(代码片段)

...两个版本,1.4.x的为sqoop1,1.99x的为sqoop2,前者因为安装简单,得到了大量使用,后者虽然引进了安全机制、webui,restapi等更加方便使用的特性,但是安装过程繁琐暂时不记录。以下是sqoop1的结构图,它只提供一个sqoop客户端,使... 查看详情