sqoop的简介及安装

安装注意点:1.配置文件sqoop-env.sh

​ 2.导入jar包

运行注意点(某种情况下昂 不是所有情况):

1.指定mysql驱动 --driver com.mysql.jdbc.Driver \

2.指定m即MapReduce的个数 -m 1 \

2.7.1 Sqoop简介以及使用

2.7.1.1 产生背景

基于传统关系型数据库的稳定性,还是有很多企业将数据存储在关系型数据库中;早期由于工具的缺乏,Hadoop与传统数据库之间的数据传输非常困难。基于前两个方面的考虑,需要一个在传统关系型数据库和Hadoop之间进行数据传输的项目,Sqoop应运而生。

2.7.1.2 Sqoop是什么

Sqoop是一个用于Hadoop和结构化数据存储(如关系型数据库)之间进行高效传输大批量数据的工具。
它包括以下两个方面:
    可以使用Sqoop将数据从关系型数据库管理系统(如MySQL)导入到Hadoop系统(如HDFS、Hive、HBase)中
    将数据从Hadoop系统中抽取并导出到关系型数据库(如MySQL)
Sqoop的核心设计思想是利用MapReduce加快数据传输速度。
也就是说Sqoop的导入和导出功能是通过基于Map Task(只有map)的MapReduce作业实现的。
所以它是一种批处理方式进行数据传输,难以实现实时的数据进行导入和导出。

官网介绍:
Apache Sqoop(TM) is a tool designed for efficiently transferring bulk 
data between Apache Hadoop and structured datastores such as relational databases.

2.7.1.3 特点

优点:它可以将跨平台的数据进行整合。
缺点:它不是很灵活。
mysql <--- > hdfs
mysql ---> hive 
mysql ---> hbase

sqoop的重要的几个关键词??
import : 从关系型数据库到hadoop
export : 从hadoop到关系型数据库。

2.7.2 Sqoop的安装

1、解压配置环境变量
tar -zxvf /home/sqoop... -C /usr/local/sqoop...
vi /etc/profile
2、mv ./conf/sqoop-env-template.sh ./conf/sqoop-env.sh

3、配置文件:vi ./conf/sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/hadoop-2.7.1/
export HADOOP_MAPRED_HOME=/usr/local/hadoop-2.7.1/
export HIVE_HOME=/usr/local/hive-1.2.1/
export ZOOCFGDIR=/usr/local/zookeeper-3.4.7/

4、将mysql的驱动包导入到sqoop安装目录下的lib包下面
cp /home/mysql-connector-java-5.1.6.jar ./lib/
5、启动测试:
sqoop version
sqoop help
sqoop注意

sqoop语句要求写成一行,多行时用\连接

sqoop的相关属性有先后顺序,有搭配要求

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

See 'sqoop help COMMAND' for information on a specific command.

查看数据库:

查看数据库:
sqoop list-databases \
--connect jdbc:mysql://hadoop01:3306 \
--username root --password root;
查看test库下的表:
sqoop list-tables \
--connect jdbc:mysql://hadoop01:3306/test \
--username root --password root;

结果如下图:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值