Flume三种组件的选择对比
文章目录
- 1.source
- 2.channel
- 3.sink
1.source
Source: 数据源:通过source组件可以指定让Flume读取哪里的数据,然后将数据传递给后面的 channel
Flume内置支持读取很多种数据源,基于文件、基于目录、基于TCP\UDP端口、基于HTTP、Kafka的 等等、当然了,如果这里面没有你喜欢的,他也是支持自定义的
1.taildir source: 实时读取文件数据,并且支持断点续传
2.avro source: Flume之间互相进行数据传输一般配合avro sink使用
3.nc source: 接收网络端口的
4.exec source: 监控文件,不支持断点续传
5.spooling source: 监控文件夹,支持断点续传,传输进去一个写好的文件,丢进来是什么样就传输出去(时效性差)
6.kafka source: 读取kafka中的数据
2.channel
接受Source发出的数据,可以把channel理解为一个临时存储数据的管道
Channel的类型有很多:内存、文件,内存+文件、JDBC等
1.file channel:
慢,基于磁盘,但可以优化,有一个索引(在内存中)机制,从随机读写,到指定位置读写,索引也会备份到磁盘中,也可以进行二次备份
2.memory channel:
优点是效率高,因为就不涉及磁盘IO
缺点有两个
1:可能会丢数据,如果Flume的agent挂了,那么channel中的数据就丢失了。
2:内存是有限的,会存在内存不够用的情况
3.kafka channel: 数据存储在kafka集群
将数据发送到kafka消息队列中,这个也是比较常见的,主要针对实时计算场景,数据不落盘,实时传输,最后使用实时计算框架直接处理。
①结合source和sink使用

②结合source 和拦截器直接将数据写入到kafka中

③直接使用kafka channel结合sink使用

3.sink
从Channel中读取数据并存储到指定目的地
Sink的表现形式有很多:打印到控制台、HDFS、Kafka等,
1.hdfs sink
将数据传输到HDFS中,这个是比较常见的,主要针对离线计算的场景
2.kafka sink
将数据发送到kafka消息队列中,这个也是比较常见的,主要针对实时计算场景,数据不落盘,实时传输,最后使用实时计算框架直接处理。
3.avro sink
用于多个flume之间的信息传递

