sqoop

hsiehchou hsiehchou     2023-03-09     404

关键词:

1、sqoop

flume数据采集 采集日志数据
sqoop数据迁移 hdfs->mysql
azkaban任务调度 flume->hdfs->shell->hive->sql->BI

sqoop数据迁移=mapreduce
处理离线数据
整个过程就是数据导入处理导出过程
直接使用map

sqoop作用:简化开发
mysql->hdfs
mapreduce
sqoop!

2、概述:

Apache Sqoop(TM)是一种工具,用于在Apache Hadoop和结构化数据存储(如关
系数据库)之间高效传输批量数据 。数据迁移!
Sqoop于2012年3月成功从孵化器毕业,现在是一个顶级Apache项目: 更多信息

3、sqoop安装部署

1)下载

2)上传

3)解压

4)重命名
mv sqoop-env-template.sh sqoop-env.sh

5)添加配置信息
export HADOOP_COMMON_HOME=/root/hd/hadoop-2.8.4
export HADOOP_MAPRED_HOME=/root/hd/hadoop-2.8.4
export HIVE_HOME=/root/hd/hive
export ZOOCFGDIR=/root/hd/zookeeper-3.4.10/conf

6)启动查看版本号
bin/sqoop version

4、sqoop的import导入

import导入:mysql->hdfs
export导出:hdfs->mysql
mysql->hdfs操作:
1)导入mysql驱动到sqoop/lib下
2)命令操作
mysql> create database sqoop;
mysql> use sqoop;
mysql> create table user(id int primary key auto_increment,name varchar(50),addr varchar(300));

[[email protected]hsiehchou121 sqoop]# bin/sqoop import
> --connect jdbc:mysql://hsiehchou121:3306/sqoop
> --username root
> --password root
> --table user
> --target-dir /sqoop/datas
> --num-mappers 1
> --fields-terminated-by " "

注意:如果显示mysql的访问权限问题,需要设置mysql的用户权限:所在库 mysql库的user表

update user set host=’%’ where host=’localhost’;
delete from user where Host=’127.0.0.1’;
delete from user where Host=’hsiehchou121’;
delete from user where Host=’::1’;
flush privileges;

使用query对数据进行过滤

[[email protected]hsiehchou121 sqoop]# bin/sqoop import
> --connect jdbc:mysql://hsiehchou121:3306/sqoop
> --username root
> --password root
> --target-dir /sqoop/selectimport
> --num-mappers 1
> --fields-terminated-by " "
> --query ‘select * from user where id<=1 and $CONDITIONS‘

直接过滤字段

[[email protected] sqoop]# bin/sqoop import
> --username root
> --password root
> --connect jdbc:mysql://hsiehchou121:3306/sqoop
> --target-dir /sqoop/selectimport1
> --num-mappers 1
> --table user
> --columns addr

5、mysql导入到hive

在~/.bash_profile里面增加下面配置

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/hd/hive/lib/*
export HADOOP_USER_HOME=root
[[email protected]hsiehchou121 sqoop]# bin/sqoop import
> --connect jdbc:mysql://hsiehchou121:3306/sqoop
> --username root
> --password root
> --table user
> --num-mappers 1
> --hive-import
> --fields-terminated-by " "
> --hive-overwrite
> --hive-table user_sqoop

6、sqoop的export命令

hive->mysql
hive导出到mysql
首先清空mysql里面的user:truncate table user;

[[email protected]hsiehchou121 sqoop]# bin/sqoop export
> --connect jdbc:mysql://hsiehchou121:3306/sqoop
> --username root
> --password root
> --table user
> --num-mappers 1
> --export-dir /user/hive/warehouse/user_sqoop
> --input-fields-terminated-by " "

7、常用参数

import 导入数据到集群
export 从集群导出数据
create-hive-table 创建hive表
import-all-tables 指定关系型数据库所有表到hdfs集群
list-databases 列出所有数据库
list-tables 列出所有数据库表
merge 合并hdfs中的不同目录下的数据
codegen 获取某张表数据生成JavaBean 并打包

[[email protected] sqoop]# bin/sqoop list-databases
> --connect jdbc:mysql://hsiehchou121:3306/
> --username root
> --password root

bin/sqoop merge
–new-data /testmerge/new/
–onto /testmerge/old/
–target-dir /testmerge/merged
–jar-file =/root/sqoopjar/UserBean/UserBean.jar
–class-name UserBean
–merge-key id

注意:
merge操作是一个新表替代旧表的操作,如果有冲突id的话新表数据替换旧表数据,如果没有冲突则是新表数据添加到旧表的数据

用户画像 merge
身高180 体重70 爱好 …..
身高180 体重90 爱好….

广告大数据 提高销量 广告推送更加精准
工业大数据 flink面试















































[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解压即可使用(前提是环... 查看详情