二百零七、Flume——Flume实时采集5分钟频率的Kafka数据直接写入ODS层表的HDFS文件路径下

一、目的

在离线数仓中,需要用Flume去采集Kafka中的数据,然后写入HDFS中。

由于每种数据类型的频率、数据大小、数据规模不同,因此每种数据的采集需要不同的Flume配置文件。玩了几天Flume,感觉Flume的使用难点就是配置文件

二、使用场景

转向比数据是数据频率为5分钟的数据类型代表,数据量很小、频率不高,因此搞定了转向比数据的采集就搞定了这一类低频率数据的实时采集问题

1台设备每日的转向比数据规模是30KB,25台设备的数据规模则是750KB

三、转向比数据ODS层建表

create external table  if not exists  ods_turnratio(
    turnratio_json  string
)
comment '转向比数据外部表——静态分区'
partitioned by (day string)
row format delimited fields terminated by '\x001'
lines terminated by '\n'
stored as SequenceFile
tblproperties("skip.header.line.count"="1");

四、转向比数据的配置文件

## agent a1
a1.sources = s1
a1.channels = c1
a1.sinks = k1

## configure source s1
a1.sources.s1.type = org.apache.flume.source.kafka.KafkaSource
a1.sources.s1.kafka.bootstrap.servers = 192.168.0.27:9092
a1.sources.s1.kafka.topics = topic_b_turnratio
a1.sources.s1.kafka.consumer.group.id = turnratio_group
a1.sources.s1.kafka.consumer.auto.offset.reset = latest
a1.sources.s1.batchSize = 1000

## configure channel c1
## a1.channels.c1.type = memory
## a1.channels.c1.capacity = 10000
## a1.channels.c1.transactionCapacity = 1000
a1.channels.c1.type = file
a1.channels.c1.checkpointDir = /home/data/flumeData/checkpoint/turnratio
a1.channels.c1.dataDirs = /home/data/flumeData/flumedata/turnratio

## configure sink k1
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://hurys23:8020/user/hive/warehouse/hurys_dc_ods.db/ods_turnratio/day=%Y-%m-%d/
a1.sinks.k1.hdfs.filePrefix = turnratio
a1.sinks.k1.hdfs.fileSuffix = .log
a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = second
a1.sinks.k1.hdfs.rollSize = 62500
a1.sinks.k1.hdfs.rollCount = 0
a1.sinks.k1.hdfs.rollInterval = 0
a1.sinks.k1.hdfs.idleTimeout = 600
a1.sinks.k1.hdfs.minBlockReplicas = 1

## Bind the source and sink to the channel
a1.sources.s1.channels = c1
a1.sinks.k1.channel = c1

注意:62500约为61KB

五、Flume写入HDFS结果

Flume根据时间戳按照ODS层表的分区,将数据写入对应HDFS文件

25台设备,50分钟1个文件,文件大小66.18 KB 

六、ODS表刷新分区后查验数据

(一)刷新表分区

MSCK REPAIR TABLE ods_turnratio;

(二)查看表数据

select * from ods_turnratio;

(三)验证数据完整性

--2023-11-19 数据基本完整  23时297条 标准300  少3条
--2023-11-20 数据基本完整  23时299条 标准300  少1条

数据基本完整,尤其是调度文件大小之后

19日a1.sinks.k1.hdfs.rollSize = 31250        数据基本完整 23时297条 标准300 少3条

20日a1.sinks.k1.hdfs.rollSize = 62500        数据基本完整 23时299条 标准300 少1条

七、注意点

(一)配置文件中的重点是红色标记的几点

a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = second
a1.sinks.k1.hdfs.rollSize = 62500
a1.sinks.k1.hdfs.rollCount = 0
a1.sinks.k1.hdfs.rollInterval = 0
a1.sinks.k1.hdfs.idleTimeout = 600
a1.sinks.k1.hdfs.minBlockReplicas = 1

(二)任务配置文件中rollSize参数设置可大不可小

rollSize参数小的话数据会丢失,大的话没问题

配置文件的参数还是不断调试中,争取调到最优的状态。能够及时、完整的消费Kafka数据,并且能够最大化的利用HDFS资源。

目前就先这样,如果有问题的话后面再更新!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/171064.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Lightsail VPS 实例在哪些方面胜过 EC2 实例?

文章作者:Libai 引言 Lightsail VPS 实例和 EC2 实例是云计算领域中两种受欢迎的技术。虽然两者都提供虚拟服务器解决方案,但了解 Lightsail VPS 实例在哪些方面胜过 EC2 实例非常重要。在本文中,我们将探讨这两种技术之间的关键区别&#x…

FastReport在线设计器新版2024.1,新增多元素填充,条码元素拖放~

2024.1 版本中对报表设计器进行了更新!我们特别关注内部架构产品的变化,并提高了报告的视觉易用性。我们还添加了新的对象填充和渐变。 FastReport Online Designer下载(qun:585577353)https://www.evget.com/product/…

【深度学习】python调用超分Real-ESRGAN

