hadoop
heartless_killer
这个作者很懒,什么都没留下…
展开
-
hadoopHA原理及其实现
HDFS存在的问题①NameNode单点故障,难以应用于在线场景②NameNode压力过大,且内存受限,影响系统扩展性尤其是当这个namenode节点只有一个时,一旦发生故障,就算是立即重启也需要较长时间,那么这一段时间内系统无法工作;而且,单个namenode节点内存有限,使得datenode无法扩展。Hadoop HA(High Available),为解决单点故障问题,提出Hado...原创 2020-04-10 14:51:49 · 515 阅读 · 0 评论 -
hadoop系列十九——sqoop知识点总结
1、概述sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统。实现hadoop 存储系统和关系型数据库的数据互相迁移;导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等。、2、工作机制将导入或导出命令翻译成mapreduce程序来实现。...原创 2019-11-12 20:48:20 · 213 阅读 · 0 评论 -
hadoop系列十八——案例 App数据统计与报表统计
项目背景网站、app的运营者需要知道自己的产品或服务的运营状况,就需要对使用自己产品的用户进行各种角度的数据分析,比如:用户数量新增用户留存用户活跃用户地域分析渠道分析…要做这样的分析,数据来源应该是用户的产品使用的行为日志,行为日志是由app或者网站的页面获取用户相关信息后,发送给后台服务器记录下来的:项目步骤1.采集数据 (待完善)从服务器通过flume agent ...原创 2019-11-08 21:39:44 · 1222 阅读 · 0 评论 -
hadoop系列十七——zookeeper概述
zookeeper概念介绍ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来...原创 2019-11-03 16:14:11 · 450 阅读 · 0 评论 -
hadoop系列十六——MapReduce之Combiner详解(可解决数据倾斜问题)
为什么需要进行Map规约操作众所周知,Hadoop框架使用Mapper将数据处理成一个个的<key,value>键值对,在网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。在上述过程中,我们看到至少两个性能瓶颈:(1)如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mappe...原创 2019-10-23 15:31:50 · 390 阅读 · 0 评论 -
hadoop系列十五——MapReduce实现join案例
实现该hive语法的MapReduce的代码 select a.*,b.* from a join b on a.uid=b.uid;需求有订单数据 : (数据小)order001,u001order002,u001order003,u005order004,u002order005,u003order006,u004有用户数据: (数据大)u...原创 2019-10-23 14:19:10 · 200 阅读 · 0 评论 -
hadoop系列十四——MapReduce输入输出格式(sequencefile文件)
sequencefile中的数据是以key,value对存储的。通过改变mapreduce模式输入输出的设置,可以读取sequencefile中的数据。 使用sequencefile文件,更加方便使用,不需要像文本文件,切分单词。在两个MapReduce程序之间常用这种模式。第一个MapReduce代码:public class IndexStepOne { public stati...原创 2019-10-22 21:05:08 · 392 阅读 · 0 评论 -
hadoop系列十三 ——MapReduce整体工作流程和YARN的架构及原理
概述一个完整的 MapReduce 程序在分布式运行时有两类实例进程:1、MRAppMaster:负责整个程序的过程调度及状态协调2、Yarnchild(MapTask):负责 map 阶段的整个数据处理流程3、Yarnchild(ReduceTask):负责 reduce 阶段的整个数据处理流程 以上两个阶段 MapTask 和 ReduceTask 的进程都是 YarnChild,并不...原创 2019-10-22 19:44:33 · 342 阅读 · 0 评论 -
hadoop系列十二 ——MapReduce分组排序案例 和GroupingComparator的使用
GroupingComparator在hadoop的mapreduce编程模型中,当在map端处理完成输出key-value对时,reduce端只会将key相同的到同一个reduce函数中去执行。但是,当使用java对象为key时,如何判断Java对象是同一个key呢,这时候就需要GroupingComparator,利用该类中的compare方法,根据自己的需求,设定key相同的条件,从而放入...原创 2019-10-20 21:03:25 · 311 阅读 · 0 评论 -
hadoop系列十一 ——MapReduce案例分组求top n(对象覆盖问题)
需求:有如下数据(本案例用了排序控制、分区控制、分组控制)order001,u001,小米6,1999.9,2order001,u001,雀巢咖啡,99.0,2order001,u001,安慕希,250.0,2order001,u001,经典红双喜,200.0,4order001,u001,防水电脑包,400.0,2order002,u002,小米手环,199.0,3order00...原创 2019-10-19 17:05:37 · 302 阅读 · 0 评论 -
hadoop系列十一 ——MapReduce案例(文档索引创建和文件切片)
mr编程案例6——倒排索引创建需求:有大量的文本文档,如下所示:a.txthello tomhello jimhello kittyhello roseb.txthello jerryhello jimhello kittyhello jackc.txthello jerryhello javahello c++hello c++需要得到以下结果:hello ...原创 2019-10-19 15:32:49 · 501 阅读 · 0 评论 -
hadoop系列十 ——MapReducePartitioner和自定义分区Partitioner
PartitionerPartitioner 处于 Mapper阶段,当Mapper处理好数据后,这些数据需要经过Partitioner进行分区,来选择不同的Reducer处理,从而将Mapper的输出结果均匀的分布在Reducer上面执行。对于map输出的每一个键值对,系统都会给定一个partition,partition值默认通过计算key的hash值后对Reduce task的数量取模获...原创 2019-10-17 21:30:18 · 272 阅读 · 0 评论 -
hadoop系列七———mapreduce编程中自定义类型的序列化接口实现方式
自定义数据类型如何实现hadoop的序列化接口自定义bean对象实现序列化接口(1)必须实现Writable接口(2)反序列化时,需要反射调用空参构造函数,所以必须有空参构造(3)重写序列化方法在这里插入代码片(4)重写反序列化方法(5)注意反序列化的顺序和序列化的顺序完全一致(6)要想把结果显示在文件中,需要重写 toString(),可用 \t 分开,方便后续用(7)如果需要将...原创 2019-10-17 19:45:12 · 1105 阅读 · 0 评论 -
hadoop系列九 ——MapReduce案例排序2(利用MapReduce自身的排序功能,原理暂时不介绍)
MapReduce案例排序2 ,利用MapReduce自身排序功能排序需求:统计request.dat中每个页面被访问的总次数,同时,要求输出结果文件中的数据按照次数大小倒序排序关键技术点:mapreduce程序内置了一个排序机制,所以如果需要排序,可设置一个bean对象,然后利用Comparable<>接口,对其进行排序。map worker 和reduce worker...原创 2019-10-17 19:44:34 · 299 阅读 · 0 评论 -
hadoop系列八 ——MapReduce案例排序1(还有treeMap和比较器的知识补充,向map和reduce传外部参数)
TreeMap用法总结TreeMap中的元素默认按照keys的自然排序排列,(对Integer来说,其自然排序就是数字的升序;对String来说,其自然排序就是按照字母表排序)public class TreeMapTest { public static void main(String[] args) { TreeMap<FlowBean, String> t...原创 2019-10-17 19:44:32 · 327 阅读 · 0 评论 -
hadoop系列六 ———MapReduce代码初识
Hadoop数据类型在mapreduce中,map产生的数据需要传输给reduce,需要进行序列化和反序列化,而jdk中的原生序列化机制产生的数据量比较冗余,就会导致数据在mapreduce运行过程中传输效率低下所以,hadoop专门设计了自己的序列化机制,那么,mapreduce中传输的数据类型就必须实现hadoop自己的序列化接口Hadoop本身提供了一套可优化网络序列化传输的基本类型...原创 2019-10-17 19:44:13 · 194 阅读 · 0 评论 -
hadoop系列五 ——hive操作
创建库hive中有一个默认的库:库名: default库目录:hdfs://hdp20-01:9000/user/hive/warehouse新建库:create database databaseName;库建好后,在hdfs中会生成一个库目录:hdfs://hdp20-01:9000/user/hive/warehouse/db_order.db展示所有库的名字:show d...原创 2019-10-13 21:34:56 · 650 阅读 · 1 评论 -
hadoop系列四 ——hive基本概念
什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。Hive 具有 SQL 数据库的外表,但应用场景完全不同,Hive 只适合用来做海量离线数 据统计分析,也就是数据仓库。本质是:将HQL/SQL转化成MapReduce程序1)Hive处理的数据存储在HDFS2)Hive分析数据底层的实现是MapReduce3)...原创 2019-10-13 15:55:42 · 362 阅读 · 1 评论 -
hadoop系列三 ——HDFS操作
hdfs命令行客户端的常用操作命令0、查看hdfs中的目录信息hadoop fs -ls /hdfs路径1、上传文件到hdfs中hadoop fs -put /本地文件 /aaahadoop fs -copyFromLocal /本地文件 /hdfs路径 ## copyFromLocal等价于 puthadoop fs -moveFromLocal /本地文件 /hdfs路...原创 2019-09-11 00:04:05 · 191 阅读 · 0 评论 -
hadoop系列二 ——HDFS概念
hdfs简述首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色;HDFS(Hadoop Distributed File System),作为Google File System(GFS)的实现,是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超...原创 2019-09-10 16:11:06 · 544 阅读 · 0 评论 -
hadoop系列一(基本概念)
一、Hadoop 简介Hadoop 是一个分布式系统基础架构,它可以使用户在不了解分布式底层细节的情況下开发分布式程序,充分利用集群的威力进行高速运算和存储。从其定义就可以发现,它解決了两大问题:大数据存储、大数据分析。也就是 Hadoop 的两大核心:HDFS 和 MapReduce。HDFS是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储。MapRed...原创 2019-09-09 19:53:42 · 379 阅读 · 0 评论