Flink入门教程(二)

本文深入探讨了Flink的核心功能,包括流处理与批处理API、Table API、ML库以及Gelly图计算库。通过实际的代码测试演示了Flink与Kafka、MySQL、PostgreSQL和MongoDB的集成,强调了在IDEA中运行Flink程序的挑战以及解决办法,如打包和部署到Linux环境。此外,还提到了Flink程序运行时需要重启以加载新的jar包,并提供了构建fat包的配置建议。
摘要由CSDN通过智能技术生成

Flink入门教程(一)中提前感受了一下如何使用flink处理数据。这里再介绍下特点。

一、核心功能

Flink的核心是一个流式的数据流执行引擎,针对数据流的分布式计算提供了数据分布、数据通信以及容错机制。

  • Flink支持实时Streaming和批处理Batch
  • DataSet API,对静态数据进行批处理操作,将静态数据抽象成分布式数据集,可以方便的使用Flink提供的各种操作符对分布式数据集进行处理。
  • DataStream API,对数据流进行流处理,将流式数据抽象成分布式的数据流,可以方便的对分布式数据流进行各种操作。
  • Table API,对结构化数据进行查询操作,将结构化数据抽象成关系表,并通过类SQL的DSL对关系表进行各种查询操作。
  • Flink ML,机器学习库,提供机器学习Pipelines API并实现了多种机器学习算法。
  • Gelly,Flink的图计算库,提供了图计算的相关API及多种图计算算法实现。

二、测试demo

对flink程序最好的学习方式就是实际写代码测试,下面我们做几个常见的flink功能测试。

测试代码已经上传GitHub,https://github.com/fanyun7654/flink-test,可以去下载完整的demo,文章里面只介绍代码功能。如果有用可以给一颗star

  • flink table SQL的测试

我目前的开发最需要的是使用flink的流式引擎处理部分,所以这里也跳过基础直接开始流式处理的测试。首先初始化流式处理环境,这里我使用了table + SQL的功能,功能是监控并且从kafka获取消息,然后吧获取的消息使用table API 创建一个虚拟表,然后使用flink提供的SQL 功能对虚拟表进行操作。

package com.fanyun.flink;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fanyun.flink.destination.sql.MysqlSink;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值