![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop
荒野求思
人生就像写代码,总有bug出现
展开
-
如何使用MapReduce实现TopN
输出流量使用量在前10的用户信息:数据源:13470253144 180 180 36013509468723 7335 110349 11768413560439638 918 4938 585613568436656 3597 25635 2923213590439668 1116 954 207013630577991 6960 690 765013682846555 19...原创 2018-11-26 19:38:27 · 1704 阅读 · 0 评论 -
Hive的安装和更为Hive的数据库为MySQL,使用JDBC连接Hive
目录前言:Hive的安装:更为Hive的数据库为MySQL:多窗口测试:HiveJDBC访问:前言:首先Hive会将数据存储在HDFS上,Hive的本质是将HQL转化成MapReduce,Hive还需要YARN进行资源调度,所以安装Hive的前提是,你已经搭建好了Hadoop集群,关于Hadoop集群的搭建,请参见下面的这篇文章:15分钟,搭建Hadoop集群...原创 2018-11-30 18:08:19 · 1477 阅读 · 0 评论 -
Hive的常见属性配置和Hive的常见指令
目录Hive的数据仓库的配置: 查询后信息显示配置:Hive运行日志信息的配置:Hive的常见指令:Hive的数据仓库的配置:Hive的数据仓库是Hive存储真实的数据的地方,这些数据存储在HDFS上,也即Hive的metastore存储了关于表的字段,结构等信息,而Hive的数据仓库存放的是Metastore中的表中的数据。这些数据存放的默认地址是:/user/hive/...原创 2018-11-30 18:42:09 · 643 阅读 · 0 评论 -
HDFS的块大小和MapReduce切片大小的区别和联系
先看下面的题目:参考下面的MR系统的场景:--hdfs块的大小为64MB--输入类型为FileInputFormat有三个文件的大小分别是:64KB 65MB 127MBHadoop框架会把这些文件拆分为多少块?答案如下:5块:64K,64M,1M, 64M,63M我之前的理解是4块,错误的原因是没有真正的理解数据的分块和数据的切片之间的关系,下面来阐述有一下:...原创 2018-11-30 19:46:32 · 3869 阅读 · 1 评论 -
HA高可用手动故障转移
目录HA相关概念:同步问题:脑裂问题:手动故障转移:为什么要先启动journalnode?HA相关概念:1)所谓HA(high available),即高可用(7*24小时不中断服务)。2)实现高可用最关键的策略是消除单点故障(single point of failure,SPOF)。3)单点故障是一个组件发生故障,就会导致整个系统无法运行。4)HA严格来...原创 2018-11-28 16:43:38 · 719 阅读 · 1 评论 -
HA高可用自动故障转移(最新,最详)
目录概述:图解:集群规划:配置zookeeper集群:HDFS的NameNode的HA高可用自动故障转移:YARN的HA高可用自动故障转移:测试: 关闭集群:Hadoop集群相关的开启关闭命令: 概述:在了解自动故障转移之前,有必要了解一下手动故障转移,下面是文章的地址:HA高可用手动故障转移 手动进行故障转移,在该模式下,...原创 2018-11-28 20:20:28 · 2578 阅读 · 1 评论 -
自定义OutputFormat(附带可上手实例)
目录OutputFormat的使用场景: 需求:需求分析:代码实现:输入结果:OutputFormat的使用场景: 需求:过滤输入的log日志,包含isea的网站输出到e:/isea.log,不包含atguigu的网站输出到e:/other.log,输入的数据:http://www.baidu.comhttp://www.google.comhttp:...原创 2018-11-23 14:24:18 · 601 阅读 · 0 评论 -
Hadoop的序列化和反序列化,和实例演示
目录什么是序列化和反序列化?hadoop 中常用数据的序列化类型 自定义bean对象实现序列化接口(Writable) 序列化案例实操 自定义类:FlowBeanMapper类MapperDriver什么是序列化和反序列化?序列化:将内存中的对象装换成字节序列,以便于持久化到硬盘和网络传输反序列化:将接收到的字节序列或者是磁盘中的持久化数据转换...原创 2018-11-20 22:42:10 · 1850 阅读 · 0 评论 -
InputFormat数据输入和OutPutFormat数据输出
InputFormat的作用:切片把切片打散成< K ,V >主要分为下面这几种不同的数据输入的方式:FileInputFormat 按照文件的块大小进行切片 该类没有实现 TextInputFormat 按照文件的块大小进行切片 LineLineRecordReader,key是偏移量,value是一行的内容 KeyValueI...原创 2018-11-22 10:03:25 · 782 阅读 · 0 评论 -
自定义分区Partitionor
目录需求:需求分析:代码实现:测试1,测试2,测试3,分区总结:需求:将统计结果按照手机归属地不同省份输出到不同文件中(分区)数据源:1 13736230513 192.196.100.1 www.isea.com 2481 24681 2002 13846544121 192.196.100.2 264 0 2003 13956435636...原创 2018-11-22 11:29:35 · 471 阅读 · 0 评论 -
自定义WritableComparable全排序
目录案例代码实现:案例数据源:13470253144 180 180 36013509468723 7335 110349 11768413560439638 918 4938 585613568436656 3597 25635 2923213590439668 1116 954 207013630577991 6960 690 76501368284655...原创 2018-11-22 14:48:54 · 656 阅读 · 0 评论 -
WritableComparable区内排序
目录需求:原始数据:实现代码:结果:需求:原始数据:13509468723 7335 110349 11768413975057813 11058 48243 5930113568436656 3597 25635 2923213736230513 2481 24681 2716218390173782 9531 2412 119431363057799...原创 2018-11-22 14:56:44 · 497 阅读 · 0 评论 -
MapReduce的Combiner合并
目录Conbiner出现的本质:需求:需求分析:方案一实现:方案二实现:Conbiner出现的本质:在map之后,如果Map阶段不进行合并的话,到达reduce端的数据将是下面这种类型的:<a,1><a,1><a,1>,reducer要处理的工作量大,还要消耗大量的IO,reduce的数量是相对于map是更少的,所以可以把合并的工作交...原创 2018-11-22 15:58:13 · 844 阅读 · 1 评论 -
GroupingComparator分组排序
目录分组排序步骤:需求:需求分析:代码实现:对Reduce阶段的数据根据某一个或几个字段进行分组。分组排序步骤:(1)自定义类继承WritableComparator(2)重写compare()方法@Overridepublic int compare(WritableComparable a, WritableComparable b) { ...原创 2018-11-23 08:39:24 · 691 阅读 · 0 评论