当前位置: 首页 > news >正文

北京做网站费用虚拟主机专用控制面板

北京做网站费用,虚拟主机专用控制面板,创意wordpress主题,wordpress官网流量统计插件下载[flume组件(原理上分析零点问题的由来)](#flume_15)[技术细节1](#1_27)[技术细节2](#2_77)[优化](#_200)[小结](#_219)概要 Flume解决零点漂移数据 例如: 7号当天23:59:59的数据分类在7号,而不是因为数据传输的延迟分类在8号. 整体架构流程 javaflume flume组…
+ [flume组件(原理上分析零点问题的由来)](#flume_15)
+ [技术细节1](#1_27)
+ [技术细节2](#2_77)
+ [优化](#_200)
+ [小结](#_219)

概要

Flume解决零点漂移数据

例如:

7号当天23:59:59的数据分类在7号,而不是因为数据传输的延迟分类在8号.

整体架构流程

java+flume

flume组件(原理上分析零点问题的由来)

1.Flume由source+channel+sink组成.
2.Flume数据传输的基本单元,以Event的形式将数据从源头送至目的地。Event由Header和Body两部分组成.
图示:
在这里插入图片描述
解决:取Body的时间更换Header的timestamp
(在source端加拦截器interceptor)
图示:
在这里插入图片描述

技术细节1

Flume配置文件:

#定义组件
a1.sources=r1
a1.channels=c1
a1.sinks=k1#配置source1
a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource
a1.sources.r1.batchSize = 5000
a1.sources.r1.batchDurationMillis = 2000
a1.sources.r1.kafka.bootstrap.servers = hadoop102:9092,hadoop103:9092,hadoop104:9092
a1.sources.r1.kafka.topics=topic_log
a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type = com.cwl.database.flume.interceptor.TimestampInterceptor$Builder#配置channel
a1.channels.c1.type = file
a1.channels.c1.checkpointDir = /opt/module/flume/checkpoint/behavior1
a1.channels.c1.dataDirs = /opt/module/flume/data/behavior1
a1.channels.c1.maxFileSize = 2146435071
a1.channels.c1.capacity = 1000000
a1.channels.c1.keep-alive = 6#配置sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = /origin_data/database/log/topic_log/%Y-%m-%d
a1.sinks.k1.hdfs.filePrefix = log
a1.sinks.k1.hdfs.round = falsea1.sinks.k1.hdfs.rollInterval = 10
a1.sinks.k1.hdfs.rollSize = 134217728
a1.sinks.k1.hdfs.rollCount = 0#控制输出文件类型
a1.sinks.k1.hdfs.fileType = CompressedStream
a1.sinks.k1.hdfs.codeC = gzip#组装 
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

注意配置中:(拦截器全类名)
a1.sources.r1.interceptors.i1.type = com.cwl.database.flume.interceptor.TimestampInterceptor$Builder

技术细节2

java编写拦截器代码:
依赖:

<dependencies><dependency><groupId>org.apache.flume</groupId><artifactId>flume-ng-core</artifactId><version>1.10.1</version><scope>provided</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency>
</dependencies><build><plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins>
</build

代码:

package com.cwl.database.flume.interceptor;import com.alibaba.fastjson.JSONObject;
import org.apache.flume.Context;
import org.apache.flume.Event;
import org.apache.flume.interceptor.Interceptor;
import java.nio.charset.StandardCharsets;
import java.util.Iterator;import java.util.List;
import java.util.Map;public class TimestampInterceptor implements Interceptor {@Overridepublic void initialize() {}@Overridepublic Event intercept(Event event) {//1、获取header和body的数据Map<String, String> headers = event.getHeaders();String log = new String(event.getBody(), StandardCharsets.UTF_8);try {//2、将body的数据类型转成jsonObject类型(方便获取数据)JSONObject jsonObject = JSONObject.parseObject(log);//3、header中timestamp时间字段替换成日志生成的时间戳(解决数据漂移问题)String ts = jsonObject.getString("ts");headers.put("timestamp", ts);return event;} catch (Exception e) {e.printStackTrace();return null;}
}@Override
public List<Event> intercept(List<Event> list) {Iterator<Event> iterator = list.iterator();while (iterator.hasNext()) {Event event = iterator.next();if (intercept(event) == null) {iterator.remove();}}return list;
}**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。****深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!****因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/1a69d537b5f24366741448b72dee2b36.png)
![img](https://img-blog.csdnimg.cn/img_convert/a6271643a2ec1b4f0cf431ee2fd80f33.png)
![img](https://img-blog.csdnimg.cn/img_convert/92c913e7e913b5c1fc74c6f4c674e0cd.png)
![img](https://img-blog.csdnimg.cn/img_convert/8a9b37db8c512ae43bddcfd817533058.png)
![img](https://img-blog.csdnimg.cn/img_convert/91aee20d7131ce9accf656bfdc735366.png)**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!****由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新****如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
![img](https://img-blog.csdnimg.cn/img_convert/7d4698000f96744dd25ccfbbcf4a1fb0.png)**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新****如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
[外链图片转存中...(img-YYa29ee3-1712962837543)]**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
http://www.15wanjia.com/news/189104.html

相关文章:

  • 购物网站建设市场调查论文怎么做app推广代理
  • 福建泉州做淘宝的拿货什么网站网站建设中数据字典
  • 做网站什么一级导航二级导航wordpress 登录用户名密码
  • 医院网络建设湖州seo排名
  • 某物流网站后台源码中国建设银行网站企业
  • 网站建设丨金手指排名15外贸建站哪家
  • 万网买的网站备案搭建一个商城需要多少钱
  • 网站首页的布局设计学网站建设有用吗
  • 手机上哪个网站学校网站的作用和意义
  • 昆山网站建设公司苏州爬虫科技基金网站建设需求书
  • 泰州做网站哪家好中铁建设集团有限公司官网
  • 网站开发者工作描述地方网站模板
  • 如何做英文网站怎样免费做彩票网站
  • 百度推广需要先做网站吗百度一下的网址
  • 网站空间管理平台网站简繁转换
  • wordpress 手机 自建站同学会网站建设方案
  • 响应式网站建站网站备案地址
  • 上饶市做网站企业怎么做网站
  • 建网站的流程和费用漳州微信网站建设电话
  • 无锡做网站排名电商网站建设与管理 教案
  • 在线推广企业网站的方法有哪些福州小程序开发外包
  • swf影视网站源码广州房产网
  • 外贸多语言网站建设什么是oa系统软件
  • vs做的网站案例如何有效的进行网站策划
  • 高埗镇仿做网站网站推广方式主要通过
  • 做网站一天赚多少钱企业网站推广可以选择哪些方法?
  • 吉林seo推广系统手机优化好还是不优化好
  • 定制做网站报价网站后台传图片传不了
  • 网站怎么用网站建设网络推广首选公司
  • 通用网站后台管理系统(php版)logopond设计网站