大数据学习之sqoop框架25

hidamowang hidamowang     2022-12-13     116

关键词:

1Sqoop概述

1)官网

http://sqoop.apache.org/

 

2)场景

传统型缺点,分布式存储。把传统型数据库数据迁移。

Apache Sqoop(TM)是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具 。

 

2Sqoop安装部署

1)下载安装包

2)解压

tar -zxvf .tar

 

3)修改配置

vi sqoop-env.sh

export HADOOP_COMMON_HOME=/root/training/hadoop-2.8.4

export HADOOP_MAPRED_HOME=/root/training/hadoop-2.8.4

export HIVE_HOME=/root/training/hive

export ZOOCFGDIR=/root/training/zookeeper-3.4.10/conf

技术图片

 

4)发送mysql驱动到lib下

5)检测是否安装成功

bin/sqoop help

 

3Sqoopimport命令

 

1)数据从mysql中导入到hdfs当中

bin/sqoop import --connect jdbc:mysql://bigdata11:3306/sq --username root --password 199902 --table user --target-dir /sqoop/datas --delete-target-dir --num-mappers 1 --fields-terminated-by "\\t"

 

2)数据mysql中导入到hdfs当中进行筛选

bin/sqoop import --connect jdbc:mysql://bigdata11:3306/sq --username root --password 199902 --target-dir /sqoop/selectdemo --delete-target-dir  --num-mappers 1 --fields-terminated-by "\\t" --query ‘select * from user where id<=1 and $CONDITIONS‘

 

3)通过where筛选

bin/sqoop import --connect jdbc:mysql://bigdata11:3306/sq --username root --password 199902 --target-dir /sqoop/selectdemo2 --delete-target-dir  --num-mappers 1 --fields-terminated-by "\\t" --table user --where "id<=1"

 

4mysql导入到hive

需要先创建hive

bin/sqoop import --connect jdbc:mysql://training09-01:3306/sq --username root -

-password 199902 --table user1 --num-mappers 1 --hive-import  --fields-terminated-by "\\t" --hive-overwrite --hive-table user_sqoop

问题:hiveconf

解决:

vi ~/.bash_profile(记得在export PATH之前)

export HADOOP_CLASSPATH=$HADOOP_CLASSPASS:/root/training/hive/lib/*

 

5)常见bug

mysql权限问题:

###grant all privileges on *.* to [email protected]‘%‘ identified by "password";############

 

我用这个报错。可以用下面的方法

首先进入MySQL 使用mysql数据库

use mysql;

在这个库中修改user

update user set host=‘%‘ where user=‘root‘

再刷新一下

flush privileges;

技术图片

 

 

4Sqoopexport命令

需求:Hive/trainingfs的数据导出到mysql

1)根据hive中的字段创建mysql

2)编写sqoop启动命令

bin/sqoop export --connect jdbc:mysql://bigdata11:3306/sq --username root -

-password 199902 --table user1 --num-mappers 1 --export-dir /user/hive/ware

house/user_sqoop --input-fields-terminated-by "\\t"

 

3)mysq中查看数据是否导入

 

5Sqoop打包脚本的使用

1)创建文件夹

mkdir sqoopjob

 

2)创建文件脚本 vi job_hdfs2mysql.opt

export

--connect

jdbc:mysql://bigdata11:3306/sq

--username

root

--password

199902

--table

user1

--num-mappers

1

--export-dir

/user/hive/warehouse/user_sqoop

--input-fields-terminated-by

"\\t"

 

注意:一行命令 一行值

技术图片

 

3)执行脚本文件

bin/sqoop --options-file /root/sqoopjob/job_hdfs2mysql.opt

 

6sqoop常用命令

命令

说明

import

将数据导入到集群

export

将集群数据导出

codegen

将某数据库中表生成javaBean并打包为jar

eval

查看sql执行结果

create­hive­table

创建hive

import­all­tables

导入某个数据库中所有表到trainingfs

list­tables

列出某个数据库下的所有表

merge

trainingfs中不同目录下的数据合并在一起

查看sqoop版本

versionV

help

查看帮助信息

 

7sqoop常用参数

参数

说明

–connect

连接关系型数据库URL

–connection­manager

指定连接管理类

–driver

JDBCdriver class

–username

连接数据库的用户名

–password

连接数据库的密码

–verbose

在控制台中打印详细信息

–help

查看帮助

–hive­import

将关系型数据库导入到hive表中

–hive­overwrite

覆盖掉hive表中已存在的数据

–create­hive­table

创建hive

–hive­table

接入hive

–table

指定关系型数据库的表名

大数据学习之手写mr框架(wordcount程序开发)08

简介:这里先手写一个MR程序,大致实现一个单词计数程序。帮助后面学习MapReduce组件。1:先自定义一个Mapper接口packageit.dawn.HDFSPra.HandWritingMR;/***@authorDawn*@date2019年4月30日23:28:00*@version1.0**思路?*接口设计*/publicinterfaceMapper //通用... 查看详情

大数据学习之mapreduce基础与yarn集群安装09

1大数据解决的问题? 海量数据的存储:hadoop->分布式文件系统HDFS海量数据的计算:hadoop->分布式计算框架MapReduce 2什么是MapReduce? 分布式程序的编程框架,java->sshssm,目的:简化开发!是基于hadoop的数据分析应... 查看详情