Real-ESRGAN是超分自然场景图和动漫图,视频也可以,项目地址:https://github.com/xinntao/Real-ESRGAN/tree/master 安装python包: basicsr>1.4.2 facexlib>0.2.5 gfpgan>1.3.5 numpy opencv-python Pillow torch>1.…

姿态估计 手势动作实时识别项目(基于mediapipe、keras进行实现)

姿态估计 手势动作实时识别项目(基于mediapipe、keras进行实现) 0、功能展示1、项目原理介绍2、数据集采集脚本3、将采集到的动作数据集利用mediapipe库检测手部关键点信息,转换成数据信息保存到本地4、训练一个效果一般的随机森林分类器5、使用Kreas训练一个效果好点的全连…

软件产品生命周期(SDLC)四个阶段

软件产品生命周期:指软件产品研发全部过程、活动和任务的结构框架。 产品的生命周期一般包括四个阶段:引入期、成长期、成熟期和衰退期,在不同的阶段中,市场对产品的反应不同,其销售特点不同,因而产品管理的…

【linux】安装telnet

1 安装telnet-server yum -y install telnet-server 安装telnet yum -y install telnet 启动telnet服务 service xinetd restart 报错了: Redirecting to /bin/systemctl restart xinetd.service Failed to restart xinetd.service: Unit not found. 正在重定…

Dirac‘s BRA and KET notation

from kets to bras expansions the operater matrix elements adjoint of a linear operator Hermitian and Uniraty Operators Hermitian operator defination:

最前端|低代码平台轻松设计可视化图表【内含网站资源】

在前端设计中,我们经常需要使用可视化图表来呈现数据和信息。然而,每次都要自己从头开始设计图表未免太过繁琐。为了解决这个问题,我们调研了low code平台上的可视化图表功能。 本篇文章为大家带来以下问题的解答: (1&…

基于SSM的课程辅助教学平台的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

MKRTOS MCU上的微内核操作系统

MKRTOS 全称是 Micro-Kernel Real-Time Operating System,中文名字是微内核实时操作系统。MKRTOS 是首款在开源的支持MCU的微内核操作系统。未来还将在MCU上支持虚拟化!!下载地址:https://gitee.com/IsYourGod/mkrtos-realMKRTOS被…

YOLOV5 人员检测项目【学习笔记(十一)】

这篇博客为修改过后的转载,因为没有转载链接,所以选了原创 文章目录 一、安装Pytorch 及 YOLO v51.1 安装GPU版 pytorch1.2 安装YOLO v5所需依赖 二、YOLO v5训练自定义数据2.1 标注数据2.1.1 安装labelImg2.1.2 标注 2.2 准备数据集2.2.1 组织目录结构…

全国各区县地区生产总值数据,含shp和xlsx格式!

​根据国家统计局公布的数据,全国各区县地区生产总值数据是衡量一个地区经济发展水平的重要指标。 今天我们来分享全国各区县地区生产总值数据~ 本文提供的数据是shpexcel格式的,已经经过清洗加工,目前为面的几何类型,时间版本为…

2024年最新FLStudio21破解版注册机百度网盘免费下载安装激活教程

高考完啦,你也迎来了人生中最长的暑假,现在你总不能以没时间为借口了,是时候学点属于自己的才艺了。还有3个月,你就会迎来开学迎新晚会这个校园中最受瞩目的活动。在这个特殊的时刻,如果你想以独特的方式展现自己&…

肉豆蔻酰六肽-16——让皮肤更加光滑、更加柔软

肉豆蔻酰六肽-16 一种合成的脂肪酸连接肽,已知可提高皮肤的弹性,明显镇静,并帮助皮肤看起来和感觉更光滑、更柔软。它是由肉豆蔻酸与六肽 16 结合而成。肉豆蔻酰六肽 16 被归类为蛋白质刺激肽,这意味着它可以帮助皮肤表面&#x…

Android AIDL中使用Surface问题

1.构建ITest.aidl文件 package com.xxx.xxxx;import android.view.Surface;interface IMonitorService {boolean addSurface(in Surface surface);boolean removeSurface(in Surface surface); } 2.构建时报错 3.Surface源码分析 android.view.Surface中包含两个Surface类&am…

【外汇天眼】投资之道:成功背后的频繁交易陷阱

成功的投资需要超越人性的短板,其中之一就是频繁交易。巴菲特曾明言,如果商学院的毕业生在毕业后拿一张卡片,每买一支股票就打一个洞,那么这张卡片最终会被打得最少的人将成为巨富。“钱在这里从活跃的投资者流向有耐心的投资者。…

品尝葡萄酒要注意的重点事项有哪些?

给自己倒一杯葡萄酒,抿一口,这很容易就知道这是不是你喜欢的了。通过一些练习和微调可以加深你对葡萄酒特性的理解,并在品尝时挖掘出葡萄酒中所有的味道。任何品酒师在分析新酒时都会遵循一系列步骤和规则,从外观到香气、味道和特…

随手笔记(四十九)——GsonBuilder.setLenient()

启动时报错 更换gson版本即可 原先2.2.4 现更换为2.8.2就可以了

Nosql的redis概述及基本操作

关系数据库与非关系型数据库概述 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型…

android生成jks文件

jks文件用来校验微信支付 生成的方法: