sqoop-介绍以及安装

简介

sqoop是一款开源工具,用于在hive和传统数据库间mysql做数据传递,也就是可以从hive导入到关系型数据库也可以从关系型数据库导入到hive这意思

底层原理

事实上sqoop就是把底层原理翻译成了mapreduce程序
翻译出的mapreduce程序主要是对inputformat和outputformat进行定制

安装

前提:有java,有hadoop。

下载地址

http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/

部署

解压
tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/
然后修改配置文件
进入conf目录
mv sqoop-env-template.sh sqoop-env.sh
然后修改sqoop-env.sh
下面这几个有啥加啥

export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2
export HIVE_HOME=/opt/module/hive
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export ZOOCFGDIR=/opt/module/zookeeper-3.4.10
export HBASE_HOME=/opt/module/hbase

然后为了连接mysql,要把驱动放进flume的lib目录下
就是mysql解压后的下面这个驱动
在这里插入图片描述
然后放进去
在这里插入图片描述

测试

1.看看配置成功了么
[root@node1 sqoop]# bin/sqoop help
Warning: /opt/module/sqoop/bin/…/…/hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /opt/module/sqoop/bin/…/…/hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/module/sqoop/bin/…/…/accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/07/29 18:14:15 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
usage: sqoop COMMAND [ARGS]

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
有一堆的waring+命令蹦出来就成功了
2.测试连mysql
bin/sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 123456
在这里插入图片描述
这样就成功了

hive导入到mysql

hive导入到RDBMS对于sqoop来说是export的过程,mysql导入到hive那么就是imlort的过程
例子:

sqoop export --connect jdbc:mysql://localhost:3306/export_data --username root --password 123456 --table student --num-mappers 1 --export-dir /user/hive/warehouse/student --input-fields-terminated-by "\t"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值