关键词:
Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
下面我们进一步了解Sqoop安装部署过程,以及如何从Mysql数据库导入数据到hive。
一.前期准备
1.1 Hadoop
版本:Hadoop 2.6.5
安装:Hadoop集群安装和部署详解
1.2 Mysql
版本:5.6.33 MySQL Community Server (GPL)
1.3 Mysql驱动包
版本:mysql-connector-java-5.1.40-bin.jar
1.4 Hive
版本:apache-hive-2.1.1-bin
安装:《Hive安装和部署详解》
1.5 Sqoop安装包
版本:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
二.Sqoop安装部署
2.1 Sqoop部署
#定位
cd /opt/software
#解压
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
#复制sqoop到/usr/local/sqoop
cp -r sqoop-1.4.6.bin__hadoop-2.0.4-alpha /usr/local/sqoop
2.2 Mysql驱动包
把1.3中的mysql驱动包放置到$SQOOP_HOME\\lib目录
三.Sqoop配置
3.1 Sqoop环境变量配置
vi /etc/profile
#sqoop
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
#重新编译profile
source /etc/profile
3.2 sqoop-env.sh配置
#定位
cd /usr/local/sqoop/conf
#创建sqoop-env.sh文件
cp -r sqoop-env-template.sh sqoop-env.sh
#配置sqoop-env.sh
vi sqoop-env.sh
---------------------------------------------------------------
# Set Hadoop-specific environment variables here.
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/usr/local/hadoop
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/usr/local/hadoop
#set the path to where bin/hbase is available
#export HBASE_HOME=
#Set the path to where bin/hive is available
export HIVE_HOME=/usr/local/hive
#Set the path for where zookeper config dir is
注意:根据实际路径配置HADOOP_COMMON_HOME,HADOOP_MAPRED_HOME,HIVE_HOME
3.3 sqoop-site.xml配置
#创建sqoop-site.xml
cp -r sqoop-site-template.xml sqoop-site.xml
四.Mysql数据导入Hive
4.1 启动dfs+yarn
#定位
cd /usr/local/hadoop
#启动dfs+hive
sbin/start-all.sh
4.2 测试Sqoop
sqoop help
Available commands:
codegen Generate code to interact with database records
create-hive-table Import a table definition into Hive
eval Evaluate a SQL statement and display the results
export Export an HDFS directory to a database table
help List available commands
import Import a table from a database to HDFS
import-all-tables Import tables from a database to HDFS
import-mainframe Import datasets from a mainframe server to HDFS
job Work with saved jobs
list-databases List available databases on a server
list-tables List available tables in a database
merge Merge results of incremental imports
metastore Run a standalone Sqoop metastore
version Display version information
4.3 Mysql数据导入Hive测试
4.3.1 Mysql数据库新建表
新建表T_USER,并插入测试数据
4.3.2 Hive中新建表,并制定存放HDFS目录
create table IF NOT EXISTS T_USER
(
id BIGINT COMMENT \'id\',
name STRING COMMENT \'name\',
password STRING COMMENT \'password\'
) COMMENT \'T_USER\'
ROW format delimited fields terminated BY \'\\001\' LOCATION \'/usr/hive/warehouse/hivetest.t_user\';
4.3.3 Sqoop中查看Mysql数据库
sqoop list-databases --connect jdbc:mysql://192.168.32.128:3306/ --username root --password root
4.3.4 Sqoop中查看Mysql数据库表
sqoop list-tables --connect jdbc:mysql://192.168.32.128:3306/hive --username root --password root
4.3.5 Sqoop导入Mysql数据到Hive
sqoop import -m 1 --connect jdbc:mysql://192.168.32.128:3306/hive --username root --password root --table t_user --hive-import --hive-overwrite --hive-table hivetest.t_user --hive-drop-import-delims
4.3.6 查看Mysql导入的数据
4.3.6.1 hive中查看
对比:与Mysql中表T_USER数据一致。
4.3.6.2 hadoop中查看
至此,以上为本文所有内容。
————————————————
版权声明:本文为CSDN博主「IT狗探求」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a123demi/article/details/72742553
sqoop的介绍以及部署安装(代码片段)
1.sqoop的介绍(1)介绍: Sqoop是Apache旗下的一款“hadoop和关系型数据库服务器之间传送数据”的工具。 导入数据:MySQL、Oracle导入数据到hadoop的hdfs、hive、HBASE等数据存储系统。 导出数据:从hadoop的文件... 查看详情
sqoop从hive导数据到mysql中为啥一直报errortool.exporttool:
...技术Asqoop导入mysql中表不需要手动创建。连接到hive的默认数据库后会自动创建的。 Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导入到Hadoop... 查看详情
sqoop(代码片段)
尚硅谷大数据技术之Sqoop 第1章Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的... 查看详情
sqoop
官网:http://sqoop.apache.org/Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中 安装... 查看详情
sqoop安装(代码片段)
...Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。总之Sqoop是一个转换工具,用于在关系型数据库与HDFS之间进行数据转换。 sqoop安装步骤... 查看详情
sqoop学习
...间进行数据迁移的工具。它充分利用了mapreduce的并行特点以及批处理的方式加快数据的传输,同时也借助mapreduce实现了容错。sqoop架构1)sqoop目前有两个版本sqoop1 查看详情
sqoop集群环境搭建|mysql数据导出hdfs测试(代码片段)
...。Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。Hadoop生态系统包括:HDFS、Hive、Hbase等RDBMS体系包括:Mysql、Oracle等关系型数据库Sqoop可以理解为... 查看详情
sqoop的安装与常用抽数操作(代码片段)
sqoop简介处理sqoop环境配置处理sqoop数据导入导出处理一:sqoop简介处理-1.Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可... 查看详情
chd-5.3.6集群上sqoop安装(代码片段)
...:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中... 查看详情
sqoop从入门到实战(代码片段)
...msp;Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql,postgresql,...)间进行数据的高校传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据... 查看详情
sqoop导入数据到mysql原理_sqoop的详细使用及原理
...数据导入到关系型数据库中。2、sqoop的特点:sqoop的底层实现是mapreduce,所以sqoop依赖于hadoop,数据是并行导入的。3、sqoop的安装和配置1)安装:解压缩sqo 查看详情
sqoop从oracle导数据后是空表
用sqoop将oracle数据库中的表导入hive,命令执行后没有显示错误信息,显示已经成功,hive中也已经存在同名的表,但是select查询时,没有数据,这是怎么回事?请大家指教!参考技术Asqoop语句发来 查看详情
sqoop导数据到hive
sqoop配置安装以及导入
安装sqoop的前提是已经具备java和hadoop的环境1.上传并解压 (要导mysql的数据)得加入mysql的jdbc驱动包接下来验证启动 Sqoop的数据导入“导入工具”导入单个表从RDBMS到HDFS。表中的每一行被视为HDFS的记录。所有记录都... 查看详情
springboot整合sqoop(代码片段)
...qoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导... 查看详情
怎么用sqoop增量从hive往oracle数据库导数据
参考技术A你输入sqoopimport的目录在哪里?如果在/usr/sqoop下输入的命令,那么在/usr/sqoop下输入hive登入,然后showtables查看。本回答被提问者采纳 查看详情
linux下用sqoop导入mysql有个表最多只能导入10580条记录,怎么改才能让它放多点
...centos6.264bitmysql版本是5.1.69我用的是sqoop工具导入格式化的数据,导入的数据没问题,就是只能导入10580条。我把数据分割成每个文件10000行,分别导入,结果第一个文件全部导入,第二个就只能导入580条数据。不知道是sqoop的原因... 查看详情
sqoop的安装部署
1.下载 sqoop-1.4.6-cdh5.7.6.tar.gz2.在linux中进行安装, tar-zxvf/opt/tools/spark-1.6.1-bin-2.6.0-cdh5.7.6.tgz -C/opt/cdh-5.7.6/3.进入sqoop安装目录,我装在/opt/cdh-5.7.6/sqoop-1.4.6-cdh5.7.6目录中4.进入conf目录,为 查看详情