首页 > 其他 > 详细

大数据实践(九)--sqoop安装及基本操作

时间:2020-11-25 12:14:29      阅读:38      评论:0      收藏:0      [点我收藏+]

前置工具及环境

Hadoop 2.7.3

sqoop 1.4.6

mysql 8

mysql-connector-java-8.0.20.jar

java-json.jar

一、简介

Sqoop 是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出:

  • 导入数据:从 MySQL,Oracle 等关系型数据库中导入数据到 HDFS、Hive、HBase 等分布式文件存储系统中;
  • 导出数据:从 分布式文件系统中导出数据到关系数据库中。

其原理是将执行命令转化成 MapReduce 作业来实现数据的迁移。

二、安装

1、解压、配置环境变量

tar -zxvf  sqoop-1.4.6.tar.gz

其他步骤略去。

2、修改环境文件

进入安装目录的conf下,拷贝模板

cp sqoop-env-template.sh sqoop-env.sh

在文件中修改hadoop的变量。

sqoop使用mapReduce处理数据,所以以下两个变量必须修改。

export HADOOP_COMMON_HOME=/usr/local/hadoop

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/usr/local/hadoop

3、加入jar包

在lib目录下加入Mysql和处理json的jar包。

mysql-connector-java-8.0.20.jar 

#  处理json
java-json.jar 

查看版本

$ sqoop version
Warning: /usr/local/sqoop/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /usr/local/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/11/12 14:34:17 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
Sqoop 1.4.6
git commit id 
Compiled by jenkins on Tue Aug 23 00:56:12 PDT 2016

三、数据转换

1、查看mysql

没有mysql驱动会报错

#链接数据库,查看库
sqoop list-databases --connect jdbc:mysql://ip:3306/ --username root --password root


#连接数据库,查看表
sqoop list-tables --connect jdbc:mysql://ip:3306/mysql  --username root --password root 

2、mysql-hdfs

将mysql数据导入hdfs

sqoop import --connect jdbc:mysql://ip:3306/mysql \     
--username root --password root --table help_keyword \           # 待导入的表
--delete-target-dir \            # 目标目录存在则先删除
--target-dir /sqoop \            # 导入的目标目录
--fields-terminated-by ‘\t‘  \   # 指定导出数据的分隔符
-m 3    

将hdfs数据导入mysql中

#mysql中需要预先建表
CREATE TABLE help_keyword_from_hdfs LIKE help_keyword ;

sqoop export      --connect jdbc:mysql://ip:3306/mysql     --username root     --password root     --table help_keyword_from_hdfs \        # 导出数据存储在 MySQL 的 help_keyword_from_hdf 的表中
    --export-dir /sqoop      --input-fields-terminated-by ‘\t‘    --m 3 

3、sqoop转换hbase、hive、mysql等

导入导出过程中可能会出现以下冲突:

主键错误
乱码

大数据实践(九)--sqoop安装及基本操作

原文:https://www.cnblogs.com/cgl-dong/p/14034914.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!