相关文章:
Flume三种组件的选择对比
文章目录1.source2.channel3.sink1.source Source: 数据源:通过source组件可以指定让Flume读取哪里的数据,然后将数据传递给后面的 channel Flume内置支持读取很多种数据源,基于文件、基于目录、基于TCP\UDP端口、基于HTTP、Kafka的 等等、当然了&#x…...
响应性基础API
一.什么是proxy和懒代理?什么是proxy?proxy对象是用于定义基本操作的自定义行为(如:属性查找,赋值,枚举,函数调用等等)。什么是懒代理?懒代理:在初始化的时候不会进行全部代理,而是…...
剑指 Offer 25. 合并两个排序的链表
剑指 Offer 25. 合并两个排序的链表 难度:easy\color{Green}{easy}easy 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1…...
顿悟日记(一)
目录2023年1月顿悟日记:2023年2月24日顿悟日记:2023年2月25日顿悟日记:2023年2月26日顿悟日记:顿悟的经历是如此的奇妙,且让人亢奋的事情。 2023年1月顿悟日记: 1.我是面向对象还是面向过程? …...
前端卷算法系列(二)
前端卷算法系列(二) 回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样…...
网络应用之HTTP响应报文
HTTP响应报文学习目标能够知道HTTP响应报文的结构1. HTTP响应报文分析HTTP 响应报文效果图:响应报文说明:--- 响应行/状态行 --- HTTP/1.1 200 OK # HTTP协议版本 状态码 状态描述 --- 响应头 --- Server: Tengine # 服务器名称 Content-Type: text/html; charsetUTF-8 # 内容类…...
常见的CSS技巧
1.禁止长按图片弹出菜单 img {-webkit-touch-callout: none; // 主要用于禁止长按菜单。主针对webkit内核的浏览器; } /*或者 user-select , 是css3的新属性,用于设置用户是否能够选中文本*/ .img {-webkit-user-select: none;-khtml-user-select: none…...
算法进阶-动态规划
经典例题 大家肯定想用递归做 思路大概就是这样 递归到最后一行就是对应的D(i,j) 然后往上推 但是这样会超时,因为存在大量的重复计算 比如调用第一行MasSum(7)需要调用MaxSum(3)和MaxSum(8) 但是调用第二行MaxSum(3)还要调用3行的MaxSum(8)和3行的MaxSum(1) 第二行…...
python的读写操作
一、使用open函数,可以打开一个已经存在的文件,或着创建一个新文件 语法如下: open(name, mode, encoding) name: 要打开的目标文件的字符串(可以包含文件所在的具体路径) mode: 打开文件模式:只读(r)、写入(w)、追加(a)等 e…...
Mybatis中添加、查询、修改、删除
在Mybatis中添加数据的操作 编写相对应的SQL语句,并完成相关数据的对应关系 编写测试用例 需要提交事务 sqlSession commit() 这里需要注意的是mybatis是默认的是手动提交事务,如果不写的话会进行回滚,添加操作就不会被执行 或者在 如果…...
C++---线性dp---传纸条(每日一道算法2023.2.26)
注意事项: 本题dp思路与 “线性dp–方格取数” 一致,下方思路仅证明为什么使用方格取数的思路是正确的。 题目: 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。 一次素质拓展活动中,班上同学安排坐成…...
浅谈 C/C++ 的输入输出
更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验 文章目录0. 叠甲,过1. 谈谈输入输出缓冲区1.1 基本概念输入输出流标准输入输出流文件输入输出流1.2 输入输出缓冲区什么是输入输出缓冲区?为什么要设置输入输出缓冲区?C/C 的…...
【计算机三级网络技术】 第二篇 中小型系统总体规划与设计
文章目录一、基于网络的信息系统基本结构二、划分网络系统组建工程阶段三、网络需求调研与系统设计原则四、网络用户调查与网络工程需求分析1.网络用户调查2.网络节点的地理位置分布3.应用概要分析4.网络需求详细分析五、网络总体设计基本方法1.网络工程建设总体目标与设计原则…...
Boosting Crowd Counting via Multifaceted Attention之人群密度估计实践
这周闲来无事,看到一篇前不久刚发表的文章,是做密集人群密度估计的,这块我之前虽然也做过,但是主要是基于检测的方式实现的,这里提出来的方法还是比较有意思的,就拿来实践一下。论文在这里,感兴…...
python之面向对象编程
1、面向对象介绍: 世界万物,皆可分类 世界万物,皆为对象 只要是对象,就肯定属于某种类 只要是对象,就肯定有属性 2、 面向对象的几个特性: class类: 一个类即对一类拥有相同属性的对象的…...
常见前端基础面试题(HTML,CSS,JS)(七)
同源策略 浏览器有一个重要的安全策略,称之为同源策略 其中,协议、端口号、域名必须一致,,称之为同源,两个源不同,称之为跨源或跨域 同源策略是指,若页面的源和页面运行过程中加载的源不一致…...
产业链金风控基本逻辑
产业链金风控基本逻辑 产业链金融平台作为一个助贷平台,很大程度上是为银行等金融机构进 行引流,贷款的审批本质上还是依赖金融机构的风控。那么,产业链金融 平台是否还有必要建设自己的风控模型呢?笔者给出的答案是肯定的。 一方面&#x…...
Java高级点的知识
Java 集合框架 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。 对一个集合的扩展和适应…...
MyBatis - 05 - 封装SqlSessionUtil工具类(用于获取SqlSession对象)并测试功能
文章目录1.新建SqlSessionUtils工具类2.编写静态方法3.项目结构及代码项目结构数据库和表pom.xmlParameterMapper接口:User类:ParameterMapper.xmljdbc.propertieslog4j.xml:mybatis-config.xml:ParameterMapperTest测试类:测试结果1.新建Sql…...
Java中BIO、NIO和AIO的区别和应用场景
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信&#…...
探索One-Language/One:统一编程范式如何重塑全栈开发体验
1. 项目概述:从“One”到“One-Language/One”的深度解构最近在GitHub上看到一个挺有意思的项目,叫“One-Language/One”。光看这个名字,可能很多人会有点懵,这到底是个啥?是又一个编程语言?还是一个框架&a…...
终极开源语音AI工具包:Sherpa-Onnx一站式解决方案
终极开源语音AI工具包:Sherpa-Onnx一站式解决方案 【免费下载链接】sherpa-onnx Speech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet connection. Sup…...
GTA5线上小助手:终极免费工具完整使用指南,快速提升游戏体验
GTA5线上小助手:终极免费工具完整使用指南,快速提升游戏体验 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 想要在《侠盗猎车手5》线上模式中摆脱繁琐操作,享受更流…...
Kubernetes多租户架构设计与实践
Kubernetes多租户架构设计与实践 一、引言 多租户是指在同一个Kubernetes集群中为多个用户或团队提供隔离的资源和环境。本文将深入探讨Kubernetes多租户架构的核心概念、实现方法和最佳实践。 二、多租户架构设计 2.1 多租户参考架构 ┌────────────────…...
Musa并行搜索工具:重塑信息检索工作流,提升多源对比效率
1. 项目概述:重新定义你的搜索工作流如果你和我一样,每天的工作都离不开在浏览器里反复横跳——为了一个技术问题,先在 Google 搜一遍,再去 Stack Overflow 看看有没有新答案,接着打开 ChatGPT 问问它的看法࿰…...
别再只盯着密钥了!深入ESP32 eFuse,看懂flash加密背后的硬件安全逻辑
别再只盯着密钥了!深入ESP32 eFuse,看懂flash加密背后的硬件安全逻辑 当你在ESP32项目中使用flash加密功能时,是否曾疑惑过:为什么简单地烧录几个eFuse位就能实现固件保护?那些看似神秘的DISABLE_DL_DECRYPT、FLASH_CR…...
从PCB走线到天线:手把手教你搞定Sx1262射频前端阻抗匹配(附常见错误排查)
从PCB走线到天线:手把手教你搞定Sx1262射频前端阻抗匹配(附常见错误排查) 在LoRa终端硬件开发中,射频前端的阻抗匹配往往是决定通信质量的关键因素。许多工程师在完成Sx1262芯片外围电路设计后,常会遇到通信距离不理想…...
艾尔登法环黑夜君临修改器2026.5.11最新中文汉化版免费下载 转存后自动更新 (看到请立即转存 资源随时失效)
在《艾尔登法环》的庞大世界观下,一款名为《艾尔登法环:黑夜君临》(ELDEN RING NIGHTREIGN)的衍生作品于 2025 年正式登场。它并非单纯的续作或大型 DLC,而是一款基于原作设定、专注于多人协作生存与浓缩化 RPG 体验的…...
5分钟掌握暗黑2存档修改秘籍:彻底告别重复刷怪烦恼
5分钟掌握暗黑2存档修改秘籍:彻底告别重复刷怪烦恼 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2无尽的重复刷怪而烦恼吗?想体验各种强力build却不想花费数百小时练级刷装备ÿ…...
工程实践:AI 编程从提示词走向流水线,才需要 API 中转站
这类内容的核心判断应该换一下:用户不是先想买 API,中间才想到 Claude / Codex;很多时候正相反,是先想用 Claude / Codex 提升开发效率,才开始寻找稳定、可接入、可支付、可迁移的 API 入口。目标用户画像想把需求分析…...
