前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Apache Sqoop 将mysql导入到Hadoop HDFS

Apache Sqoop 将mysql导入到Hadoop HDFS

作者头像
netkiller old
发布于 2018-03-05 10:37:24
发布于 2018-03-05 10:37:24
2.1K00
代码可运行
举报
文章被收录于专栏:NetkillerNetkiller
运行总次数:0
代码可运行

第 21 章 Apache Sqoop

目录

  • 21.1. 安装 Sqoop
  • 21.2. sqoop2-tool
    • 21.2.1. verify
    • 21.2.2. upgrade
  • 21.3. sqoop2-shell
    • 21.3.6.1. link
    • 21.3.5.1. create job
    • 21.3.5.2. show job
    • 21.3.5.3. start job
    • 21.3.5.4. status job
    • 21.3.4.1. hdfs-connector
    • 21.3.4.2. generic-jdbc-connector
    • 21.3.2.1. server
    • 21.3.2.2. 要设置可查看具体出错信息
    • 21.3.1. show version
    • 21.3.2. set
    • 21.3.3. show connector
    • 21.3.4. link
    • 21.3.5. job
    • 21.3.6. update
  • 21.4. FAQ
    • 21.4.1. Unable to load native-hadoop library for your platform

21.1. 安装 Sqoop

OSCM 一键安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -s https://raw.githubusercontent.com/oscm/shell/master/database/apache-sqoop/sqoop-1.99.7-bin-hadoop200.sh | bash		

启动 Sqoop

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/srv/apache-sqoop/bin/sqoop.sh server start		

检查 Sqoop 线程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		[hadoop@netkiller ~]$ jps
2512 SecondaryNameNode
23729 SqoopJettyServer
2290 DataNode
871 ResourceManager
23885 Jps

21.2. sqoop2-tool

21.2.1. verify 配置文件检验工具

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[hadoop@iZj6ciilv2rcpgauqg2uuwZ ~]$ sqoop2-tool verify
Setting conf dir: /srv/apache-sqoop/bin/../conf
Sqoop home directory: /srv/apache-sqoop
Sqoop tool executor:
	Version: 1.99.7
	Revision: 435d5e61b922a32d7bce567fe5fb1a9c0d9b1bbb
	Compiled on Tue Jul 19 16:08:27 PDT 2016 by abefine
Running tool: class org.apache.sqoop.tools.tool.VerifyTool
0    [main] INFO  org.apache.sqoop.core.SqoopServer  - Initializing Sqoop server.
6    [main] INFO  org.apache.sqoop.core.PropertiesConfigurationProvider  - Starting config file poller thread
Verification was successful.
Tool class org.apache.sqoop.tools.tool.VerifyTool has finished correctly.			

21.3. sqoop2-shell

进入 sqoop2-shell

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		[hadoop@netkiller ~]$ sqoop2-shell 
Setting conf dir: /srv/apache-sqoop/bin/../conf
Sqoop home directory: /srv/apache-sqoop
Sqoop Shell: Type 'help' or '\h' for help.

sqoop:000>		

Sqoop client script:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		sqoop2-shell /path/to/your/script.sqoop		

21.3.1. show version

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
			sqoop:000> show version
client version:
  Sqoop 1.99.7 source revision 435d5e61b922a32d7bce567fe5fb1a9c0d9b1bbb 
  Compiled by abefine on Tue Jul 19 16:08:27 PDT 2016			
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
			sqoop:000> show version --all 
client version:
  Sqoop 1.99.7 source revision 435d5e61b922a32d7bce567fe5fb1a9c0d9b1bbb 
  Compiled by abefine on Tue Jul 19 16:08:27 PDT 2016
0    [main] WARN  org.apache.hadoop.util.NativeCodeLoader  - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
server version:
  Sqoop 1.99.7 source revision 435d5e61b922a32d7bce567fe5fb1a9c0d9b1bbb 
  Compiled by abefine on Tue Jul 19 16:08:27 PDT 2016
API versions:
  [v1]			

21.3.2. set

21.3.2.1. server
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> set server --host master --port 12000 --webapp sqoop
Server is set successfully			
21.3.2.2. 要设置可查看具体出错信息
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> set option --name verbose --value true
Verbose option was changed to true				

