首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Sqoop篇】----Sqoop从搭建到应用案例

【Sqoop篇】----Sqoop从搭建到应用案例

作者头像
LhWorld哥陪你聊算法
发布于 2018-09-13 14:02:25
发布于 2018-09-13 14:02:25
1.3K0
举报

一、前述

今天开始讲解Sqoo的用法搭建和使用。Sqoop其实功能非常简单。主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

二、 配置

flume配置很简单:

第一步:将flume-env.sh.template模板文件改名为flume-env.sh文件

第二步 :更改里面的JAVA_HOME

第三步:配置环境变量

三、 使用

官方参考手册:http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_connecting_to_a_database_server

举几个简单例子:

导入:

案例一(步骤是Mysql---HDFS)的顺序):

import --connect jdbc:mysql://node3:3306/test --username root --password 123 --as-textfile --columns id,name,msg --table psn --delete-target-dir --target-dir /sqoop/data -m 1 可以将上述命令定义在一个脚本里面:

使用如下命令: sqoop --options-file sqoop1

案例二(步骤是Mysql---Hive)的顺序):实际上就是Mysql-HDFS-Hive里面

import --connect jdbc:mysql://node3/test --username root --password 123 --as-textfile --query 'select id, name, msg from psn where id like "1%" and $CONDITIONS' --delete-target-dir --target-dir /sqoop/tmp   -m 1 --hive-home /home/hive-1.2.1 --hive-import --create-hive-table --hive-table t_test

 PS:先导入到hdfs上的一个临时目录,然后再导入到Hive的数据管理目录/home/hive-1.2.1。

and $CONDITIONS是一个查询规则,必须加上。

导出: 案例一。将HDFS上的数据导出到Mysql中去 export --connect jdbc:mysql://node3/test --username root --password 123 -m 1 --columns id,name,msg --export-dir /sqoop/data --table h_psn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档