关键词:
版权声明:本文为yunshuxueyuan原创文章。
如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/
QQ技术交流群:299142667
sqoop
Apache Sqoop是用来实现结构型数据(如关系数据库)和Hadoop之间进行数据迁移的工具。它充分利用了MapReduce的并行特点以批处理的方式加快数据的传输,同时也借助MapReduce实现了容错。
sqoop支持的数据库:
Database |
version |
--direct support? |
connect string matches |
HSQLDB |
1.8.0+ |
No |
|
MySQL |
5.0+ |
Yes |
jdbc:mysql:// |
Oracle |
10.2.0+ |
No |
|
PostgreSQL |
8.3+ |
Yes (import only) |
jdbc:postgresql:/ |
通过sqoop help命令查看sqoop帮助
import(将关系数据库迁移到HDFS上)
[例1] 将mysql中的sds表导入HDFS中
[例2] 将mysql中的sds,指定的列表导入HDFS中
[例3] 将整个数据库中的表全部导入到hdfs上
import-all-tables命令
sqoop import-all-tables --connect jdbc:mysql://node01/test --username root -password 123
[例4] 指定导出文件为SequenceFiles,文件命名为com.ctrip.sds
[例5] 导入文本时可以指定分隔符
[例6] 可以指定过滤条件
--m设置并行数据,即map的数据,决定文件的个数。
--target-dir设置hdfs上的目标目录。
export(将hdfs上的数据导入到关系数据库中)
[例一] 将HDFS中数据导入到mysql中的sds表
sqoop export --connect jdbc:mysql://node01/test --username root -password 123 --table psn --export-dir /user/root/psn
[例二] 将关系数据库表导入到hive表中
create-hive-table
默认sds_bak是在default数据库的。
这一步需要依赖HCatalog,需要先安装HCatalog,否则报错。
list-databases列出一台server上可用的数据库
list-tables列出一个数据库中的表
codegen:
将关系数据库表映射为一个java文件、java class类相关的jar包
eval用户可以很快的使用sql语句对数据库进行操作。
job用来生成sqoop任务。
metastore 配置sqoop job的共享元数据信息,这样多个用户定义和执行sqoop job在这一metastore中。
启动:sqoop metastore 关闭:sqoop metastore –shutdown 存储位置: conf/sqoop-site.xml/sqoop.metastore.server.location
|
[补充]
由于sqoop是通过map完成数据的导入,各个map过程是独立的,没有事物的概念,可能会有部分map数据导入失败的情况。为了解决这一问题,sqoop中有一个折中的办法,即是指定中间staging表,成功后再由中间表导入到结果表。
--staging-table <staging-table-name>staging表结构也是需要提前创建出来
[注]在使用 –direct,--update-key或者--call存储过程的选项时,staging中间表是不可用的。
验证结果:
(1)数据会首先写到sds_tmp表,导入操作成功后,再由sds_tmp表导入到sds结果表中,同时会清除sds_tmp表。
(2)如果有map失败,则成功的map会将数据写入tmp表,export任务失败,同时tmp表的数据会被保留。
(3)如果tmp中已有数据,则此export操作会直接失败,
--clear-staging-table 指定在执行前清除中间表。
版权声明:本文为yunshuxueyuan原创文章。
如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/
QQ技术交流群:299142667
[sqoop]sqoop命令
官网文档:http://sqoop.apache.org/docs/1.99.7/user/CommandLineClient.html#delete-link-function 一、了解sqoop数据导入的几个重要概念(1)connector:sqoop2中预定了各种链接,这些链接是一些配置模板。#查看预定制的连接器sqoop:000>showconnec... 查看详情
[sqoop]sqoop使用
Sqoop的本质还是一个命令行工具,和HDFS,MapReduce相比,并没有什么高深的理论。我们可以通过sqoophelp命令来查看sqoop的命令选项,如下:16/11/1320:10:17INFOsqoop.Sqoop:RunningSqoopversion:1.4.6usage:sqoopCOMMAND[ARGS]Availablecommands: codegen & 查看详情
sqoop介绍
Sqoop介绍http://sqoop.apache.orghttp://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html 1.什么是Sqoop?将关系数据库(oracle,mysql,postgresql)数据与hadoop数据进行转换的工具2.Sqoop架构?sqoop架构非常简单,是hadoop生态系统最简单的框架sqoop1由clie 查看详情
如何从 Sqoop 选项生成 Sqoop 命令?
】如何从Sqoop选项生成Sqoop命令?【英文标题】:HowtogenerateSqoopcommandfromSqoopoptions?【发布时间】:2017-04-2012:21:01【问题描述】:我想生成Sqoop命令以从Mysql导入RDBMS表。我将sqoop命令存储在数据库中,然后使用此命令创建Oozie工作流... 查看详情
[sqoop]sqoop小试牛刀
sqoop1.4.6 小试牛刀 sqoopimport参数 1.mysql导入到hdfs中./sqoopimport--connectjdbc:mysql://mysql:3306/part--usernameroot--password123456--tablebig_hdfs-m1--target-dir/sqoop/import/mysql/&nbs 查看详情
sqoop(代码片段)
sqoop1Sqoop简介2Sqoop原理3Sqoop安装3.1下载并解压3.2修改配置文件3.3拷贝JDBC驱动3.4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚... 查看详情
sqoop(代码片段)
sqoop1Sqoop简介2Sqoop原理3Sqoop安装3.1下载并解压3.2修改配置文件3.3拷贝JDBC驱动3.4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚... 查看详情
sqoop(代码片段)
sqoop1Sqoop简介2Sqoop原理3Sqoop安装3.1下载并解压3.2修改配置文件3.3拷贝JDBC驱动3.4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚... 查看详情
sqoop1与sqoop2
Sqoop(sqoop.apache.org)工具是hadoop环境下连接关系数据库,和hadoop存储系统的桥梁,支持多种关系数据源和hive,hdfs,hbase的相互导入。一般情况下,关系数据表存在于线上环境的备份环境,需要每天进行数据导入,根据每天的数据量... 查看详情
sqoop入门教程
目录一、Sqoop概述 1、简介 2、Sqoop架构原理 3、Sqoop连接器二、Sqoop安装 1、sqoop下载解压 2、sqoop配置文件 & 查看详情
sqoop2安装
下载http://www-us.apache.org/dist/sqoop/ 打开以上链接,开始下载sqoop2 下载后得到:sqoop-1.99.7-bin-hadoop200.tar.gz文件其中sqoop1和sqoop2区别可以参考以下链接 重拾初心——Sqoop1和Sqoop2的刨析对比 http://blog.csdn.ne 查看详情
安装sqoop,给bin/sqoop-list-databases: line 26: /Users/apple/sqoop: 是一个目录
】安装sqoop,给bin/sqoop-list-databases:line26:/Users/apple/sqoop:是一个目录【英文标题】:Installingsqoop,givebin/sqoop-list-databases:line26:/Users/apple/sqoop:isadirectory【发布时间】:2015-09-1510:15:30【问题描述】:当我安装sqoop时,它给了我这个错误。... 查看详情
sqoop快速上手(代码片段)
ETL系列之Sqoop==楼兰==文章目录一、ETL简介1、关于ETL2、大数据与传统关系型数据库的关系3、Sqoop简介二、Sqoop下载三、Sqoop基础使用3.1前置软件3.2Sqoop安装3.3Sqoop基础使用1、查看Sqoop的帮助信息2、单独连接数据库3、导... 查看详情
sqoop新品来了
Sqoop尽管稳定的应用于生产环境很多年,但是它自身存在的一些缺陷给实际操作带来了不便。Sqoop2便成为了研究使用的对象,那么Sqoop2有什么优势呢?首先我们先来了解一下Sqoop的使用情况,使用Sqoop数据不会出现丢失,而且Sqoop... 查看详情
sqoop1和sqoop2导入导出(代码片段)
sqoop11、使用Sqoop导入MySQL数据到HDFS[[email protected]~]#sqoopimport--connectjdbc:mysql://localhost:3306/test--usernameroot--passwordroot--tableuser--columns‘uid,uname‘-m1-target-dir‘/sqoop/user‘;//-m指定 查看详情
sqoop导出笔记
Sqoop导出笔记发表:2016-10-14 浏览:755 Sqoop 导出Sqoop导出笔记1、通用参数2、导出控制参数3、全表导出4、更新导出注:若需转载,请注明出处!Sqoop导出视频请参考:https://edu.hellobi.com/course/93/lessons (Sqoop导出实... 查看详情
Sqoop 导入映射器失败,但 sqoop 作业显示正在运行
】Sqoop导入映射器失败,但sqoop作业显示正在运行【英文标题】:Sqoopimportmappersfailedbutsqoopjobisshowingrunning【发布时间】:2019-03-2520:07:42【问题描述】:我编写了一个Sqoop导入程序,使用where子句从Netezza导入数据,当where子句出现语... 查看详情
sqoop--安装配置
一,环境CentOS7.3sqoop-1.4.4hive-2.2.0二,安装与配置1.准备sqoop安装包,官网地址:http://sqoop.apache.org2.配置jdk环境变量和Hadoop的环境变量。因为sqoop在使用是会去找环境变量对应的路径,从而完整工作。3.sqoop解压即可使用(前提是环... 查看详情