BG.Sqoop
1. 下载 Sqoop,并复制到虚拟机
http://sqoop.apache.org/
2. 安装Sqoop
tar zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz #解压 SQOOP
mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop-1.4.6 #重命名
vim /etc/profile #修改环境变量
增加 Sqoop环境变量
SQOOP_HOME=/opt/sqoop-1.4.6
PATH=$SQOOP_HOME/bin:...$PATH
source /etc/profile #source环境变量
cd /opt/sqoop-1.4.6/conf #修改Conf文件
cp sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
export HADOOP_COMMON_HOME=/opt/hadoop-2.7.3
export HADOOP_MAPRED_HOME=/opt/hadoop-2.7.3
sqoop version #检查 Sqoop安装 是否成功
3. jdbc
下载 mysql-connector-java-5.1.41.tar.gz
tar zxf mysql-connector-java-5.1.41.tar.gz
cp mysql-connector-java-5.1.41-bin.jar /opt/sqoop-1.4.6/lib/
4. Import
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata #默认导入hdfs://user/root/customers/
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata --table customers --target-dir /classicmodels/customers #增加 hdfs路径
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --columns "customerNumber, customerName, phone, city" --username bigdata --target-dir /classicmodels/customers_SpecificColumns #指定特定的列
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_parallel8 -m 8 #设置并行度为8
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_Sequence --class-name bigdata.classicmodels.customers --as-sequencefile #设置生成的类名和导入到sequencefile
You can import data in one of two file formats: delimited text or SequenceFiles
Delimited text is the default import format; SequenceFiles are a binary format that store individual records in custom record-specific data types;
SequenceFiles is higher-performance than reading from text files, as records do not need to be parsed
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_Delimiters --fields-terminated-by '\t' --lines-terminated-by '\n' --optionally-enclosed-by '\"' #分割;fields,字段; lines,行; --optionally-enclosed-by,字段内容按照(")封闭
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customer_Where --where "customerNumber < 130" #指定Where条件
sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --columns "customerName, phone, city" --username bigdata --target-dir /classicmodels/customer_split --split-by customerName -m 2 #按照customerName分割任务,设置并行度(MapReduce)
5. import-all-tables
hdfs dfs -rm -f -R -skipTrash /user #删除hdfs目录,-skipTrash,不移动到回收站
sqoop import-all-tables --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata #导入所有表
6. export
sqoop export --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers_export --username bigdata --fields-terminated-by ',' --lines-terminated-by '\n' --optionally-enclosed-by '\"' --export-dir /user/root/customers #将HDFS目录下的数据导入到MySQL的表中。
7. job
sqoop job --create sJob -- import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_Job #创建Job
sqoop job --list #列出当前所有Job
sqoop job --show sJob #显示sJob的详细信息
sqoop job --exec sJob #执行Sqoop Job
sqoop job --exec sJob -- --username root #在--之后,重新指定Job参数
8. codegen
sqoop codegen --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --outdir /tmp/ -class-name customer #生成jar包到指定目录
9. merge
sqoop merge --new-data /classicmodels/customers/part-m-00000 --onto /classicmodels/customers/part-m-00001 --target-dir /classicmodels/customers/merged --merge-key customerNumber --jar-file /tmp/sqoop-root/compile/70b8bc2b57230f3240f589f594d9d85f/customer.jar --class-name customer
10. eval
sqoop eval --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata --query "Select customerNumber, customerName, contactLastName, contactFirstName From customers Limit 10" #eval,直接执行SQL语句并将结果显示在控制台
11. list-databases
sqoop list-databases --connect jdbc:mysql://bigdata.mysql:3306 --username bigdata #显示所有的databases
12. list-tables
sqoop list-tables --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata #显示database下的所有表
13. help
sqoop help import #显示sqoop工具的帮助
14. version
sqoop version
BG.Sqoop的更多相关文章
- sqoop:Failed to download file from http://hdp01:8080/resources//oracle-jdbc-driver.jar due to HTTP error: HTTP Error 404: Not Found
环境:ambari2.3,centos7,sqoop1.4.6 问题描述:通过ambari安装了sqoop,又添加了oracle驱动配置,如下: 保存配置后,重启sqoop报错:http://hdp0 ...
- 安装sqoop
安装sqoop 1.默认已经安装好java+hadoop 2.下载对应hadoop版本的sqoop版本 3.解压安装包 tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-a ...
- Hadoop学习笔记—18.Sqoop框架学习
一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...
- Oozie分布式任务的工作流——Sqoop篇
Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL ...
- [大数据之Sqoop] —— Sqoop初探
Sqoop是一款用于把关系型数据库中的数据导入到hdfs中或者hive中的工具,当然也支持把数据从hdfs或者hive导入到关系型数据库中. Sqoop也是基于Mapreduce来做的数据导入. 关于 ...
- [大数据之Sqoop] —— 什么是Sqoop?
介绍 sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具.你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中:也可以把数据从hdfs中导出到关系型数据 ...
- Sqoop切分数据的思想概况
Sqoop通过--split-by指定切分的字段,--m设置mapper的数量.通过这两个参数分解生成m个where子句,进行分段查询.因此sqoop的split可以理解为where子句的切分. 第一 ...
- sqoop数据导出导入命令
1. 将mysql中的数据导入到hive中 sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username r ...
- Apache Sqoop - Overview——Sqoop 概述
Apache Sqoop - Overview Apache Sqoop 概述 使用Hadoop来分析和处理数据需要将数据加载到集群中并且将它和企业生产数据库中的其他数据进行结合处理.从生产系统加载大 ...
随机推荐
- FunDA(5)- Reactive Streams:Play with Iteratees
FunDA的设计目标就是把后台数据库中的数据搬到内存里,然后进行包括并行运算的数据处理,最后可能再对后台数据库进行更新.如果需要把数据搬到内存的话,那我们就必须考虑内存是否能一次性容纳所有的数据,有必 ...
- 记录php漏洞--宇宙最强语言 PHP 爆出 DoS 漏洞,可以直接灌满 CPU
站长之家(Chinaz.com)5月20日消息 近日,PHP被爆出存在远程DOS漏洞,若黑客利用该漏洞构造PoC发起连接,容易导致目标主机CPU被迅速消耗.此漏洞涉及众多PHP版本,因而影响范围极大 ...
- 微信小程序redirect 到tab不刷新
// 更新2018/11/20:现在小程序的页面栈长度为10 更正 2018/11/20: 经过一段时间的实践,我发现以前方法存在很多问题,比如 getCurrentPages 方法并不在官方的 AP ...
- SecureCRT连接Ubuntu,centos失败,长时间的重新连接,连接不了解决办法
Ubuntu,centos默认未安装ssh远程加密连接服务.使用命令,安装即可. 0.sudo apt-get install openssh-server openssh-client 1.rpm ...
- js获取时间的函数集
var mydate = new Date(); mydate.getYear(); //获取当前年份(2位) mydate.getFullYear(); //获取完整的年份(4位,1970-???? ...
- cobbler koan自动重装系统
介绍 koan是kickstart-over-a-network的缩写,它是cobbler的客户端帮助程序,koan允许你通过网络提供虚拟机,也允许你重装已经存在的客户端.当运行时,koan会从远端的 ...
- POJ 1047
#include <iostream> #define MAXN 100 using namespace std; char _m[MAXN]; int ans[MAXN]; int ma ...
- Top Leaders社区发现算法(top leaders community detection approach in information networks)
一.概念 复杂网络:现实生活中各种系统都可以看做成复杂网络,复杂网络构成包括节点和边,节点是网络中的基本组成单元,节点之间的联系或者关系是网络中的边.例如 电力网络:基站代表节点,基站之间是否互通表示 ...
- Java之IO(八)PipedIutputStream和PipedOutputStream
转载请注明源出处:http://www.cnblogs.com/lighten/p/7056278.html 1.前言 本章介绍Java的IO体系中最后一对字节流--管道流.之前在字节数组流的时候就说 ...
- webpack处理url资源的配置
webpack处理url资源的配置 1.安装 npm i url-loader -D 2.修改webpack.config.js const path = require('path'); // 启用 ...