sqoop

​你应该知道的 HBase 基础,都在这儿了

為{幸葍}努か 提交于 2020-02-28 13:49:18
阿里妹导读 :2006 年10 月Google 发布三架马车之一的《Bigtable:A Distributed Storage System for Strctured Data》论文之后,Powerset 公司就宣布 HBase 在 Hadoop 项目中成立,作为子项目存在。后来,在2010 年左右逐渐成为 Apache 旗下的一个顶级项目。可能是实际应用中包装得太好,很多人对于 HBase 的认识止步于 NoSQL 。今天,蚂蚁金服的南俊从基础开始讲起,希望有助于增强大家在实际业务中对 HBase 的理解。 一、 HBase 简介 HBase 名称的由来是由于其作为 Hadoop Database 存在的,用来存储非结构化、半结构化数据。 要想知道 HBase 的用途,就需要看一看其在 Apache 的 Hadoop 生态系统中的位置,可以看到 HBase 是构建在 HDFS 之上的,这是由于 HBase 内部管理的文件全部都是存储在 HDFS 当中的。同时,MapReduce 这个计算框架在 HBase 之上又提供了高性能的计算能力来处理海量数据。此外还有一些像 Pig、Hive 用来提供高层语言的支持。还有 Sqoop 用来完成传统数据库到 HBase 之间的数据迁移。类似衍生出来的新技术还有很多,有兴趣的同学可以自己去了解一下。 原文链接 来源: oschina 链接:

2020教你如何更好地学习Java

北城以北 提交于 2020-02-28 01:06:26
学习是需要规划时间的,对于自学来说,需要有一个学习路线,因为大部分的人都是从零基础进行学习的,所以我建议大家一定要跟着大纲走,不然非常容易走偏。 首先放大纲 1.制定一个学习计划,没有计划的做事什么都做不成,学习不要盲目的学习,知道自己每天都学习什么东西,这是一个循序渐进的过程,不可以今天多学,明天少学,最后你基本都会放弃。 2.一本Java入门的书籍,当然你在学习Java的时候,一定是先学一块知识,然后在看书,这是我走过来的路,这样的效率非常高,千万别先看书,这样用处不大,都是会看不会写,这样的习惯不要养成。 3.掌握学习方法,那么多人学Java,80%的人都会放弃,原因在于很多人在盲目的摸索,前面人走的弯路,他依旧再走,这不是一个聪明人,聪明人会节省自己的时间,按照少走弯路的思路去学习,跟过来人去请教学习Java要注意的问题,这样你才开始学,而不是什么都不知道就去盲目的学。 4.系统的学习教程,如果你想看视频学习Java,视频不在于多,在于新,在于精,而且看视频有诸多不好,很多人也都会犯这样的错误,就是一天好多视频,看完了就完事了,自己嘴上还说,能听懂他讲的,但是自己不会写,这本身就是不会学习的表现。 5.别人的帮助好,在学习Java的过程中,你不需要都靠自己,外界的帮助是必要的,很多新手问题要找别人去帮忙解决,这样非常节约时间,比如配置环境很多人一天都搞不定

sqoop Mysql 导入到hdfs、hive

穿精又带淫゛_ 提交于 2020-02-23 13:44:24
sqoop是一个用于在Hadoop和关系型数据库(Oracle,Mysql...)间数据传递的开源工具。下面以mysql、sqlserver为例,介绍使用sqoop将数据从mysql、sqlserver导入到Hadoop中(HDFS、Hive) #导入命令及参数介绍 通用参数 参数名 参数说明 --connect <jdbc-uri> JDBC连接字符串 --username <username> 数据库用户名 --password <password> 数据库密码 -P 导入时,从控制台获取数据库密码 --password-file 从指定的文件中获取数据库密码 --verbose 导入时,输出更多的日志信息 控制参数 参数 说明 –append 将数据追加到hdfs中已经存在的dataset中。使用该参数,sqoop将把数据先导入到一个临时目录中,然后重新给文件命名到一个正式的目录中,以避免和该目录中已存在的文件重名。 –as-avrodatafile 将数据导入到一个Avro数据文件中 –as-sequencefile 将数据导入到一个sequence文件中 –as-textfile 将数据导入到一个普通文本文件中,生成该文本文件后,可以在hive中通过sql语句查询出结果。 –boundary-query 边界查询,也就是在导入前先通过SQL查询得到一个结果集

sqoop从hdfs导出到mysql

蹲街弑〆低调 提交于 2020-02-23 13:43:53
create database logs; use logs create table weblogs_from_hdfs( md5 varchar(32), url varchar(64), request_date date, request_time time, ip varchar(15) ); sqoop export -m 1 --connect jdbc:mysql://hadoop:3306/logs --username root --password root --table weblogs_from_hdfs --export-dir /data/weblogs/import --input-fields-terminated-by '\t' 对于通过sqoop导入的数据为NULL的在导出到数据库中时依然保持为NULL.即使在文件中保存为字符串为'null'。 sqoop默认为insert 插入新的语句 --update-key 'md5' 则将创建更新语句,update ....where md5 = '.......' 如果--update-key 'md5' 设置的值没有找到,可以设置--update-mode allowinsert 允许新增这行数据 每个mapper默认默认插入1000条记录,然后提交事务,若mapper失败

Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

て烟熏妆下的殇ゞ 提交于 2020-02-18 01:57:45
网站日志分析项目案例(一)项目介绍: http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗: http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例(三)统计分析: 当前页面 一、借助Hive进行统计 1.1 准备工作:建立分区表   为了能够借助Hive进行统计分析,首先我们需要将清洗后的数据存入Hive中,那么我们需要先建立一张表。这里我们选择分区表,以日期作为分区的指标,建表语句如下:(这里关键之处就在于确定映射的HDFS位置,我这里是/project/techbbs/cleaned即清洗后的数据存放的位置) hive> CREATE EXTERNAL TABLE techbbs(ip string, atime string, url string) PARTITIONED BY (logdate string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION '/project/techbbs/cleaned';   建立了分区表之后,就需要增加一个分区,增加分区的语句如下:(这里主要针对20150425这一天的日志进行分区) hive> ALTER TABLE

大数据技术之Sqoop

≡放荡痞女 提交于 2020-02-13 13:35:31
大数据技术之Sqoop 第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。 Sqoop2的最新版本是1.99.7。请注意,2与1不兼容,且特征不完整,它并不打算用于生产部署。 第2章 Sqoop原理 将导入或导出命令翻译成mapreduce程序来实现。 在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。 第3章 Sqoop安装(搭建) 安装Sqoop的前提是已经具备Java和Hadoop的环境。 3.1 下载并解压Sqoop架包 mkdir /usr/local/sqoop cd /usr/local/sqoop tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz rm -rf sqoop-1.4.7.bin__hadoop-2.6.0.tar

业务数仓项目总结

社会主义新天地 提交于 2020-02-12 14:52:30
1 熟悉8张表的业务字段,每张表记住3-5个字段 2 数仓理论 1)表的分类:实体表、维度表、事务型事实表、周期型事实表 2)表的同步策略: 实体表(全量) 维度表(全量) 事务型事实表(增量) 周期型事实表(新增和变化、拉链表) 3)范式理论: 一范式原则:属性不可切割; 二范式原则:不能存在部分函数依赖; 三范式原则:不能存在传递函数依赖; 4)数仓维度建模模型 星型模型,维度一层; 雪花模型,维度多层; 星座模型,多个事实表; 性能优先选择星型模型,灵活优先选择雪花模型。企业中星型模型多一些。 3 Sqoop参数 /opt/module/sqoop/bin/sqoop import \ --connect \ --username \ --password \ --target-dir \ --delete-target-dir \ --num-mappers \ --fields-terminated-by \ --query "$2" ' and $CONDITIONS;' 3.1 Sqoop导入导出Null存储一致性问题 Hive中的Null在底层是以“\N”来存储,而MySQL中的Null在底层就是Null,为了保证数据两端的一致性。在导出数据时采用--input-null-string和--input-null-non-string两个参数。导入数据时采用-

寒假记录十二

爷,独闯天下 提交于 2020-02-12 14:34:08
Sqoop 概述 Sqoop 是一款开源的工具,主要用于在 Hadoop 生态系统( Hadoop 、 Hive 等 ) 与传统的数据库 (MySQL 、 Oracle 等 ) 间进行数据的传递,可以将一个关系型数据库中的数据导入到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导入到关系型数据库中。 Sqoop 导入原理: 在导入开始之前, Sqoop 使用 JDBC 来检查将要导入的表。他检索出表中所有的列以及列的 SQL 数据类型。这些 SQL 类型( varchar 、 integer )被映射到 Java 数据类型( String 、 Integer 等),在 MapReduce 应用中将使用这些对应的 Java 类型来保存字段的值。 Sqoop 的代码生成器使用这些信息来创建对应表的类,用于保存从表中抽取的记录。 Sqoop 启动的 MapReduce 作业用到一个 InputFormat ,他可以通过 JDBC 从一个数据库表中读取部分内容。 Hadoop 提供的 DataDriverDB InputFormat 能为查询结果进行划分传给指定个数的 map 任务。为了获取更好的导入性能,查询会根据一个 “ 划分列 ” 来进行划分。 Sqoop 会选择一个合适的列作为划分列(通常是表的主键)。在生成反序列化代码和配置 InputFormat 之后,

Apache Sqoop

邮差的信 提交于 2020-02-08 05:24:18
概述 Apache Sqoop™是一种在Apache Hadoop和结构化数据存储(例如关系数据库)之间高效传输批量数据的工具。通过内嵌的MapReduce程序实现关系型数据库和HDFS、Hbase、Hive等数据的导入导出。 安装 1.访问sqoop的网址http://sqoop.apache.org/,选择相应的sqoop版本下载,本案例选择下载的是1.4.7下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz,下载完相应的工具包后,解压Sqoop. [ root @CentOS ~ ] # tar - zxf sqoop - 1.4 .7 . bin__hadoop - 2.6 .0 . tar . gz - C / usr / [ root @CentOS ~ ] # cd / usr / [ root @CentOS usr ] # mv sqoop - 1.4 .7 . bin__hadoop - 2.6 .0 sqoop - 1.4 .7 [ root @CentOS ~ ] # cd / usr / sqoop - 1.4 .7 / 2.配置SQOOP_HOME环境变量 [ root @CentOS sqoop - 1.4

sqoop安装和使用

一个人想着一个人 提交于 2020-02-07 00:51:50
sqoop安装 sqoop镜像: http://mirror.bit.edu.cn/apache/sqoop/ https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/ http://archive.apache.org/dist/ #更多历史版本 本教程: hadoop2.7.5 hdfs导入导出均成功 hbase2.1.8 不能导出到mysql,能导入到hbase hive2.3.6 导入导出均成功 1.解压、添加环境变量 把sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz上传到linux的/opt/目录下,并解压。 [root@master opt]# tar -zxvf ./ sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz #解压文件到当前/opt目录 [root@master opt]# mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop #将文件夹名改为sqoop 添加环境变量: [root@master opt]# vi ~/.bash_profile 添加如下代码: export SQOOP_HOME=/opt/sqoop export PATH=$SQOOP_HOME/bin:$PATH source ~/.bash_profile #立即生效