阿里云数据总线(DataHub)使用Flume插件导入数据示例

简介: Flume NG是Cloudera提供的一个分布式、可靠、可用的系统,它能够将不同数据源的海量日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中。本文主要演示如何使用Flume-DataHub插件导入数据到阿里云数据总线(DataHub)。

Step By Step

主要操作步骤

1、Java环境安装
2、Apache Maven安装
3、Flume-NG安装
4、配置导入数据


一、JAVA环境安装

1、更新软件包列表

sudo apt-get update

2、安装openjdk-8-jdk

sudo apt-get install openjdk-8-jdk

3、查看java版本,看看是否安装成功

java -version

图片.png

二、Apache Maven安装

1、安装

apt install maven

2、查看安装版本

mvn -v

图片.png

三、Flume-NG安装

1、flume下载
wget https://downloads.apache.org/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz

2、解压

tar zxvf apache-flume-1.9.0-bin.tar.gz

图片.png

3、下载flume-datahub插件
wget https://aliyun-datahub.oss-cn-hangzhou.aliyuncs.com/tools/aliyun-flume-datahub-sink-2.0.4.tar.gz

4、解压flume插件并放在${FLUME_HOME}/plugins.d目录下(本示例${FLUME_HOME}值为:apache-flume-1.9.0-bin)

tar -zxvf aliyun-flume-datahub-sink-2.0.4.tar.gz
mkdir apache-flume-1.9.0-bin/plugins.d
mv aliyun-flume-datahub-sink apache-flume-1.9.0-bin/plugins.d

5、安装效果查看

apache-flume-1.9.0-bin/bin/flume-ng version

图片.png

四、配置导入数据

1、数据文件(demo.txt)

0,YxCOHXcst1NlL5ebJM9YmvQ1f8oy8neb3obdeoS0,true,1254275.1144629316,1573206062763,1254275.1144637289
0,YxCOHXcst1NlL5ebJM9YmvQ1f8oy8neb3obdeoS0,true,1254275.1144629316,1573206062763,1254275.1144637289
1,hHVNjKW5DsRmVXjguwyVDjzjn60wUcOKos9Qym0V,false,1254275.1144637289,1573206062763,1254275.1144637289
2,vnXOEuKF4Xdn5WnDCPbzPwTwDj3k1m3rlqc1vN2l,true,1254275.1144637289,1573206062763,1254275.1144637289
3,t0AGT8HShzroBVM3vkP37fIahg2yDqZ5xWfwDFJs,false,1254275.1144637289,1573206062763,1254275.1144637289
4,MKwZ1nczmCBp6whg1lQeFLZ6E628lXvFncUVcYWI,true,1254275.1144637289,1573206062763,1254275.1144637289
5,bDPQJ656xvPGw1PPjhhTUZyLJGILkNnpqNLaELWV,false,1254275.1144637289,1573206062763,1254275.1144637289
6,wWF7i4X8SXNhm4EfClQjQF4CUcYQgy3XnOSz0StX,true,1254275.1144637289,1573206062763,1254275.1144637289
7,whUxTNREujMP6ZrAJlSVhCEKH1KH9XYJmOFXKbh8,false,1254275.1144637289,1573206062763,1254275.1144637289
8,OYcS1WkGcbZFbPLKaqU5odlBf7rHDObkQJdBDrYZ,true,1254275.1144637289,1573206062763,1254275.1144637289

2、DataHub Topic Schema

字段名称 字段类型
id BIGINT
name STRING
gender BOOLEAN
salary DOUBLE
my_time TIMESTAMP
decimal DECIMAL

图片.png

3、配置文件

