二百零七、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资源。
目前就先这样,如果有问题的话后面再更新!!!
相关文章:
二百零七、Flume——Flume实时采集5分钟频率的Kafka数据直接写入ODS层表的HDFS文件路径下
一、目的 在离线数仓中,需要用Flume去采集Kafka中的数据,然后写入HDFS中。 由于每种数据类型的频率、数据大小、数据规模不同,因此每种数据的采集需要不同的Flume配置文件。玩了几天Flume,感觉Flume的使用难点就是配置文件 二、…...
【实验】配置用户自动获取IPv6地址的案例
【赠送】IT技术视频教程,白拿不谢!思科、华为、红帽、数据库、云计算等等编辑https://xmws-it.blog.csdn.net/article/details/117297837?spm1001.2014.3001.5502https://xmws-it.blog.csdn.net/article/details/117297837?spm1001.2014.3001.5502【…...
手撕A*算法(详解A*算法)
A*算法原理 全局路径规划算法,根据给定的起点和终点在全局地图上进行总体路径规划。 导航中使用A*算法计算出机器人到目标位置的最优路线,一般作为规划的参考路线 // 定义地图上的点 struct Point {int x,y; // 栅格行列Point(int x, int y):x(x),y(y){…...
1688API如何获取商品详情信息(关键词搜索商品列表),1688API接口开发系列
1688商品详情接口是指1688平台提供的API接口,用于获取商品详情信息。通过该接口,您可以获取到商品的详细信息,包括商品标题、价格、库存、描述、图片等。 要使用1688商品详情接口,您需要先申请1688的API权限,并获取ac…...
〖大前端 - 基础入门三大核心之JS篇㊶〗- DOM事件传播和事件监听方法addEventListener()
说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作…...
Cartographer实现双雷达建图
Urdf修改 <?xml version="1.0" ?> <robot name="robot"><link name="base_link" /><link name="laser_1" /><link name="laser_2" /><link name="laser_link" /><join…...
(离散数学)主析取范式
...
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. Connect timed out. 在本地IDEA中和DBeaver中连接阿里云上MySQL数据库,报以上错误。 在本地可以ping通阿里云公网地址&am…...
XC3320 离线式、无电感交流输入线性稳压器 可替代KP3310 固定5V输出电压
XC3320 是一款紧凑型无电感设计的离线式线性稳压器。XC3320 可获得 5V输出电压。XC3320 是一种简单可靠的获得偏置供电的离线式电源解决方案。XC3320 集成了 650V 功率 MOSFET,启动控制电路,VDD 电压控制电路,AC 交流信号同步检测电路,低压差稳压器等。该…...
导购APP、淘客查券机器人与淘客系统:全面对比与选择
导购APP、淘客机器人与淘客系统:全面对比与选择 在互联网购物的时代,导购APP、淘客机器人和微赚淘客系统成为了消费者们的三大重要工具。它们各具优势,但也存在一些问题。本文将为您详细对比这三种工具,帮助您在购物时做出最合适…...
飞翔的鸟游戏
一.准备工作 首先创建一个新的Java项目命名为“飞翔的鸟”,并在src中创建一个包命名为“com.qiku.bird",在这个包内分别创建4个类命名为“Bird”、“BirdGame”、“Column”、“Ground”,并向需要的图片素材导入到包内。 二.代码呈现 pa…...
【SpringCloud】为什么选择微服务?
一般的平台会遇到的问题: 服务配置复杂。基础服务多,服务的资源配置复杂,传统方式管理服务复杂 服务之间调用复杂。检索服务、用户中心服务等,服务之间的调用复杂,依赖多 服务监控难度大。服务比较多,…...
基于Python实现汽车销售数据可视化+预测【500010086.1】
导入模块 import numpy as np import pandas as pd from pylab import mpl import plotly.express as px import matplotlib.pyplot as plt import seaborn as sns设置全局字体 plt.rcParams[font.sans-serif][kaiti]获取数据 total_sales_df pd.read_excel(r"./data/中…...
干货分享:好用的两款封面制作工具
无论你是图文博主还是视频博主,做封面都是必不可少的。关于做封面的产品,我推荐两个:如果你使用手机,我推荐使用醒图;如果你使用电脑,我则推荐稿定设计。 01 醒图 为什么醒图如此出色呢? 首先…...
模版模式 设计模式
设计模式 总目录 https://preparedata.blog.csdn.net/article/details/134512591 文章目录 设计模式 总目录一、案例二、抽象类模版 AbstractOrderTemplate(顶层的订单抽象类)三、执行模版的实现类3.1 默认执行模版 DefaultOrder3.2 其他执行模版 Simlp…...
MySQL锁机制
前置 锁理论 锁总结 锁实践 记录锁 间隙锁 临键锁 对数据库的操作有读、写,组合起来就有 读读、读写、写读、写写,读读不存在安全问题,安全问题加锁都可以解决,但所有的操作都加锁太重了,只有写写必须要求加锁&…...
webpack loader
1、分类 2、执行顺序 配置类型 执行顺序是 loader1>loader2>loader3 3、使用方式 自己的第一个loader 同步loader /*** loader 就是一个函数* 当webpack 解释资源时, 会调用相应的loader去处理* loader 接收到文件内容作为参数,返回文件内容* p…...
Java—学生信息管理系统(简单、详细)
文章目录 一、主界面展示二、学生类三、系统功能方法3.1 main()方法3.2 添加学生信息3.3 删除学生信息3.4 修改学生信息3.5 查看所有学生信息 四、完整代码4.1 Student .Java4.2 StudentManger.Java 前言:本案例在实现时使用了Java语言中的ArrayList集合来储存数据。…...
Spring第一课,了解IDEA里面的文件,回顾Cookie和Session,获取Session,Cookie,Header的方式
目录 IDEA第一课(熟悉里面内容) 建立连接 -RequestMapping 路由映射 请求 1.传递单个参数编辑 2.多个参数编辑 3.传递数组 4.传递一个集合,但是这里我们传递的时候发生了500的错误 简单介绍JSON 回顾Cookie和S…...
AcWing113.特殊排序
题目 有 N N N 个元素,编号 1 , 2.. N 1,2..N 1,2..N,每一对元素之间的大小关系是确定的,关系具有反对称性,但不具有传递性。 注意:不存在两个元素大小相等的情况。 也就是说,元素的大小关系是 N N N…...
Policy Sentry与Terraform完美集成:自动化部署IAM最小权限策略
Policy Sentry与Terraform完美集成:自动化部署IAM最小权限策略 【免费下载链接】policy_sentry IAM Least Privilege Policy Generator 项目地址: https://gitcode.com/gh_mirrors/po/policy_sentry Policy Sentry是一款强大的IAM最小权限策略生成工具&#…...
无人机视角风力涡轮机缺陷检测数据集VOC+YOLO格式5464张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):5464标注数量(xml文件个数):5464标注数量(txt文件个数):5464标注类别…...
用`include玩转Verilog全局参数:跨模块配置与仿真提速实战
用include玩转Verilog全局参数:跨模块配置与仿真提速实战 在FPGA和ASIC设计中,参数化设计是提升代码复用性和可维护性的关键。想象一下,当你面对一个包含数十个模块的大型项目,每个模块都有自己的一套配置参数,而仿真时…...
告别路径爆破!用RouteVulScan这款Burp插件,精准揪出隐藏的目录遍历漏洞
告别路径爆破!用RouteVulScan精准挖掘隐藏目录漏洞的实战指南 在渗透测试中,最令人头疼的往往不是那些复杂的逻辑漏洞,而是明明存在却难以发现的"低级错误"——比如暴露的.git目录、遗留的备份文件、或是忘记删除的phpinfo页面。传…...
LFM2.5-1.2B-Instruct作品分享:阿拉伯语用户指令→Python代码生成实例
LFM2.5-1.2B-Instruct作品分享:阿拉伯语用户指令→Python代码生成实例 1. 模型简介 LFM2.5-1.2B-Instruct是一个1.2B参数量的轻量级指令微调大语言模型,特别适合在边缘设备和低资源服务器上部署。这个模型由Liquid AI和Unsloth团队联合开发,…...
PMC Organometallix宣布所有产品提价
鉴于市场环境发生重大变化,PMC Organometallix, Inc. 宣布,自2026年5月1日起(或根据合同条款允许的时间),全球所有产品线的价格将上调10%至25%。此次调整源于关键投入成本的持续压力,包括原材料成本上涨以及…...
大语言模型推理的硬件优化与HBF技术解析
1. 大语言模型推理的硬件挑战现状大语言模型(LLM)推理正面临前所未有的硬件挑战。作为从业超过15年的AI基础设施工程师,我见证了从早期神经网络到如今千亿参数模型的演进过程。当前最先进的GPT-4类模型,单次推理需要处理高达数万亿…...
NVIDIA AI Enterprise与Azure ML整合优化企业AI应用
1. NVIDIA AI Enterprise与Azure Machine Learning的强强联合在当今企业AI应用落地的过程中,技术团队普遍面临三大挑战:GPU资源利用率低、AI工具链碎片化严重、生产环境部署复杂。NVIDIA AI Enterprise与Azure Machine Learning的深度整合,恰…...
powertoys下载 微软powertoys中文版安装
下载Microsoft PowerToys PowerToys安装包下载地址:PowerToys安装包 Microsoft PowerToys 核心功能概览 PowerToys 是由微软联合开源社区开发的系统实用工具集,旨在为高级用户提供额外的 Windows 功能调整选项。以下是其主要功能模块: Pow…...
别再只用CNN当判别器了!试试用U-Net给GAN做‘像素级’体检,效果提升太明显
用U-Net重构GAN判别器:实现像素级图像生成的秘密武器 在图像生成领域,我们常常陷入一个怪圈——生成器越来越复杂,但判别器却十年如一日地使用着相同的CNN架构。这就像用体温计给病人做全身CT扫描,只能给出整体"发烧与否&quo…...
