首页 > 其他分享 >Flume - [02] Spooling Directory Source

Flume - [02] Spooling Directory Source

时间:2024-03-20 20:11:07浏览次数:23  
标签:Flume 02 r1 文件 Spooling a1 sources c1 channels

 

一、概述

  可以通过将文件放入磁盘上的 "Spooldir" 目录中来获取数据。此源会监视指定目录中的新文件,并在新文件出现时解析新文件中的事件。事件解析逻辑是可插入的。在将指定文件完全读取到通道后,默认情况下通过重命名文件来指示文件来指示完成,或者可以删除它,或者使用 trackerDir 跟踪处理过的文件。

 

二、和Exec Source的区别

  这个Source 相对 Exec Source 来说,是可靠的,并且不会丢失数据,即使 Flume 重新启动或关闭,作为这种可靠性的交换,只有不可变的、唯一命名的文件必须被放到 Sqooldir 目录中。
  为了避免文件在放入被监视的目录被写入,Flume会将其日志文件打印错误并停止处理以及重用文件名,Flume将其在日志文件上打印错误并停止处理的问题,在文件名被移动到被监视的目录中时,添加唯一标识符来记录文件名可能是有用的。

a1.channels = c1
a1.sources = r1

a1.sources.r1.type = spooldir   #source的类型
a1.sources.r1.channels = c1
a1.sources.r1.spoolDir = /dir   #被监视的目录
a1.sources.r1.fileHeader = true #显示文件头

 

三、示例

# flume配置的例子
# Name the components on this agent
# source:起一个别名
# properties文件它是java的配置文件,=左边就是键,=右边是值;键的开头都是以a1(就是flume的名字--agent的名字就是a1);a1随便起
a1.sources = r1
# sink:起一个别名
a1.sinks = k1
# channels;:起一个别名
a1.channels = c1
 
# Describe/configure the source
# spooldir:监控硬盘上指定的某个目录,如果文件发生变化,会被flume捕获;
a1.sources.r1.type = spooldir
# 要监控的目录,此目录必须存在
a1.sources.r1.spoolDir =/root/flume/
# 已经完成的文件,会加上一个后缀
a1.sources.r1.fileSuffix =.ok
# 已经完成的文件,会立即删除,默认值是never;(永不删除)
# a1.sources.r1.deletePolicy =immediate
# 是否添加存储绝对路径文件名的标题
a1.sources.r1.fileHeader = true
# 增加文件名到header中
a1.sources.r1.basenameHeader = true
# 只处理此目录下面的txt文件;
a1.sources.r1.includePattern =^[\\w]+\\.txt$
 
# Describe the sink
# 描述一个sink: logger日志(打印到控制台上)
a1.sinks.k1.type = logger
 
# Use a channel which buffers events in memory
# 描述一下channel:内存
a1.channels.c1.type = memory
# capacity:容量
a1.channels.c1.capacity = 1000000
# transactionCapacity:事务的容量
a1.channels.c1.transactionCapacity = 1000000
 
# Bind the source and sink to the channel
# 绑定;source和channel绑定
a1.sources.r1.channels = c1
# sink和channel绑定
a1.sinks.k1.channel = c1

验证方法

1、在本地启动flume

2、然后在被监视的目录中创建文件或者将文件移动到该目录下

3、flume即可将监视到的目录中文件的数据收集到

 

 

— 要养成终生学习的习惯 —

标签:Flume,02,r1,文件,Spooling,a1,sources,c1,channels
From: https://www.cnblogs.com/houhuilinblogs/p/18085971

相关文章

  • 芒果YOLOv5改进86:上采样Dysample:顶会ICCV2023,轻量级图像增采样器,通过学习采样来学习上
    ......
  • NOJ南邮上机 矩阵变换问题 PROB1020 Python
    PROB1020   矩阵变换问题描述:给定一个 n×m的矩阵,对于 初始矩阵 中所有值为 1 的元素,重置其 所在行列 的所有元素为 0,最后输出整个修改后的矩阵。输入:输入共包含 1+n行。第一行包两个整数 n 和 m,分别表示矩阵的长和宽,题目保证 2≤n,m≤700且 4≤n×m......
  • 每日一看大模型新闻(2024.1.20-1.21)英伟达新对话QA模型准确度超GPT-4,却遭吐槽:无权重代
    1.产品发布1.1韩国Kakao:推出多模态大模型Honeybee发布日期:2024.1.20KakaounveilsmultimodallargelanguagemodelHoneybee-TheKoreaTimes主要内容:韩国科技巨头Kakao今天宣布他们已经开发了一种名为“蜜蜂”(Honeybee)的多模态大语言模型。据Kakao称,“蜜蜂”能够同时......
  • AST20201网络编程
    Web编程实验JavaScript-2将所有完成的html、CSS和图像文件保存在名为lab4_yourname的文件夹中,其中包含的子文件夹必要时组织文件夹。压缩文件夹并在截止日期前提交给Moodle在Moodle中指定。注意,您需要确保所有图像路径/链接都可以工作适当地放在您提交的文件夹和子文件夹中。任务......
  • 2023 re:Invent | Amazon Q 与 Amazon CodeWhisperer 面向企业开发者提效利器
    2023年,以 GPT 为代表的生成式AI引爆了新一轮技术热潮,短短一年的时间内,生成式AI已经成为科技世界发展的核心。作为云计算的行业风向标盛会re,本届:Invent全球大会紧跟生成式AI浪潮,推出名为“AmazonQ”的生成式人工智能助手,同时AmazonCodeWhisperer这款用于IDE......
  • 构建之法02
    通过阅读《构建之法》的第二章,我对软件构建有了更深入的理解。书中详细阐述了软件构建的过程、原则和方法,让我认识到了软件构建不仅仅是编程那么简单,而是一个涉及多个方面、需要多方面协作的复杂过程。在团队合作方面,我深刻体会到了有效沟通和协作的重要性。书中提到的敏捷开发方......
  • 【合集】HZOI2024——冲刺NOIP2024
    前言喵喵于\(2024.3.18\)建立\(vjudge\)团队\(NOIP2024\),成员为全体\(HZOI2024\)初三现役人员,旗下三个板块的专题训练,分别为动态规划、图论、字符串,其中题目非紫即黑,存在少量蓝。并于\(2024.3.19\)成功关闭\(luogu\)。团队链接动态规划图论字符串接......
  • 2023年蓝桥杯省赛——棋盘
    目录题目链接:10.棋盘-蓝桥云课(lanqiao.cn)思路我的直接暴力思路代码实现前缀和思路前缀和:更多举例差分数组:更多举例前缀和与差分数组的关系如下代码实现 总结题目链接:10.棋盘-蓝桥云课(lanqiao.cn)思路我的直接暴力思路        我的这段Ja......
  • 2024-03-20 闲话
    把上周四英语课的生词记录一下,文艺复兴一下。(不过最近草稿纸又用了大量了,应该会再做一些四级题把A4纸储备一下)rat&mouse一般认为rat是大老鼠,mouse的体型偏小mal-是一个前缀,表示“不好的”,比如malfunction动词表示“出故障”highcholestral高胆固醇的ulcer......
  • 02 JAVA流程控制
    02JAVA流程控制1.用户交互Scannernextline()用的多,next()用的少。nextline()以回车为结束符。也就是说:nextline方法返回的是回车之前的所有字符。可以获得空白。packagecom.mysoft.scanner;importjava.util.Scanner;publicclassDemo02{publicstaticvoidmain......