hadoop
Rnan-prince
知是行之始,行是知之成(1352638748@qq.com)
展开
-
Spark处理数据比Hive快的原因
Spark SQL比Hadoop Hive快,是有一定条件的,而且不是Spark SQL的引擎比Hive的引擎快,相反,Hive的HQL引擎还比Spark SQL的引擎更快。其实,关键还是在于Spark 本身快。那么Spark为什么快呢? 消除了冗余的HDFS读写 Hadoop每次shuffle操作后,必须写到磁盘,而Spark在shuffle后不一定落盘,可以cache到内存中,以便迭代时使用。如果操作复杂,很多的shufle操作,那么Hadoop的读写IO时间会大大增加。、 消除了冗原创 2021-01-17 22:12:29 · 1814 阅读 · 0 评论 -
MapReduce:Combiner,partition的作用
combiner其实属于优化方案,由于带宽限制,应该尽量map和reduce之间的数据传输数量。它在Map 端把同一个key的键值对合并在一起并计算,计算规则与reduce一致,所以combiner也可以看作特殊的Reducer。Partition作用partition意思为分开,划分。它分割map每个节点的结果,按照key分别映射给不同的reduce,也是可以自定义的。其实可以理解归类。也可以理解为根据key或value及reduce的数量来决定当前的这对输出数据最终应该交由哪个reduce ta原创 2020-12-12 21:39:33 · 2315 阅读 · 0 评论 -
Hadoop实现join的几种方法
1、reduce side joinreduce side join是一种最简单的join方式,其主要思想如下:在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签> (tag),比如:tag=0表示来自文件File1,tag=2表示来自文件File2。即:map阶段的主要任务是对不同文件中的数据打标签。> 在reduce阶段,reduce函数获取key相同的来自File1和File2文件的value list,.原创 2020-12-12 21:35:08 · 1204 阅读 · 0 评论 -
Hadoop怎样实现二级排序
二级排序即对key和value双排序。默认情况下,Map输出的结果会对Key进行默认的排序,但是有时候需要对Key排序的同时还需要对Value进行排序,这时候就要用到二次排序了。有两种方法进行二次排序,分别为:buffer and in memory sort和 value-to-key conversion。1、buffer and in memory sort在reduce()函数中,将某个key对应的所有value保存到内存中,然后进行排序。 这种方法最大的缺点是:可能会造成out of原创 2020-12-10 00:42:52 · 1202 阅读 · 0 评论 -
Hadoop中的Sequence File
什么是SequenceFilesequenceFile文件是Hadoop用来存储二进制形式的[Key,Value]对而设计的一种平面文件(Flat File)。 可以把SequenceFile当做是一个容器,把所有的文件打包到SequenceFile类中可以高效的对小文件进行存储和处理。 SequenceFile文件并不按照其存储的Key进行排序存储,SequenceFile的内部类Writer提供了append功能。 SequenceFile中的Key和Value可以是任意类型Writable或原创 2020-12-10 00:21:10 · 432 阅读 · 0 评论 -
Hadoop,HDFS,Map Reduce,Spark,Hive,Yarn之间的关系
HadoopHadoop 生态圈(或者泛生态圈)是一个能够对大量数据进行分布式处理的软件框架,是大数据平台的开发工具,但不是一个单一的工具,也不是一种单一的技术,而是一系列技术和工具的合集。用户在不需要了解分布式底层细节的情况下,能够开发分布式程序。Hadoop大数据平台,采用分布式架构,包含多个与大数据处理相关的组件:HDFS、MapReduce、Yarn、Hbase、Hive、Spark、Kafak、Storm、HDF、Ambari等,并根据用户的实际需求完成功能定制。Hadoop框架中原创 2020-12-09 23:39:09 · 5003 阅读 · 0 评论 -
hadoop配置core-site.xml,hdfs-site.xml,mapred-site.xml
配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,有两个方法可以正确配置:1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到core-default.xml,hdfs-default.xml,mapred-default.xml,这些就是默认配置,可以参考这些配置的说明和key,配置hadoop集群。2.浏览apache官网,三个配置文件链接如下:http://hadoop.apache.org/docs原创 2020-12-08 23:55:00 · 4772 阅读 · 1 评论 -
hadoop:namenode的fsimage与editlog
Namenode主要维护两个文件,一个是fsimage,一个是editlog。fsimage保存了最新的元数据检查点,包含了整个HDFS文件系统的所有目录和文件的信息。对于文件来说包括了数据块描述信息、修改时间、访问时间等;对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组)等。editlog主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到editlog中。简言之,NameNode维护了文件与数据块的映射表以.原创 2020-12-08 23:14:43 · 511 阅读 · 0 评论 -
Spark Streaming读取Kafka数据的两种方式
Spark Streaming与kafka集成有以下两种接收数据的方式:基于Receiver的方式 基于Direct的方式基于Receiver方式特点: 需要使用单独的Receiver线程来异步获取Kafka数据。 Receiver底层实现中使用了Kafka高级消费者API,因此,不需要自己管理Offset,只需指定Zookeeper和消费者组GroupID,系统便会自行管理。 执行过程: Spark Streaming启动时,会在Executor中同时启动Rece原创 2020-12-08 23:02:54 · 921 阅读 · 1 评论 -
Hadoop Shell命令
FS Shell调用文件系统(FS)Shell命令应使用bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成hdfs://nameno.原创 2020-11-02 23:31:49 · 899 阅读 · 0 评论 -
MapReduce的shuffle过程
一、MapReduce计算模型我们知道MapReduce计算模型主要由三个阶段构成:Map、shuffle、Reduce。Map是映射,负责数据的过滤分法,将原始数据转化为键值对;Reduce是合并,将具有相同key值的value进行处理后再输出新的键值对作为最终结果。为了让Reduce可以并行处理Map的结果,必须对Map的输出进行一定的排序与分割,然后再交给对应的Reduce,而这个将Map输出进行进一步整理并交给Reduce的过程就是Shuffle。整个MR的大致过程如下:Map和Re原创 2020-11-30 23:13:38 · 325 阅读 · 0 评论