分享之前我还是要推荐下我自己创建的大数据学习直播群备注风火
这是全国最大的大数据学习交流的地方,人聚集,不管你是小白还是大牛,
小编我都挺欢迎,今天的已经资讯上传到群文件,不定期分享干货,
包括我自己整理的一份最新的适合年学习的大数据教程,欢迎初学和进阶中的小伙伴。
kafka的message包括哪些信息
一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、压缩格式等等);如果magic的值为0,那么不存在attributes属性
body是由N个字节构成的一个消息体,包含了具体的key/value消息
怎么查看kafka的offset
0.9版本以上,可以用最新的Consumerclient客户端,有consumer.seekToEnd()/consumer.position()可以用于得到当前最新的offset:
hadoop的shuffle过程
一、Map端的shuffle
Map端会处理输入数据并产生中间结果,这个中间结果会写到本地磁盘,而不是HDFS。每个Map的输出会先写到内存缓冲区中,当写入的数据达到设定的阈值时,系统将会启动一个线程将缓冲区的数据写到磁盘,这个过程叫做spill。
在spill写入之前,会先进行二次排序,首先根据数据所属的partition进行排序,然后每个partition中的数据再按key来排序。partition的目是将记录划分到不同的Reducer上去,以期望能够达到负载均衡,以后的Reducer就会根据partition来读取自己对应的数据。接着运行