随笔分类 - Hadoop

摘要: 界面介绍 首页有四个菜单 projects:最重要的部分,创建一个工程,所有flows将在工程中运行。 scheduling:显示定时任务 executing:显示当前运行的任务 history:显示历史运行任务 介绍projects部分 概念介绍 创建工程:创建之前我们先了解下之间的关系,一个工程阅读全文
posted @ 2018-04-15 15:58 扎心了,老铁 阅读(7621) | 评论 (2) 编辑
摘要: 安装过程 1、软件介绍 Azkaban Web 服务器:azkaban-web-server-2.5.0.tar.gz Azkaban Excutor 执行服务器:azkaban-executor-server-2.5.0.tar.gz Azkaban 初始化脚本文件:azkaban-sql-scr阅读全文
posted @ 2018-04-15 15:53 扎心了,老铁 阅读(1756) | 评论 (0) 编辑
摘要: 一、为什么需要工作流调度器 1、一个完整的数据分析系统通常都是由大量任务单元组成: shell 脚本程序,java 程序,mapreduce 程序、hive 脚本等 2、各任务单元之间存在时间先后及前后依赖关系 3、为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行 例如,我们可能阅读全文
posted @ 2018-04-15 15:51 扎心了,老铁 阅读(2763) | 评论 (0) 编辑
摘要: 一、概述 sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。 核心的功能有两个: 导入、迁入 导出、迁出 导入数据:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统 导出数据:从 Hadoop 的文件系阅读全文
posted @ 2018-04-15 15:48 扎心了,老铁 阅读(20640) | 评论 (5) 编辑
摘要: 一、Hadoop 框架计算特性 1、数据量大不是问题,数据倾斜是个问题 2、jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次 汇总,产生十几个 jobs,耗时很长。原因是 map reduce 作业初始化的时间是比较长的 3、sum,count,max,min 等 阅读全文
posted @ 2018-04-15 15:46 扎心了,老铁 阅读(3828) | 评论 (0) 编辑
摘要: 一、Hive 执行过程概述 1、概述 (1) Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 (2)操作符 Operator 是 Hive 的最小处理单元 (3)每个操作符代表一个 HDFS 操作或者 MapReduc阅读全文
posted @ 2018-04-15 15:44 扎心了,老铁 阅读(2205) | 评论 (0) 编辑
摘要: 1、什么是数据倾斜? 由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点 2、Hadoop 框架的特性 A、不怕数据大,怕数据倾斜 B、Jobs 数比较多的作业运行效率相对比较低,如子查询比较多 C、 sum,count,max,min 等聚集函数,通常不会有数据倾斜问题 3、主要表现 任务阅读全文
posted @ 2018-04-15 15:41 扎心了,老铁 阅读(4162) | 评论 (0) 编辑
摘要: 一、Hive的命令行 1、Hive支持的一些命令 Command Description quit Use quit or exit to leave the interactive shell. set key=value Use this to set value of particular c阅读全文
posted @ 2018-04-15 15:40 扎心了,老铁 阅读(3107) | 评论 (0) 编辑
摘要: 概述 GROUPING SETS,GROUPING__ID,CUBE,ROLLUP 这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。 数据准备 数据格式 创建表 玩一玩GROUPING SETS和GROUPING__ID 说明 在一阅读全文
posted @ 2018-04-15 15:37 扎心了,老铁 阅读(3097) | 评论 (0) 编辑
摘要: 数据准备 数据格式 cookie4.txt 创建表 玩一玩LAG 说明 LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值 第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL) 查询语句 查询结果阅读全文
posted @ 2018-04-15 15:33 扎心了,老铁 阅读(3982) | 评论 (0) 编辑
摘要: 这两个序列分析函数不是很常用,这里也练习一下。 数据准备 数据格式 cookie3.txt 创建表 玩一玩CUME_DIST 说明 –CUME_DIST :小于等于当前值的行数/分组内总行数 查询语句 比如,统计小于等于当前薪水的人数,所占总人数的比例 查询结果 结果说明 玩一玩PERCENT_RA阅读全文
posted @ 2018-04-11 20:13 扎心了,老铁 阅读(1757) | 评论 (0) 编辑
摘要: 概述 本文中介绍前几个序列函数,NTILE,ROW_NUMBER,RANK,DENSE_RANK,下面会一一解释各自的用途。 注意: 序列函数不支持WINDOW子句。(ROWS BETWEEN) 数据准备 数据格式 创建表 玩一玩NTILE 说明 NTILE(n),用于将分组数据按照顺序切分成n片,阅读全文
posted @ 2018-04-11 19:43 扎心了,老铁 阅读(2065) | 评论 (0) 编辑
摘要: 数据准备 数据格式 创建数据库及表 玩一玩SUM 查询语句 查询结果 说明 如果不指定ROWS BETWEEN,默认为从起点到当前行;如果不指定ORDER BY,则将分组内所有值累加;关键是理解ROWS BETWEEN含义,也叫做WINDOW子句:PRECEDING:往前FOLLOWING:往后CU阅读全文
posted @ 2018-04-10 21:43 扎心了,老铁 阅读(5911) | 评论 (0) 编辑
摘要: 案例说明 现有如此三份数据:1、users.dat 数据格式为: 2::M::56::16::70072, 共有6040条数据对应字段为:UserID BigInt, Gender String, Age Int, Occupation String, Zipcode String对应字段中文解释:阅读全文
posted @ 2018-04-10 21:41 扎心了,老铁 阅读(5353) | 评论 (9) 编辑
摘要: 一、求单月访问次数和总访问次数 1、数据说明 数据字段说明 数据格式 2、数据准备 (1)创建表 (2)导入数据 (3)验证数据 3、结果需求 现要求出:每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数,结果数据格式如下 4、需求分析 此结果需要根据用户+月份进行分组 (1)先求出当阅读全文
posted @ 2018-04-10 21:40 扎心了,老铁 阅读(14055) | 评论 (2) 编辑
摘要: 一、负责数据类型 1、array 现有数据如下: 1 huangbo guangzhou,xianggang,shenzhen a1:30,a2:20,a3:100 beijing,112233,13522334455,5002 xuzheng xianggang b2:50,b3:40 tianj阅读全文
posted @ 2018-04-10 21:35 扎心了,老铁 阅读(5067) | 评论 (2) 编辑
摘要: 数学函数 Return Type Return Type Name (Signature) Name (Signature) Description Description DOUBLE round(DOUBLE a) Returns the rounded BIGINT value of a. 返阅读全文
posted @ 2018-04-08 17:09 扎心了,老铁 阅读(4218) | 评论 (0) 编辑
摘要: Hive注释中文乱码 创建表的时候,comment说明字段包含中文,表成功创建成功之后,中文说明显示乱码 这是因为在MySQL中的元数据出现乱码 针对元数据库metastore中的表,分区,视图的编码设置 因为我们知道 metastore 支持数据库级别,表级别的字符集是 latin1 那么我们只需阅读全文
posted @ 2018-04-07 17:25 扎心了,老铁 阅读(7594) | 评论 (1) 编辑
摘要: 库操作 1、创建库 语法结构 CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] //关于数据块的描述 [LOCATION hdfs_path] //指定数据库在HDFS上的存储位置 [W阅读全文
posted @ 2018-04-07 17:24 扎心了,老铁 阅读(5680) | 评论 (3) 编辑
摘要: 一、数据类型 1、基本数据类型 Hive 支持关系型数据中大多数基本数据类型 和其他的SQL语言一样,这些都是保留字。需要注意的是所有的这些数据类型都是对Java中接口的实现,因此这些类型的具体行为细节和Java中对应的类型是完全一致的。例如,string类型实现的是Java中的String,flo阅读全文
posted @ 2018-04-07 17:22 扎心了,老铁 阅读(5788) | 评论 (1) 编辑
摘要: 一、安装DbVisualizer 下载地址http://www.dbvis.com/ 也可以从网上下载破解版程序,此处使用的版本是DbVisualizer 9.1.1 具体的安装步骤可以百度,或是修改安装目录之后默认安装就可以 二、配置DbVisualizer里的hive jdbc 1、在DbVis阅读全文
posted @ 2018-04-05 14:44 扎心了,老铁 阅读(6231) | 评论 (4) 编辑
摘要: 一、CLI连接 进入到 bin 目录下,直接输入命令: [hadoop@hadoop3 ~]$ hiveSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/home/hadoop/阅读全文
posted @ 2018-04-04 13:01 扎心了,老铁 阅读(17030) | 评论 (1) 编辑
摘要: 概述 Hive 的元数据信息通常存储在关系型数据库中,常用MySQL数据库作为元数据库管理。上一篇hive的安装也是将元数据信息存放在MySQL数据库中。 Hive的元数据信息在MySQL数据中有57张表 一、存储Hive版本的元数据表(VERSION) VERSION -- 查询版本信息 该表比较阅读全文
posted @ 2018-04-03 19:58 扎心了,老铁 阅读(8744) | 评论 (1) 编辑
摘要: Hive的下载 下载地址http://mirrors.hust.edu.cn/apache/ 选择合适的Hive版本进行下载,进到stable-2文件夹可以看到稳定的2.x的版本是2.3.3 Hive的安装 1、本人使用MySQL做为Hive的元数据库,所以先安装MySQL。 MySql安装过程ht阅读全文
posted @ 2018-04-03 19:50 扎心了,老铁 阅读(9707) | 评论 (0) 编辑
摘要: Hive 简介 什么是Hive 1、Hive 由 Facebook 实现并开源 2、是基于 Hadoop 的一个数据仓库工具 3、可以将结构化的数据映射为一张数据库表 4、并提供 HQL(Hive SQL)查询功能 5、底层数据是存储在 HDFS 上 6、Hive的本质是将 SQL 语句转换为 Ma阅读全文
posted @ 2018-04-03 19:49 扎心了,老铁 阅读(38806) | 评论 (6) 编辑
摘要: 协处理器—Coprocessor 1、 起源 Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执 行求和、计数、排序等操作。比如,在旧版本的(<0.92)Hbase 中,统计数据表的总行数,需 要使用 Counter 方法,执行一次 MapReduce Job 才能阅读全文
posted @ 2018-04-03 13:58 扎心了,老铁 阅读(1670) | 评论 (0) 编辑
摘要: 建表高级属性 下面几个 shell 命令在 hbase 操作中可以起到很大的作用,且主要体现在建表的过程中,看 下面几个 create 属性 1、 BLOOMFILTER 默认是 NONE 是否使用布隆过虑及使用何种方式,布隆过滤可以每列族单独启用 使用 HColumnDescriptor.setB阅读全文
posted @ 2018-04-03 13:03 扎心了,老铁 阅读(1465) | 评论 (0) 编辑
摘要: HBase phoenix的下载 下载地址http://mirror.bit.edu.cn/apache/phoenix/ 选择对应的hbase版本进行下载,测试使用的是hbase-1.2.6版本阅读全文
posted @ 2018-04-03 12:56 扎心了,老铁 阅读(1090) | 评论 (0) 编辑
摘要: 主要是记录一下链接 http://hbasefly.com阅读全文
posted @ 2018-04-02 20:55 扎心了,老铁 阅读(1424) | 评论 (0) 编辑
摘要: 系统架构 错误图解 这张图是有一个错误点:应该是每一个 RegionServer 就只有一个 HLog,而不是一个 Region 有一个 HLog。 正确图解 从HBase的架构图上可以看出,HBase中的组件包括Client、Zookeeper、HMaster、HRegionServer、HReg阅读全文
posted @ 2018-04-02 20:14 扎心了,老铁 阅读(2445) | 评论 (0) 编辑
摘要: 过滤器(Filter) 基础API中的查询操作在面对大量数据的时候是非常苍白的,这里Hbase提供了高级的查询方法:Filter。Filter可以根据簇、列、版本等更多的条件来对数据进行过滤,基于Hbase本身提供的三维有序(主键有序、列有序、版本有序),这些Filter可以高效的完成查询过滤的任务阅读全文
posted @ 2018-04-02 18:42 扎心了,老铁 阅读(2768) | 评论 (0) 编辑
摘要: MapReduce从HDFS读取数据存储到HBase中 现有HDFS中有一个student.txt文件,格式如下 将HDFS上的这个文件里面的数据写入到HBase数据块中 MapReduce实现代码如下 MapReduce从HBase读取数据计算平均年龄并存储到HDFS中阅读全文
posted @ 2018-04-02 12:28 扎心了,老铁 阅读(4055) | 评论 (1) 编辑
摘要: Eclipse环境搭建 具体的jar的引入方式可以参考http://www.cnblogs.com/qingyunzong/p/8623309.html HBase API操作表和数据阅读全文
posted @ 2018-03-31 09:55 扎心了,老铁 阅读(2249) | 评论 (0) 编辑
摘要: 进入HBase命令行 在你安装的随意台服务器节点上,执行命令:hbase shell,会进入到你的 hbase shell 客 户端 说明,先看一下提示。其实是不是有一句很重要的话: 讲述了怎么获得帮助,怎么退出客户端 help 获取帮助 help:获取所有命令提示 help "dml" :获取一组阅读全文
posted @ 2018-03-31 09:50 扎心了,老铁 阅读(2884) | 评论 (0) 编辑
摘要: 前提 1、HBase 依赖于 HDFS 做底层的数据存储 2、HBase 依赖于 MapReduce 做数据计算 3、HBase 依赖于 ZooKeeper 做服务协调 4、HBase源码是java编写的,安装需要依赖JDK 版本选择 打开官方的版本说明http://hbase.apache.org阅读全文
posted @ 2018-03-29 17:16 扎心了,老铁 阅读(3319) | 评论 (2) 编辑
摘要: 产生背景 自 1970 年以来,关系数据库用于数据存储和维护有关问题的解决方案。大数据的出现后, 好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案。Hadoop 使用分 布式文件系统,用于存储大数据,并使用 MapReduce 来处理。Hadoop 擅长于存储各种格式 的庞大阅读全文
posted @ 2018-03-29 11:34 扎心了,老铁 阅读(5829) | 评论 (2) 编辑
摘要: 本文参考自https://blog.csdn.net/wo541075754/article/details/69138878?utm_source=gold_browser_extension https://www.cnblogs.com/java-zhao/p/7350945.html 简介 阅读全文
posted @ 2018-03-29 11:33 扎心了,老铁 阅读(2926) | 评论 (0) 编辑
摘要: 爬虫的四个主要步骤 什么是正则表达式 正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正阅读全文
posted @ 2018-03-28 18:29 扎心了,老铁 阅读(479) | 评论 (0) 编辑
摘要: HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HT阅读全文
posted @ 2018-03-28 18:27 扎心了,老铁 阅读(3076) | 评论 (0) 编辑
摘要: 通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 通用搜索引擎(Search Engine)工作阅读全文
posted @ 2018-03-28 18:26 扎心了,老铁 阅读(449) | 评论 (0) 编辑
摘要: Python基础 基础教程参考廖雪峰的官方网站https://www.liaoxuefeng.com/ 一、"大数据时代",数据获取的方式 1. 企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然的优势。 有数据意识的中小型企业,也开始积累的数据。 2. 数据管理咨询公司:通常这样阅读全文
posted @ 2018-03-28 18:24 扎心了,老铁 阅读(566) | 评论 (0) 编辑
摘要: 前言 python3应该是Python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在centos6.7下搭建python3环境的过程 以及碰到的问题和解决过程。 另外,如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的pyt阅读全文
posted @ 2018-03-28 18:22 扎心了,老铁 阅读(1148) | 评论 (0) 编辑
摘要: 一、背景 Hadoop 的设计目的:解决海量大文件的处理问题,主要指大数据的存储和计算问题,其中, HDFS 解决数据的存储问题;MapReduce 解决数据的计算问题 Hadoop 的设计考虑:设计分布式的存储和计算解决方案架构在廉价的集群之上,所以,服 务器节点出现宕机的情况是常态。数据的安全是阅读全文
posted @ 2018-03-24 16:56 扎心了,老铁 阅读(1305) | 评论 (0) 编辑
摘要: Hadoop HA 原理概述 为什么会有 hadoop HA 机制呢? HA:High Available,高可用 在Hadoop 2.0之前,在HDFS 集群中NameNode 存在单点故障 (SPOF:A Single Point of Failure)。 对于只有一个 NameNode 的集群阅读全文
posted @ 2018-03-24 16:21 扎心了,老铁 阅读(9158) | 评论 (1) 编辑
摘要: ZooKeeper中的各种角色 ZooKeeper与客户端 每个Server在工作过程中有三种状态: LOOKING:当前Server不知道leader是谁,正在搜寻 LEADING:当前Server即为选举出来的leader FOLLOWING:leader已经选举出来,当前Server与之同步 阅读全文
posted @ 2018-03-24 16:20 扎心了,老铁 阅读(6083) | 评论 (0) 编辑
摘要: ZooKeeper 特点/设计目的 ZooKeeper 作为一个集群提供数据一致的协调服务,自然,最好的方式就是在整个集群中的 各服务节点进行数据的复制和同步。 数据复制的好处 1、容错:一个节点出错,不至于让整个集群无法提供服务 2、扩展性:通过增加服务器节点能提高 ZooKeeper 系统的负载阅读全文
posted @ 2018-03-24 16:18 扎心了,老铁 阅读(1635) | 评论 (0) 编辑
摘要: 编程思维训练 1、级联查看某节点下所有节点及节点值 2、删除一个节点,不管有有没有任何子节点 3、级联创建任意节点 4、清空子节点 ZKTest.java ZKUtil.java阅读全文
posted @ 2018-03-24 16:16 扎心了,老铁 阅读(1930) | 评论 (0) 编辑
摘要: zookeeper文件系统的增删改查 监听设置 输出结果阅读全文
posted @ 2018-03-24 16:14 扎心了,老铁 阅读(1722) | 评论 (0) 编辑
摘要: 一、eclipse中配置zookeeper开发环境 1)将zookeeper eclipse plugin中的6个jar包放到eclipse安装目录下的plugins文件中,重启eclipse (2) 在 Eclipse 菜单打开Window->Show View->Other…->ZooKeepe阅读全文
posted @ 2018-03-24 16:13 扎心了,老铁 阅读(3001) | 评论 (0) 编辑
摘要: Zookeeper的shell操作 Zookeeper命令工具 在启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务: 1 [hadoop@hadoop1 ~]$ zkCli.sh -server hadoop2:2181 2 Connecting to hadoop2:21阅读全文
posted @ 2018-03-24 16:12 扎心了,老铁 阅读(2246) | 评论 (0) 编辑
摘要: ZooKeeper 软件安装须知 鉴于 ZooKeeper 本身的特点,服务器集群的节点数推荐设置为奇数台。我这里我规划为三台, 为别为 hadoop1,hadoop2,hadoop3 ZooKeeper 的集群安装 ZooKeeper 的下载 下载地址:http://mirrors.hust.ed阅读全文
posted @ 2018-03-24 16:11 扎心了,老铁 阅读(3680) | 评论 (3) 编辑
摘要: 本文引用自 http://www.cnblogs.com/sunddenly/p/4033574.html 引言 Hadoop 集群当中 N 多的配置信息如何做到全局一致并且单点修改迅速响应到整个集群? 配置管理 Hadoop 集群中的 namonode 和 resourcemanager 的单点故阅读全文
posted @ 2018-03-24 16:10 扎心了,老铁 阅读(3175) | 评论 (0) 编辑
摘要: 求所有两两用户之间的共同好友 数据格式 以上是数据:A:B,C,D,F,E,O表示:B,C,D,E,F,O是A用户的好友。 第一阶段输出结果 1 A F,I,O,K,G,D,C,H,B 2 B E,J,F,A 3 C B,E,K,A,H,G,F 4 D H,C,G,F,E,A,K,L 5 E A,B阅读全文
posted @ 2018-03-24 16:08 扎心了,老铁 阅读(1324) | 评论 (0) 编辑
摘要: 第一题 下面是三种商品的销售数据 要求:根据以上数据,用 MapReduce 统计出如下数据: 1、每种商品的销售总金额,并降序排序 2、每种商品销售额最多的三周 第二题:MapReduce 题 现有如下数据文件需要处理: 格式:CSV 数据样例: user_a,location_a,2018-01阅读全文
posted @ 2018-03-24 16:06 扎心了,老铁 阅读(818) | 评论 (0) 编辑
摘要: 影评案例 数据及需求 数据格式 movies.dat 3884条数据 users.dat 6041条数据 ratings.dat 1000210条数据 数据解释 1、users.dat 数据格式为: 2::M::56::16::70072对应字段为:UserID BigInt, Gender Str阅读全文
posted @ 2018-03-24 16:01 扎心了,老铁 阅读(961) | 评论 (1) 编辑
摘要: 学生成绩 增强版 数据信息 1 computer,huangxiaoming,85,86,41,75,93,42,85 2 computer,xuzheng,54,52,86,91,42 3 computer,huangbo,85,42,96,38 4 english,zhaobenshan,54,阅读全文
posted @ 2018-03-24 16:00 扎心了,老铁 阅读(1059) | 评论 (1) 编辑
摘要: YARN 1.1、YARN 概述 YARN(Yet Another Resource Negotiator) YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操 作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序 YARN 是 Had阅读全文
posted @ 2018-03-24 15:59 扎心了,老铁 阅读(4640) | 评论 (0) 编辑
摘要: 概述 1、MapReduce 中,mapper 阶段处理的数据如何传递给 reducer 阶段,是 MapReduce 框架中 最关键的一个流程,这个流程就叫 Shuffle 2、Shuffle: 数据混洗 ——(核心机制:数据分区,排序,局部聚合,缓存,拉取,再合并 排序) 3、具体来说:就是将 阅读全文
posted @ 2018-03-24 15:38 扎心了,老铁 阅读(2117) | 评论 (1) 编辑
摘要: MapReduce的输入 作为一个会编写MR程序的人来说,知道map方法的参数是默认的数据读取组件读取到的一行数据 1、是谁在读取? 是谁在调用这个map方法? 查看源码Mapper.java知道是run方法在调用map方法。 此处map方法中有四个重要的方法: 1、context.nextKeyV阅读全文
posted @ 2018-03-23 18:29 扎心了,老铁 阅读(1156) | 评论 (0) 编辑
摘要: MapReduce Join 对两份数据data1和data2进行关键词连接是一个很通用的问题,如果数据量比较小,可以在内存中完成连接。 如果数据量比较大,在内存进行连接操会发生OOM。mapreduce join可以用来解决大数据的连接。 1 思路 1.1 reduce join 在map阶段, 阅读全文
posted @ 2018-03-23 18:28 扎心了,老铁 阅读(2461) | 评论 (3) 编辑
摘要: 前言 在Hadoop中,排序是MapReduce的灵魂,MapTask和ReduceTask均会对数据按Key排序,这个操作是MR框架的默认行为,不管你的业务逻辑上是否需要这一操作。 技术点 MapReduce框架中,用到的排序主要有两种:快速排序和基于堆实现的优先级队列(PriorityQueue阅读全文
posted @ 2018-03-21 13:31 扎心了,老铁 阅读(1712) | 评论 (0) 编辑
摘要: 流量统计项目案例 样本示例 需求 1、 统计每一个用户(手机号)所耗费的总上行流量、总下行流量,总流量 2、 得出上题结果的基础之上再加一个需求:将统计结果按照总流量倒序排序 3、 将流量汇总统计结果按照手机归属地不同省份输出到不同文件中 第一题 第二题 FlowBean.java 1 import阅读全文
posted @ 2018-03-21 11:45 扎心了,老铁 阅读(1184) | 评论 (3) 编辑
摘要: 对combiner的理解 combiner其实属于优化方案,由于带宽限制,应该尽量map和reduce之间的数据传输数量。它在Map端把同一个key的键值对合并在一起并计算,计算规则与reduce一致,所以combiner也可以看作特殊的Reducer。 执行combiner操作要求开发者必须在程序阅读全文
posted @ 2018-03-21 11:44 扎心了,老铁 阅读(1084) | 评论 (0) 编辑
摘要: Partitioner分区类的作用是什么? 在进行MapReduce计算时,有时候需要把最终的输出数据分到不同的文件中,比如按照省份划分的话,需要把同一省份的数据放到一个文件中;按照性别划分的话,需要把同一性别的数据放到一个文件中。我们知道最终的输出数据是来自于Reducer任务。那么,如果要得到多阅读全文
posted @ 2018-03-21 11:43 扎心了,老铁 阅读(1176) | 评论 (0) 编辑
摘要: http://blog.csdn.net/strongyoung88/article/details/68952248阅读全文
posted @ 2018-03-21 11:41 扎心了,老铁 阅读(2542) | 评论 (0) 编辑
摘要: MapReduce 多 Job 串联 需求 一个稍复杂点的处理逻辑往往需要多个 MapReduce 程序串联处理,多 job 的串联可以借助 MapReduce 框架的 JobControl 实现 实例 以下有两个 MapReduce 任务,分别是 Flow 的 SumMR 和 SortMR,其中有阅读全文
posted @ 2018-03-21 11:37 扎心了,老铁 阅读(1549) | 评论 (0) 编辑
摘要: 概述 一个完整的 MapReduce 程序在分布式运行时有两类实例进程: 1、MRAppMaster:负责整个程序的过程调度及状态协调 2、Yarnchild:负责 map 阶段的整个数据处理流程 3、Yarnchild:负责 reduce 阶段的整个数据处理流程 以上两个阶段 MapTask 和 阅读全文
posted @ 2018-03-21 11:36 扎心了,老铁 阅读(1972) | 评论 (0) 编辑
摘要: MapReduce是什么 首先让我们来重温一下 hadoop 的四大组件: HDFS:分布式存储系统 MapReduce:分布式计算系统 YARN:hadoop 的资源调度系统 Common:以上三大组件的底层支撑组件,主要提供基础工具包和 RPC 框架等 MapReduce 是一个分布式运算程序的阅读全文
posted @ 2018-03-21 11:34 扎心了,老铁 阅读(2326) | 评论 (0) 编辑
摘要: NameNode 学习目标 理解 namenode 的工作机制尤其是元数据管理机制,以增强对 HDFS 工作原理的 理解,及培养 hadoop 集群运营中“性能调优”、“namenode”故障问题的分析解决能力 问题场景 1、Namenode 服务器的磁盘故障导致 namenode 宕机,如何挽救集阅读全文
posted @ 2018-03-21 11:33 扎心了,老铁 阅读(2622) | 评论 (0) 编辑
摘要: HDFS的写操作 《HDFS权威指南》图解HDFS写过程 详细文字说明(术语) 1、使用 HDFS 提供的客户端 Client,向远程的 namenode 发起 RPC 请求 2、namenode 会检查要创建的文件是否已经存在,创建者是否有权限进行操作,成功则会 为文件创建一个记录,否则会让客户端阅读全文
posted @ 2018-03-21 11:31 扎心了,老铁 阅读(3727) | 评论 (1) 编辑
摘要: HDFS API的高级编程 HDFS的API就两个:FileSystem 和Configuration 1、文件的上传和下载 1 package com.ghgj.hdfs.api; 2 3 import org.apache.hadoop.conf.Configuration; 4 import 阅读全文
posted @ 2018-03-21 11:29 扎心了,老铁 阅读(2962) | 评论 (0) 编辑
摘要: HDFS的优点和缺点 HDFS的优点 1、可构建在廉价机器上 通过多副本提高可靠性,提供了容错和恢复机制 服务器节点的宕机是常态 必须理性对象 2、高容错性 数据自动保存多个副本,副本丢失后,自动恢复 HDFS的核心设计思想: 分散均匀存储 + 备份冗余存储 3、适合批处理 移动计算而非数据,数据位阅读全文
posted @ 2018-03-21 11:19 扎心了,老铁 阅读(2280) | 评论 (0) 编辑
摘要: 一、添加插件 将hadoop-eclipse-plugin-2.7.5.jar放入eclipse的plugins文件夹中 二、在Windows上安装Hadoop2.7.5 版本最好与Linux集群中的hadoop版本保持一致 1、将hadoop-2.7.5-centos-6.7.tar.gz解压到W阅读全文
posted @ 2018-03-21 11:06 扎心了,老铁 阅读(2207) | 评论 (1) 编辑
摘要: Hadoop常用命令 启动HDFS集群 启动YARN集群 查看HDFS系统根目录 创建文件夹 级联创建文件夹 查看hsdf系统根目录下的所有文件包括子文件夹里面的文件 [hadoop@hadoop1 ~]$ hadoop fs -ls -R /aadrwxr-xr-x - hadoop superg阅读全文
posted @ 2018-03-21 10:59 扎心了,老铁 阅读(5263) | 评论 (0) 编辑
摘要: HDFS前言 HDFS:Hadoop Distributed File System ,Hadoop分布式文件系统,主要用来解决海量数据的存储问题 设计思想 1、分散均匀存储 dfs.blocksize = 128M 2、备份冗余存储 dfs.replication = 3 在大数据系统中作用 为各阅读全文
posted @ 2018-03-21 10:52 扎心了,老铁 阅读(2716) | 评论 (1) 编辑
摘要: 分布式集群的通用问题 当前的HDFS和YARN都是一主多从的分布式架构,主从节点 管理者和工作者 问题:如果主节点或是管理者宕机了。会出现什么问题? 群龙无首,整个集群不可用。所以在一主多从的架构中都会有一个通用的问题: 当集群中的主节点宕机之后,整个集群不可用。这个现象叫做:单点故障。SPOF 单阅读全文
posted @ 2018-03-21 10:46 扎心了,老铁 阅读(3073) | 评论 (0) 编辑
摘要: 概念了解 主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。 主从结构分类: 1、一主多从 2、多主多从 Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式: 1、主节点 从节点 2、master阅读全文
posted @ 2018-03-21 10:41 扎心了,老铁 阅读(24161) | 评论 (1) 编辑
摘要: 下载Hadoop源码 1、登录官网 2、确定你要安装的软件的版本 一个选取原则: 不新不旧的稳定版本 几个标准: 1)一般来说,刚刚发布的大版本都是有很多问题 2)应该选择某个大版本中的最后一个小版本 阅读编译文档 1、准备一个hadoop源码包,我选择的hadoop的版本是:hadoop-2.7.阅读全文
posted @ 2018-03-21 10:22 扎心了,老铁 阅读(4234) | 评论 (6) 编辑
摘要: Hadoop产生的背景 1. HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。 2. 2003年开始谷歌陆续发表的三篇论文为该问题提供了可行的阅读全文
posted @ 2018-03-21 10:20 扎心了,老铁 阅读(4055) | 评论 (0) 编辑
摘要: 三个题目 第一题 问题描述 统计出当前这个一行一个IP的文件中,到底哪个IP出现的次数最多 解决思路 问题难点 1、当读取的文件的大小超过内存的大小时,以上的解决方案是不可行的。 2、假如说你的内存足够大,能装下这个文件中的所有ip,整个任务的执行效率会非常低,消耗的时间会非常的长。 1GB -- 阅读全文
posted @ 2018-03-07 18:33 扎心了,老铁 阅读(4009) | 评论 (1) 编辑