Flink开发前准备与模拟数据集介绍

专栏原创出处:github-源笔记文件 github-源码 ,欢迎 Star,转载请附上原文出处链接和本声明。

[[toc]]

开发前准备工作

参考 flink-advanced 项目 README.MD 文件说明

数据集说明

words 数据集说明

模拟一篇文章为.txt 文件,对其中单词进行一些频次分析

参考 io.gourd.flink.scala.data.Words

模拟游戏统计业务数据集说明(重要)

模拟游戏业务数据

参考 games/data/pojo 定义 POJO 内容
参考 resources/data/game/*.csv 文件定义演示数据内容
提供模拟数据集模型定义及数据载入工具方法
以角色扮演游戏举例,用户登录账户后,可以选择不同的角色进行游戏,一个用户拥有多个角色
UserXXX 表示用户事件,RoleXXX 表示角色事件。

POJO 定义声明
用户登录-UserLogin
package io.gourd.flink.scala.games.data.pojo

/** 用户登录
  *
  * @param platform 所在平台 id(e.g. H5/IOS/ADR/IOS_YY)
  * @param server   所在游戏服 id
  * @param uid      用户唯一 id
  * @param dataUnix 事件时间/s 时间戳
  * @param status   登录动作(LOGIN/LOGOUT)
  * @author Li.Wei by 2019/11/6
  */
case class UserLogin(platform: String, server: String,
                     uid: String,
                     dataUnix: Int,
                     status: String) extends GameModel {
  override def getDataUnix: Int = dataUnix
}

角色登录-RoleLogin
package io.gourd.flink.scala.games.data.pojo

/** 角色登录
  *
  * @param platform 所在平台 id(e.g. H5/IOS/ADR/IOS_YY)
  * @param server   所在游戏服 id
  * @param uid      用户唯一 id
  * @param rid      角色唯一 id
  * @param dataUnix 事件时间/s 时间戳
  * @param status   登录动作(LOGIN/LOGOUT)
  * @author Li.Wei by 2019/11/6
  */
case class RoleLogin(platform: String, server: String,
                     uid: String,
                     rid: String,
                     dataUnix: Int,
                     status: String) extends GameModel {
  override def getDataUnix: Int = dataUnix
}
角色充值-RolePay
package io.gourd.flink.scala.games.data.pojo

/** 角色充值
  *
  * @param platform 所在平台 id(e.g. H5/IOS/ADR/IOS_YY)
  * @param server   所在游戏服 id
  * @param uid      用户唯一 id
  * @param rid      角色唯一 id
  * @param dataUnix 事件时间/s 时间戳
  * @param payWay   支付方式
  * @param orderId  订单 id
  * @param money    金额
  * @author Li.Wei by 2019/11/6
  */
case class RolePay(platform: String, server: String,
                   uid: String,
                   rid: String,
                   dataUnix: Int,
                   payWay: String, orderId: String, money: Double) extends GameModel {
  override def getDataUnix: Int = dataUnix
}


角色商城消费-RoleShop
package io.gourd.flink.scala.games.data.pojo

/** 角色商城消费
  *
  * @param platform   所在平台 id(e.g. H5/IOS/ADR/IOS_YY)
  * @param server     所在游戏服 id
  * @param uid        用户唯一 id
  * @param rid        角色唯一 id
  * @param dataUnix   事件时间/s 时间戳
  * @param itemId     商品 id
  * @param num        数量
  * @param totalMoney 总金额
  * @author Li.Wei by 2019/11/6
  */
case class RoleShop(platform: String, server: String,
                    uid: String,
                    rid: String,
                    dataUnix: Int,
                    itemId: String, num: Long, totalMoney: Double) extends GameModel {
  override def getDataUnix: Int = dataUnix
}

快速创建数据集工具类

GameData.scala 提供了快速创建上述 POJO 对于数据集方法,减少开发过程重复代码

object GameData {

  // load DataSet
  object DataSet {
  }

  // Register DataSet
  object RegisterDataSet {
     // ... 更多方法参考源码
  }

  // load DataStream
  object DataStream {
    // ... 更多方法参考源码
  }

  // Register DataStream
  object RegisterDataStream {
    // ... 更多方法参考源码
  }

  object Table {
    // ... 更多方法参考源码
  }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值