21.3.3. show connector

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sqoop:000> show connector
0    [main] WARN  org.apache.hadoop.util.NativeCodeLoader  - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
+------------------------+---------+------------------------------------------------------------+----------------------+
|          Name          | Version |                           Class                            | Supported Directions |
+------------------------+---------+------------------------------------------------------------+----------------------+
| generic-jdbc-connector | 1.99.7  | org.apache.sqoop.connector.jdbc.GenericJdbcConnector       | FROM/TO              |
| kite-connector         | 1.99.7  | org.apache.sqoop.connector.kite.KiteConnector              | FROM/TO              |
| oracle-jdbc-connector  | 1.99.7  | org.apache.sqoop.connector.jdbc.oracle.OracleJdbcConnector | FROM/TO              |
| ftp-connector          | 1.99.7  | org.apache.sqoop.connector.ftp.FtpConnector                | TO                   |
| hdfs-connector         | 1.99.7  | org.apache.sqoop.connector.hdfs.HdfsConnector              | FROM/TO              |
| kafka-connector        | 1.99.7  | org.apache.sqoop.connector.kafka.KafkaConnector            | TO                   |
| sftp-connector         | 1.99.7  | org.apache.sqoop.connector.sftp.SftpConnector              | TO                   |
+------------------------+---------+------------------------------------------------------------+----------------------+
sqoop:000>			
sqoop list-databases --connect  jdbc:mysql://192.168.1.1:3306/ --username root --password 123456			
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
			sqoop:000> show connector --all

21.3.4. link

21.3.4.1. hdfs-connector
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> create link -connector hdfs-connector
0    [main] WARN  org.apache.hadoop.util.NativeCodeLoader  - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Creating link for connector with name hdfs-connector
Please fill following values to create new link object
Name: hdfs

HDFS cluster

URI: hdfs://127.0.0.1:9000
Conf directory: 
Additional configs:: 
There are currently 0 values in the map:
entry# 
New link was successfully created with validation status OK and name hdfs
sqoop:000> 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> show link
+------+----------------+---------+
| Name | Connector Name | Enabled |
+------+----------------+---------+
| hdfs | hdfs-connector | true    |
+------+----------------+---------+			
21.3.4.2. generic-jdbc-connector
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> create link -connector generic-jdbc-connector
Creating link for connector with name generic-jdbc-connector
Please fill following values to create new link object
Name: mysql

Database connection

Driver class: com.mysql.jdbc.Driver
Connection String: jdbc:mysql://127.0.0.1:3306/test
Username: test
Password: ****
Fetch Size: 
Connection Properties: 
There are currently 0 values in the map:
entry# 

SQL Dialect

Identifier enclose: 
New link was successfully created with validation status OK and name mysql		
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> show link
+-------+------------------------+---------+
| Name  |     Connector Name     | Enabled |
+-------+------------------------+---------+
| mysql | generic-jdbc-connector | true    |
| hdfs  | hdfs-connector         | true    |
+-------+------------------------+---------+			

21.3.5. job

21.3.5.1. create job
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> create job -f "mysql" -t "hdfs"
Creating job for links with from name mysql and to name hdfs
Please fill following values to create new job object
Name: from-mysql-to-hdfs

Database source

Schema name: test
Table name: member
SQL statement: 
Column names: 
There are currently 0 values in the list:
element# 
Partition column: 
Partition column nullable: 
Boundary query: 

Incremental read

Check column: 
Last value: 

Target configuration

Override null value: 
Null value: 
File format: 
  0 : TEXT_FILE
  1 : SEQUENCE_FILE
  2 : PARQUET_FILE
Choose: 0
Compression codec: 
  0 : NONE
  1 : DEFAULT
  2 : DEFLATE
  3 : GZIP
  4 : BZIP2
  5 : LZO
  6 : LZ4
  7 : SNAPPY
  8 : CUSTOM
Choose: 0
Custom codec: 
Output directory: /sqoop/member
Append mode: 

Throttling resources

Extractors: 
Loaders: 

Classpath configuration

Extra mapper jars: 
There are currently 0 values in the list:
element# 
New job was successfully created with validation status OK  and name from-mysql-to-hdfs				
21.3.5.2. show job
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> show job
+----+--------------------+--------------------------------+-----------------------+---------+
| Id |        Name        |         From Connector         |     To Connector      | Enabled |
+----+--------------------+--------------------------------+-----------------------+---------+
| 1  | from-mysql-to-hdfs | mysql (generic-jdbc-connector) | hdfs (hdfs-connector) | true    |
+----+--------------------+--------------------------------+-----------------------+---------+				
21.3.5.3. start job
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> start job -n from-mysql-to-hdfs		