# A single-node Flume configuration for Datahub
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = cat /root/flume/demo.txt
# Describe the sink
a1.sinks.k1.type = com.aliyun.datahub.flume.sink.DatahubSink
a1.sinks.k1.datahub.accessId = xxxxxx
a1.sinks.k1.datahub.accessKey = xxxxxx
a1.sinks.k1.datahub.endPoint = https://dh-cn-shanghai.aliyuncs.com
a1.sinks.k1.datahub.project = flume_project
a1.sinks.k1.datahub.topic = flume
a1.sinks.k1.serializer = DELIMITED
a1.sinks.k1.serializer.delimiter = ,
a1.sinks.k1.serializer.fieldnames = id,name,gender,salary,my_time,decimal
a1.sinks.k1.serializer.charset = UTF-8
a1.sinks.k1.datahub.retryTimes = 5
a1.sinks.k1.datahub.retryInterval = 5
a1.sinks.k1.datahub.batchSize = 100
a1.sinks.k1.datahub.batchTimeout = 5
a1.sinks.k1.datahub.enablePb = true
a1.sinks.k1.datahub.compressType = DEFLATE
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 10000
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

4、测试效果(本地测试按照自己实际文件路径配置即可)

apache-flume-1.9.0-bin/bin/flume-ng agent -n a1 -c conf -f datahub.conf -Dflume.root.logger=INFO,console

图片.png

图片.png

参考链接

Flume插件
Flume-ng 的原理和使用

相关文章
|
11月前
|
人工智能 JSON 自然语言处理
亲测有效!用Dify工作流+AI智能体,我们的测试效率提升了300%
本文介绍如何利用Dify工作流编排AI测试智能体,突破传统测试瓶颈。通过构建“用例生成”与“语义校验”等AI专家节点,实现回归测试45分钟全自动完成,效率提升超300%。尤其适用于AI产品测试,推动测试从执行迈向智能设计。
|
5月前
|
人工智能 测试技术 开发者
Harness Engineering实践,做了一个平台让AI一晚上自动评测和优化你的系统
文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。
|
12月前
|
Web App开发 数据可视化 前端开发
当Dify遇见Selenium:可视化编排UI自动化测试,原来如此简单
Dify与Selenium融合,打造可视化UI自动化测试新范式。无需编码,通过拖拽构建复杂测试流程,降低技术门槛,提升协作效率。智能元素定位、自适应等待、视觉验证等特性显著增强测试稳定性与维护性,结合CI/CD实现高效回归,推动测试智能化演进。
|
12月前
|
人工智能 自然语言处理 测试技术
用Dify搭建可复用的测试用例工厂
利用Dify搭建可复用的测试用例工厂,实现自然语言到测试用例的智能生成。结合大模型与测试方法论,提升用例覆盖率与编写效率,降低维护成本,推动测试开发智能化升级。关注霍格沃兹测试学院,回复「资料」获取AI测试开发技术合集。
|
9月前
|
人工智能 运维 NoSQL
|
机器学习/深度学习 XML 人工智能
怎能在国产规则引擎中使用PMML模型
本文介绍了如何在国产Together规则引擎中导入和处理PMML模型,详细演示了将机器学习模型集成到DMN决策流程中的步骤。通过图文教程,帮助用户快速掌握PMML模型的调用与应用。
|
人工智能 监控 关系型数据库
5 分钟 SAE 极速部署 Dify,赢取户外折叠椅和社区积分
Dify.ai开源后,全球开发者已构建超2.3万个AI应用。阿里云Serverless应用引擎(SAE)提供一键部署Dify方案,支持秒级伸缩与高可用部署,降低运维成本。现部署测试环境可赢取礼品。
5 分钟 SAE 极速部署 Dify,赢取户外折叠椅和社区积分
|
11月前
|
Web App开发 人工智能 自然语言处理
Playwright MCP:AI自动化测试,告别传统脚本编写
2025年初,某电商引入Playwright MCP后,UI自动化脚本编写从3天缩短至2小时,覆盖率提升40%。通过自然语言指令驱动浏览器,测试人员几乎无需编写传统代码,实现高效、低门槛的智能自动化测试新范式。
|
12月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
人工智能 自然语言处理 前端开发
深度解析Playwright MCP:功能、优势与挑战,AI如何提升测试效率与覆盖率
Playwright MCP通过AI与浏览器交互,实现自然语言驱动的自动化测试。它降低门槛、提升效率,助力测试工程师聚焦高价值工作,是探索性测试与快速验证的新利器。

热门文章

最新文章