python flink kafka_Kafka与Flink集成

Apache Flink是新一代的分布式流式数据处理框架,它统一的处理引擎既可以处理批数据(batch data)也可以处理流式数据(streaming data)。在实际场景中,Flink利用Apache Kafka作为上下游的输入输出十分常见,本文将给出一个可运行的实际例子来集成两者。

1. 目标

本例模拟中将集成Kafka与Flink:Flink实时从Kafka中获取消息,每隔10秒去统计机器当前可用的内存数并将结果写入到本地文件中。

2. 环境准备

Apache Kafka 0.11.0.0

Apache Flink 1.3.1

Gradle 3.5 (版本号不是强要求)

本例运行在Windows环境,但可以很容易地移植到其他平台上。

3. 创建Flink Streaming工程

本例使用Intellij IDEA作为项目开发的IDE。首先创建Gradle project,group为'huxihx.flink.demo',artifact id为‘flink-kafka-demo’,version为‘1.0-SNAPSHOT’。整个项目结构如图所示:

4. 增加kafka和kafka-connector依赖

增加下列gradle依赖:

compile group: 'org.apache.flink', name: 'flink-connector-kafka-0.10_2.11', version: '1.3.1'

compile group: 'org.apache.flink', name: 'flink-streaming-java_2.11', version: '1.3.1'

compile group: 'org.apache.kafka', name: 'kafka-clients', version: '0.11.0.0'

设置gradle打包依赖

jar {

manifest {

attributes(

"Manifest-Version": 1.0,

"Main-Class": "huxihx.KafkaMessageStreaming")

}

from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }

into('assets') {

from 'assets'

}

}

5. 启动Flink环境(本例使用local测试环境)

F:\SourceCode\flink-1.3.1> bin\start-local.bat

Starting Flink job manager. Webinterface by default on http://localhost:8081/.

Don't close this bat

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值