sqoop:000> start job -n from-mysql-to-hdfs
Submission details
Job Name: from-mysql-to-hdfs
Server URL: http://localhost:12000/sqoop/
Created by: hadoop
Creation date: 2017-07-22 23:18:02 CST
Lastly updated by: hadoop
External ID: job_1499236611045_0001
	http://iZj6ciilv2rcpgauqg2uuwZ:8088/proxy/application_1499236611045_0001/
2017-07-22 23:18:02 CST: BOOTING  - Progress is not available				

启动后进入HDFS查看导入情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				[hadoop@netkiller ~]$ hdfs dfs -ls /sqoop	

[hadoop@netkiller ~]$ hdfs dfs -ls /member
Found 10 items
-rw-r--r--   3 hadoop supergroup          0 2017-07-22 23:18 /member/310af608-5533-4bc2-bfb8-eaa45470b04d.txt
-rw-r--r--   3 hadoop supergroup         48 2017-07-22 23:18 /member/36bc39a5-bc73-4065-a361-ff2d61c4922c.txt
-rw-r--r--   3 hadoop supergroup          0 2017-07-22 23:18 /member/3e855400-84a9-422d-b50c-1baa9666a719.txt
-rw-r--r--   3 hadoop supergroup        140 2017-07-22 23:18 /member/3e8dad92-e0f1-4a74-a337-642cf4e6d634.txt
-rw-r--r--   3 hadoop supergroup         55 2017-07-22 23:18 /member/4a9f47f1-0413-4149-a93a-ed8b51efbc87.txt
-rw-r--r--   3 hadoop supergroup          0 2017-07-22 23:18 /member/4dc5bfe7-1cd9-4d9b-96a8-07e82ed79a71.txt
-rw-r--r--   3 hadoop supergroup          0 2017-07-22 23:18 /member/60dbcc60-61f2-4433-af39-1dfdfc048940.txt
-rw-r--r--   3 hadoop supergroup          0 2017-07-22 23:18 /member/6d02ed89-94d9-4d4b-87ed-d5da9d2bf9fe.txt
-rw-r--r--   3 hadoop supergroup        209 2017-07-22 23:18 /member/cf7b7185-3ab6-4077-943a-26228b769c57.txt
-rw-r--r--   3 hadoop supergroup          0 2017-07-22 23:18 /member/f2e0780d-ad33-4b35-a1c7-b3fbc23e303d.txt	
21.3.5.4. status job
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> status job -n from-mysql-to-hdfs		

21.3.6. update

21.3.6.1. link
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
				sqoop:000> update link -n  mysql
Updating link with name mysql
Please update link:
Name: mysql

Database connection

Driver class: com.mysql.jdbc.Driver
Connection String: jdbc:mysql://127.0.0.1:3306/test
Username: test
Password: ****
Fetch Size: 
Connection Properties: 
There are currently 0 values in the map:
entry# 

SQL Dialect

Identifier enclose:  
link was successfully updated with status OK				
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Netkiller 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Sqoop导入mysql所有表到HDFS
由于之前上传到Sqoop lib下的MySQL驱动程序有些低,更新到mysql-connector-java-5.1.32-bin.jar即可
程裕强
2022/05/06
8.1K0
如何使用Sqoop2
通sqoop1一样,sqoop2同样也是在Hadoop和关系型数据库之间互传数据的工具,只不过sqoop2引入sqoop server,集中化管理connector,而sqoop1只是客户端工具。
Fayson
2018/03/30
4.5K0
Sqoop导入Oracle数据表到HDFS
1、问题 [root@node1 sqoop-1.4.7]# bin/sqoop import --connect jdbc:oracle:thin:@192.168.1.100:1521:TPADC --username test --password test --table fund_info -m 1; Warning: /opt/sqoop-1.4.7/bin/../../hbase does not exist! HBase imports will fail. Please set $HBA
程裕强
2022/05/06
9680
超简单的Sqoop入门教程
http://sqoop.apache.org/ https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/
程裕强
2022/05/06
6450
超简单的Sqoop入门教程
超详细讲解Sqoop2应用与实践
本文讲解了如何通过Sqoop2实现从HDFS到PostgreSQL的数据导入。首先介绍了Sqoop2的架构和特性,然后通过一个例子详细讲解了如何通过Sqoop2实现从HDFS到PostgreSQL的导入。在例子中,首先通过Sqoop2命令行工具导入数据到HDFS,然后使用Sqoop2 Java API从HDFS导入数据到PostgreSQL。最后总结了在导入过程中可能遇到的问题和解决方法。
王小雷
2018/01/08
1.8K0
超详细讲解Sqoop2应用与实践
sqoop的安装与使用
Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具。充分利用MapReduce并行特点以批处理的方式加快传输数据。发展至今主要演化了二大版本号。Sqoop1和Sqoop2。
全栈程序员站长
2022/07/10
8870
sqoop的安装与使用
Sqoop-1.4.7-部署与常见案例
该文章是基于 Hadoop2.7.6_01_部署 、 Hive-1.2.1_01_安装部署 进行的
踏歌行
2020/10/15
8880
Sqoop-1.4.7-部署与常见案例
7.2 Sqoop2示例数据从PostgreSQL导入到HDFS
版权声明:本文为王小雷原创文章,未经博主允许不得转载 https://blog.csdn.net/dream_an/article/details/80960632
王小雷
2019/05/29
1.3K0
Sqoop快速入门【导入数据到HDFS与导出数据到数据库】
Sqoop - “SQL到Hadoop和Hadoop到SQL” sqoop是apache旗下一款"Hadoop和关系数据库服务器之间传送数据"的工具。 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统; 导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等。
Java架构师必看
2021/05/14
5.8K0
Sqoop快速入门【导入数据到HDFS与导出数据到数据库】
【快速入门大数据】hadoop和它的hdfs、yarn、mapreduce
技术架构挑战 量大,无法用结构化数据库,关系型数据库 经典数据库没有考虑数据多类别 比如json 实时性的技术挑战 网络架构、数据中心、运维挑战
瑞新
2021/12/06
9300
【快速入门大数据】hadoop和它的hdfs、yarn、mapreduce
Sqoop导入Oracle数据表到Hive
因为指定了-m 4,也就是4个map处理,-m > 1 必须有主键。因为这个表没有主键,所以需要需要设置-m 1
程裕强
2022/05/06
2.8K0
致敬 Apache Sqoop
大家好,我是一哥,昨天看到了过往记忆大佬发了一篇文章,才发现Sqoop这个项目最近不咋好,心里很不是滋味,这个帮助过很多开发者的项目,竟然从Apache顶级项目中“下架”了,今天还是想给大家分享介绍一些这个很棒的项目,致敬!
数据社
2021/07/09
9820
提交第一个Spark统计文件单词数程序,配合hadoop hdfs
先说明,这次我们用的还不是Spark streaming,而是从hadoop hdfs拿取文件,经过计算,再把结果放回hadoop hdfs.
算法之名
2019/08/20
7210
Java操作HDFS开发环境搭建以及HDFS的读写流程
在之前我们已经介绍了如何在Linux上进行HDFS伪分布式环境的搭建,也介绍了hdfs中一些常用的命令。但是要如何在代码层面进行操作呢?这是本节将要介绍的内容:
端碗吹水
2020/09/23
2.1K0
Java操作HDFS开发环境搭建以及HDFS的读写流程
第八章:sqoop数据迁移工具
sqoop是专门用来迁移数据的,它可以把数据库中的数据迁移到HDFS文件系统,当然也可以从HDFS文件系统导回到数据库。
全栈程序员站长
2022/08/05
1.2K0
第八章:sqoop数据迁移工具
Hadoop 在 Centos7 下的单机布署(三).MapReduce.Pseudo-Distributed Operation
Hadoop 生态圈中的其它项目可以参考 Hadoop-related projects
franket
2021/08/12
3440
hadoop学习笔记 原
* vi /etc/hosts 10.204.211.241 JZYH-COLLECTOR-LTEMR3-OSS * vi /etc/sysconfig/network #主机名不要使用下划线 127.0.0.1 localhost localhost4 localhost4.localdomain4 ** Single Node Cluster * etc/hadoop/core-site.xml: <configuration> <property> <name>fs.def
用户2836074
2018/08/15
4050
sqoop2安装 原
折腾了一天,最后才发现sqoop2暂时只支持mysql到hdfs或者hdfs到mysql,不支持hive或者hbase,无语啊。不过这里还是记下sqoop2的安装,兴许以后sqoop2加了支持,从这里能够快速记忆起来。
尚浩宇
2018/08/17
3600
Hadoop基础教程-第7章 MapReduce进阶(7.6 MapReduce 二次排序)
MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。所谓二次排序,先按第1个字段进行排序,然后对第1个字段相同的数据,再按第2个字段进行排序。
程裕强
2022/05/06
2320
大数据 | HDFS 常用操作命令
HDFS 是 Hadoop Distributed File System 的简写,即 Hadoop 分布式文件系统。它是 Hadoop 项目的核心子项目,它为大数据分布式计算提供了海量数据的存储与管理。
码农UP2U
2021/11/17
9570
相关推荐
Sqoop导入mysql所有表到HDFS
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验