1、最新推荐sqoop查看日志精选word文档 12页本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!= 本文为word格式,下载后可方便编辑和修改! = sqoop查看日志篇一:sqoop使用手册Author :路帅1. Sqoop介绍 概述Hadoop的数据传输工具sqoop是Apache顶级项目,主要用来在Hadoop和关系数据库、数据仓库、NoSql系统中传递数据。通过sqoop,我们可以方便的将数据从关系数据库导入到HDFS、Hbase、Hive,或者将数据从HDFS导出到关系数据库。 sqoop架构非常简单,其整合了Hive、Hbase和Ooz
2、ie,通过map-reduce任务来传输数据,从而提供并发特性和容错。Sqoop集成了工作流程协调的Apache Oozie,定义安排和自动导入/导出任务。 。sqoop主要通过JDBC和关系数据库进行交互。理论上支持JDBC的database都可以使用sqoop和hdfs进行数据交互。但是,只有一小部分经过sqoop官方测试,如下:版本介绍201X年3月,sqoop从Apache的孵化器中毕业。成为Apache的Top-Level Project。下图提供了sqoop从诞生到目前的简要概述:第 1 页Sqoop的版本到目前为止,主要分为sqoop1 和sqoop2 , sqoop1.4.4之
3、前的所有版本称为sqoop1,之后的版本 sqoop1.991,sqoop1.99.2,sqoop1.99.3 称为sqoop2。目前 sqoop1 的稳定版本是sqoop1.4.4,sqoop2 的最新版本是sqoop 1.99.3。 Sqoop1和sqoop2的区别1.3.1.工作模式sqoop1 基于客户端模式,用户使用客户端模式,需要在客户端节点安装sqoop和连接器/驱动器sqoop2 基于服务的模式,是sqoop1的下一代版本,服务模式主要分为 sqoop2 server 和 client,用户使用服务的模式,需要在sqoop2 server安装连接器/驱动器,所有配置信息都在sq
4、oop2 server进行配置。1.3.2. MR角度透视其区别sqoop 只提交一个map作业,数据的传输和转换都由Mappers来完成。sqoop2 提交一个MapReduce作业,Mappers负责从数据源传输(transporting)数据,Reducers负责根据指定的源来转换(transforming)数据。1.3.3. 从安全的角度另外一个重要的区别是sqoop2从安全的角度进行设计,管理员来配置数据的源和目标,然而,操作者直接使用已经建好的链接,不需要了解该链接的具体细节信息,按需获取即可。1.3.4. 其他方面Web UI:sqoop 只提供了CLI方式,sqoop2同时也支
5、持Web UI的方式。Sqoop Server以REST服务方式提供CLI和 Web UI第 2 页另外,Sqoop2 REST 服务接口能更容易的集成其他框架进来,比如Oozie,用来定义Sqoop2工作流。注意点:sqoop 是Hue(HUE-1214)的模块,不是ASF的部分。1.3.5. 功能差异:Moving from Sqoop 1 to Sqoop 2: Sqoop 2 is essentially the future of the Apache Sqoop project. However, since Sqoop 2 currently lacks some of the
6、features of Sqoop 1, Cloudera recommends you use Sqoop 2 only if it contains all the features required for your use case, otherwise, continue to use Sqoop 1. Feature Connectors for all major RDBMSSqoop 1Supported.Sqoop 2Not supported.Workaround: Use the generic JDBC Connector which has been tested o
7、n the following databases: Microsoft SQL Server, PostgreSQL, MySQL and Oracle.This connector should work on any other JDBC compliant database. However, performance might not be comparable to that of specialized connectors in Sqoop.Kerberos IntegrationSecurity Supported. Not supported.Encryption of S
8、tored Passwords Not supported. No workaround.Supported using Derbys .Disclaimer: Although expected to work in the current version of Sqoop 2, this configuration has not been verified.Data transfer from RDBMS to Hive or HBaseSupported. Not supported.Workaround: Follow this two-step approach.1. Import
9、 data from RDBMS into HDFS2. Load data into Hive or HBase manually using appropriate tools and commands such as the LOAD DATA statement in Hive第 3 页Sqoop1Sqoop1架构sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map任务来传输数据,map负责数据的加载、转换,存储到HDFS、Hbase或者Hive中。数据大概流程1.读取要导入数据的表结构,生成运行类,默认是QueryResult,打成jar包,然后提交给Hado
10、op 2.设置好job,主要也就是设置好sqoop的各个参数3.这里就由Hadoop来执行MapReduce来执行Import命令了,第 4 页1)首先要对数据进行切分,也就是DataSplitDataDrivenDBInputFormat.getSplits(JobContext job) 2)切分好范围后,写入范围,以便读取DataDrivenDBInputFormat.write(DataOutput output) 这里是lowerBoundQuery and upperBoundQuery3)读取以上2)写入的范围DataDrivenDBInputFormat.readFields(
11、DataInput input) 4)然后创建RecordReader从数据库中读取数据DataDrivenDBInputFormat.createRecordReader(InputSplit split,TaskAttemptContext context)5)创建MapTextImportMapper.setup(Context context)6)RecordReader一行一行从关系型数据库中读取数据,设置好Map的Key和Value,交给MapDBRecordReader.nextKeyValue() 7)运行mapTextImportMapper.map(LongWritable
12、 key, SqoopRecord val, Context context) 最后生成的Key是行数据,由QueryResult生成,Value是NullWritable.get()第 5 页篇二:使用sqoop将mysql中数据导入到hive中接上一篇文章:Hadoop学习全程记录hive入门hive是Facebook的产品,最早研发它的目的是用它来对Facebook网站每天产生的海量日志进行分析。有时我们需要分析的数据可能存在数据库中,这时我们可以利用sqoop将mysql中数据导入到hive中。操作系统:在windows下使用wubi安装了ubuntu 10.10hadoop版本:ha
13、doop-0.20.2.tar.gzzookeeper版本:zookeeper-3.3.3.tar.gzhive版本:hive-0.6.0 .tar.gzsqoop版本:sqoop-1.2.0-CDH3B4.tar.gz其中sqoop是将mysql数据导入hive的工具。这篇文章/cdh/3/sqoop-1.2.0-CDH3B4/SqoopUserGuide.html比较详细得介绍了sqoop的使用。主要的使用命令为:Java代码1. $ sqoop import -connect jdbc:mysql:/IP:PORT/DATABASE -username USERNAME -passwor
14、d PASSWORD -table TABLE -hive-import通过上面的命令我们就能把数据库DATABASE中的TABLE表导入到hive中了,在hive环境使用命令:Java代码1. hive show tables;就能发现多了一个TABLE表了,接下来就可以使用hive对表中数据进行分析了。在使用过程中可能遇到的问题:sqoop依赖zookeeper,所以必须配置ZOOKEEPER_HOME到环境变量中。 ? sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.jar,所以你需要下载hadoop-0.20.2-CDH3B4.tar.gz,
15、解压缩后将hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2-CDH3B4.jar复制到sqoop-1.2.0-CDH3B4/lib中。? sqoop导入mysql数据运行过程中依赖mysql-connector-java-*.jar,所以你需要下载mysql-connector-java-*.jar并复制到sqoop-1.2.0-CDH3B4/lib中。 ?只要注意这几点,我们就能使用sqoop将mysql中的表数据导入到hive进行并行计算分析了,当然只有在mysql中存在海量数据时才使用这个方法,一般数据量时,使用mysql的SQL语句已经足够了。篇三:SqoopSqoop的用法1. 系统配置电脑1(Lenovo E420),win7 64位系统,8G内存,此电脑虚拟机上运行两个ubuntu14.10系统。电脑2(Lenovo SL410),win7 64位系统,4G内存,此电脑虚拟机上运行一个ubuntu14.10系统。虚拟机:Vmware10.0Hadoop2.7.0Zookeeper3.4.6Sqoop1.4.42. Sqoop简介Sqoop 主要用于在HADOOP(Hive)与传统数据库之间进行数据的传递。可以将一个关系型数据库(mysql,oracle.)中的数据导入Hadoop的HDFS中,也可以将HD
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1