Flink零基础实战教程:股票价格数据流实时处理

之前的文章《10行Flink WordCount程序背后的万字深度解析,读懂Flink原理和架构》使用WordCount展示了Flink程序的基本结构,本文将以股票价格来演示如何使用Flink的DataStream API。通过本文,你可以学到:

  1. 定义相关数据结构。
  2. Flink流处理程序的骨架。
  3. Flink的执行环境概念。
  4. 自定义Source、设置时间戳和Watermark。

数据结构

Flink能处理任何可被序列化的数据结构:

  • 基础数据类型,包括 String、Integer、Boolean、Array
  • 复杂数据结构,包括 Scala case class和 Java POJO

此外,Flink也支持Kryo序列化工具。

本例使用Scala case class来定义一个股票类,该对象包括三个字段:股票代号、时间戳和价格。真实的股票交易数据比这个更为复杂,这里只是一个简化的模型。

case class StockPrice(symbol: String, timestamp: Long, price: Double)

当然,如果使用Java,也可以定义一个POJO(Plain Old Java Object),该类中各个字段或者具有public属性,或者有一个对应的getter和setter方法,且该类有一个无参数的构造函数。

public class StockPrice {
   
  public String symbol;
  public Long timestamp;
  public Double price;
  
  public StockPrice() {
   };
  public StockPrice(String symbol, Long timestamp, Double price){
   
    ...
  };
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值