零.序(注意本部分与标题无太大关系,可直接调至第一部分) 既然没用为啥会有序?原因不想再开一篇文章,来抒发点什么感想或者计划了,就在这里写点好了: 前些日子买了几本书,打算学习和研究大数据方面的知识,一直因为实习.考试.毕业设计等问题搞得没有时间,现在进入了寒假,可以安心的学点有用的知识了. 这篇博客里的算法部分的内容来自<数据算法:Hadoop/Spark大数据处理技巧>一书,不过书中的代码虽然思路正确,但是代码不完整,并且只有java部分的编程,我在它的基础上又加入scala部分,当然是在…
一.概述    MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的.在我们实际的需求当中,往 往有要对reduce输出结果进行二次排序的需求.对于二次排序的实现,本文将通过一个实际的MapReduce二次排序例子讲述 二次排序的实现和其MapReduce的整个处理流程,并且通过结果和map.reduce端的日志来验证所描述的处理流程的正确性. 二.需求描述 1.输入数据: sort1    1 sort2    3 sort2 …
通过scala实现二次排序 package _core.SortAndTopN import org.apache.spark.{SparkConf, SparkContext} /** * Author Mr. Guo * Create 2018/9/29 - 22:00 */ class SecondarySort(val first: Int, val second: Int) extends Ordered[SecondarySort] with Serializable { overr…
我们知道,一个典型的Map-Reduce过程包 括:Input->Map->Partition->Reduce->Output. Partition负责把Map任务输出的中间结果 按key分发给不同的Reduce任务进行处理. Hadoop 提供了一个很有用的partitioner类KeyFieldBasedPartitioner,通过配置对应的參数就能够使用.通过 KeyFieldBasedPartitioner能够方便地实现二次排序.  用法:        -partitio…
一.代码实现 package big.data.analyse.scala.secondsort import org.apache.log4j.{Level, Logger} import org.apache.spark.sql.SparkSession /** 二次排序 * Created by zhen on 2019/5/29. */ class SecondSortByKey(val first:Int,val second:Int) extends Ordered[SecondSo…
不多说,直接上干货! 这篇博客里的算法部分的内容来自<数据算法:Hadoop/Spark大数据处理技巧>一书,不过书中的代码虽然思路正确,但是代码不完整,并且只有java部分的编程,我在它的基础上又加入scala部分,当然是在使用Spark的时候写的scala. 一.输入.期望输出.思路. 输入为SecondarySort.txt,内容为: ,,, ,,, ,,,- ,,, ,,,- ,,, ,,,- ,,, ,,, ,,, ,,, ,,, ,,,- 意义为:年,月,日,温度 期望输出: -…
对于Hadoop和Spark的开发,最常用的还是Eclipse以及Intellij IDEA. 其中,Eclipse是免费开源的,基于Eclipse集成更多框架配置的还有MyEclipse.Intellij分为Community版和Ultimate版,前者免费,后者付费.付费版同样是集成了更多的框架便于开发,主要是针对web开发人员.这里我们讲述两个IDE的配置方法,并推荐使用Intellij完成配置.首先需要明确的是,本文的配置是基于Java语言,基于Scala语言配置Spark开发环境在In…
成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师.开发设计人员的工作水平,旨在培养专业的大数据Hadoop与Spark技术架构专家,更好地服务于各个行业的大数据项目开发和落地实施. 2015年近期公开课安排:(全国巡回开班) 08月21日——08月23日大连 09月23日——09月25日北京 10月16日——10月18日成都 11月27日——11…
1.准备三台虚拟机 2.hadoop+hive+spark+java软件包 传送门:Hadoop官网 Hive官网 Spark官网      一.修改主机名,hosts文件 主机名修改 hostnamectl set-hostname *** hosts文件修改 vi /etc/hosts 写入以下内容 master 192.168.0.110 slaver1 192.168.0.111 slaver2 192.168.0.112 SSH免登陆 运行命令 ssh-keygen -t rsa生成秘…
一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么要想求得某个key对应的全量数据,那就必须把相同key的数据汇集到同一个Reduce任务节点来处理,那么Mapreduce范式定义了一个叫做Shuffle的过程来实现这个效果. 二.编写本文的目的 本文旨在剖析Hadoop和Spark的Shuffle过程,并对比两者Shuffle的差异. 三.Had…