热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Sqoop简介及使用

一、Sqoop概述1)官网http:sqoop.apache.org2)场景传统型缺点,分布式存储。把传统型数据库数据迁移。ApacheS

一、Sqoop概述1&#xff09;官网http://sqoop.apache.org/2&#xff09;场景传统型缺点&#xff0c;分布式存储。把传统型数据库数据迁移。Apache Sqoop&#xff08;TM&#xff09;是一种用于在Apache Hadoop和结构化数据存储&#xff08;如关系数据库&#xff09;之间高效传输批量数据的工具。二、Sqoop安装部署1&#xff09;下载安装包2&#xff09;解压tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz3)修改配置 mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoopcd sqoop/confmv sqoop-env-template.sh sqoop-env.shvi sqoop-env.shexport HADOOP_COMMON_HOME&#61;/root/hd/hadoop-2.8.4export HADOOP_MAPRED_HOME&#61;/root/hd/hadoop-2.8.4export HIVE_HOME&#61;/root/hd/hiveexport ZOOCFGDIR&#61;/root/hd/zookeeper-3.4.10/conf4&#xff09;发送mysql驱动到sqoop/lib下5&#xff09;检测是否安装成功bin/sqoop help三、Sqoop的import命令执行mysql -uroot -proot进入mysql命令行准备数据&#xff1a;create database sq;use sq;create table user(id int primary key auto_increment,name varchar(20),addr varcher(200));insert into user(id,name,addr) values(1,"zhangsan","beijing");insert into user(id,name,addr) values(2,"lisi","shanghai");select * from user;create table user1(id int primary key auto_increment,name varchar(20));insert into user1(id,name) values(1,"haha");insert into user1(id,name) values(2,"hongqigong");select * from user1;1&#xff09;数据从mysql中导入到hdfs当中bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user --target-dir /sqoop/datas--delete-target-dir --num-mappers 1 --fields-terminated-by "\t"2&#xff09;数据mysql中导入到hdfs当中进行筛选bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --target-dir /sqoop/selectdemo --delete-target-dir--num-mappers 1 --fields-terminated-by "\t" --query &#39;select * from user where id<&#61;1 and $CONDITIONS&#39;3&#xff09;通过where筛选bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --target-dir /sqoop/selectdemo2 --delete-target-dir--num-mappers 1 --fields-terminated-by "\t" --table user --where "id<&#61;1"4&#xff09;mysql导入到hive需要先创建hive表&#xff1a; create table user_sqoop(id int,name string) row format delimited fields terminated by &#39;\t&#39;;bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user1 --num-mappers 1--hive-import --fields-terminated-by "\t" --hive-overwrite --hive-table user_sqoop四、问题&#xff1a;hiveconf解决&#xff1a;vi ~/.bash_profileexport HADOOP_CLASSPATH&#61;$HADOOP_CLASSPATH:/root/hd/hive/lib/*
   mysql权限问题&#xff1a;grant all privileges on *.* to root&#64;&#39;%&#39; identified by "root";flush privileges;五、Sqoop的export命令需求&#xff1a;Hive/hdfs的数据导出到mysql1&#xff09;根据hive中的字段创建mysql表create table user1(id int primary key auto_increment,name varchar(20));2&#xff09;编写sqoop启动命令bin/sqoop export --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user1 --num-mappers 1 --export-dir /user/hive/warehouse/user_sqoop --input-fields-terminated-by "\t"3)mysql中查看数据是否导入select * from user1;六、Sqoop打包脚本的使用1&#xff09;创建文件夹mkdir sqoopjob2&#xff09;创建文件脚本vi job_hdfs2mysql.optexport--connectjdbc:mysql://hd09-1:3306/sq--usernameroot--passwordroot--tableuser1--num-mappers1--export-dir/user/hive/warehouse/user_sqoop--input-fields-terminated-by"\t"注意&#xff1a;一行命令 一行值3&#xff09;执行脚本文件bin/sqoop --options-file /root/sqoopjob/job_hdfs2mysql.opt七、sqoop常用命令命令           说明import 将数据导入到集群export 将集群数据导出codegen 将某数据库中表生成javaBean并打包为jareval 查看sql执行结果create­hive­table     创建hive表import­all­tables     导入某个数据库中所有表到hdfs中list­tables 列出某个数据库下的所有表merge 将hdfs中不同目录下的数据合并在一起version V 查看sqoop版本help 查看帮助信息八、sqoop常用参数参数            说明–connect 连接关系型数据库URL–connection­manager 指定连接管理类–driver JDBC的driver class–username 连接数据库的用户名–password 连接数据库的密码–verbose 在控制台中打印详细信息–help 查看帮助–hive­import 将关系型数据库导入到hive表中–hive­overwrite 覆盖掉hive表中已存在的数据–create­hive­table 创建hive表–hive­table 接入hive表–table 指定关系型数据库的表名

 

转:https://www.cnblogs.com/areyouready/p/10049509.html



推荐阅读
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 容器管理与容器监控influxDB
    容器管理与容器监控-influxDB什么是influxDBinfluxDB安装(1)下载镜像(2)创建容器(3 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • 如何在mysqlshell命令中执行sql命令行本文介绍MySQL8.0shell子模块Util的两个导入特性importTableimport_table(JS和python版本 ... [详细]
  • CentOS 7配置SSH远程访问及控制
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文_大数据之非常详细Sqoop安装和基本操作
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据之非常详细Sqoop安装和基本操作相关的知识,希望对你有一定的参考价值。大数据大数据之 ... [详细]
author-avatar
mobiledu2502924751
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有