大数据学习之storm实时统计网站访问量案例35

案例一:统计网站访问量(实时统计) 实时流式计算框架:storm 1)spout数据源,接入数据源本地文件如下编写spout程序:packagepvcount;importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.I 查看详情

大数据学习之scala语言基本语法学习36

...成了面向对象和函数式编程的特点。运行在JVM(jdk)。大数据中为什么学习scala?spark是scala语言编写。python写spark挺好的java写spark很糟糕(代码实在是太多了)scala写spark很完美二:scala特点1)优雅框架设计中第一个要考虑的问题就是... 查看详情

大数据学习之linux进阶02

大数据学习之Linux进阶1->配置IP 1)修改配置文件 vi/sysconfig/network-scripts/ifcfg-eno16777736 2)注释掉dhcp #BOOTPROTO="dhcp" 3)添加配置(windows->ipconfig-all) IPADDR=192.168.50.179 NETMASK=225.255.255.0 GATEWAY=192. 查看详情

大数据入门学习之hadoop技术优缺点

大数据入门学习之Hadoop技术优缺点(1)Hadoop具有按位存储和处理数据能力的高可靠性。(2)Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。(3)Hadoop能够在节... 查看详情

hibernate框架学习之增删改查helloworld

插入数据删除数据修改数据查询单条数据查询多条数据HelloWorldApp.javapackagecn.itcast.h3.helloworld;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.Transaction;importorg.hibernate.cfg.Configur 查看详情

大数据学习之hdfs的工作机制07

1:namenode+secondaryNameNode工作机制2:datanode工作机制 3:HDFS中的通信(代理对象RPC)下面用代码来实现基本的原理1:服务端代码packageit.dawn.HDFSPra.RPC.server;importjava.io.IOException;importorg.apache.hadoop.HadoopIllegalArgumentExce 查看详情

大数据hadoop学习之搭建hadoop平台(2.1)

   关于大数据,一看就懂,一懂就懵。 一、简介  Hadoop的平台搭建,设置为三种搭建方式,第一种是“单节点安装”,这种安装方式最为简单,但是并没有展示出Hadoop的技术优势,适合初学者快速搭建;第二种是“... 查看详情

hibernate框架学习之使用sqlquery查询数据

SQLQuery对象的获取  Hibernate支持使用原生SQL语句进行查询,通过session对象获得SQLQuery对象进行,需要传入SQL语句  SQLQuerycreateSQLQuery(StringsqlStr)  SQLQueryquery=session.createSQLQuery(“select*fromtbl_user");sqlStr是满足SQL语法规则的字符... 查看详情

hibernate框架学习之数据查询(qbc)helloworld

packagecn.itcast.h3.query.hql;importjava.util.List;importorg.hibernate.Criteria;importorg.hibernate.Session;importorg.hibernate.criterion.DetachedCriteria;importorg.hibernate.criterion.Order;importorg 查看详情

hibernate框架学习之数据查询(qbc)

...对象(使用Session对象创建)?由Session对象创建?传入要查询的数据模型类?添加各种查询条件?执行查询返回结果(返回单条数据或集合数据)lQBC查询格式非常简单,更符合编程人员的习惯?Criteria对象用于由Sessio 查看详情

机器学习之必知开源数据集

之前看到的不错的文章,玩机器学习数据是关键,有了这些东西,你就不必再为没有数据而苦恼。 转自:https://www.365soke.cn机器学习的研究与实现,离不开大数据。知晓通用的开源数据集,一方面可以验证自己算法,而另一... 查看详情

大数据学习之提交job流程,排序11

...序4)二次排序 3 案例:在流量汇总输出文件里的数据 进行分区,每个分区中的数据进行排序 数据预览,这里只是进行了流量的汇总,没有进行分区和排序& 查看详情

大数据spark“蘑菇云”行动代码学习之adclickedstreamingstats模块分析

2016年大数据Spark“蘑菇云”行动代码学习之AdClickedStreamingStats模块分析  系统背景:用户使用终端设备(IPAD、手机、浏览器)等登录系统,系统采用js脚本发送用户信息和广告点击信息到后台日志,进入flume监控,通过kafka... 查看详情

嘉明的云计算与大数据学习之大数据综合实验案例(代码片段)

...se:3.8。2.实验步骤概述本案例共包含4个实验步骤。(1)本地数据集上传到数据仓库Hive。(2)Hive数据分析。(3)Hive,MySQL、HBase数据互导。(4)利用R进行数据可视化分析。实验整体的流程如下:将数据源抽取到HDFS存储;通过Hive清洗... 查看详情

phplaravel框架学习之建立数据库并填充测试数据(代码片段)

phpLaravel框架学习(一)phpLaravel框架学习之Laravel建立数据库并填充测试数据建立数据库前面我们已经明确目标网站的基本功能,现在我们先来建立它的数据库。设计数据库从功能上看,我们的数据库只需要两张表即可,a... 查看详情

sqoop框架基础

Sqoop框架基础本节我们主要需要了解的是大数据的一些协作框架,也是属于Hadoop生态系统或周边的内容,比如:**数据转换工具:Sqoop**文件收集库框架:Flume**任务调度框架:Oozie**大数据Web工具:Hue这些框架为什么成为主流,请... 查看详情