scala的flink的使用基础知识总结

flink大多使用scala编程,函数编程和java有很多不同,代码需要更多scala的基础知识,本文总flink 使用的scala的基础知识,包含flink常用函数总结

函数型编程知识分类
一,类/方法/常量
1类定义
object 单例模型
trait 子类必须实现父类方法
abstract 支持结构体
2变量
var 可修改
val 是final 不支持修改
弱类型,会根据赋值变换
3 对象/函数
val person = new Person()
def 无需声明返回值
4 数据类型描述
常用数据类型
unit 空无返回
Null 空值
Noting 所有类型子类型,空值
Any 所有类型的超类
5 注意点
首字母大写
class 自带get,set方法
二,循环/判断
1 if else /case
2 for/while
3 count++ => + count
4 cotuine 和yield的区别
5 Array/List
三,高阶函数
1 foreach 对每个函数进行调用
2 map 将一个元素转换为另外要个元素
3 reduce 合并
四,操作符
1 =>
匿名函数,case
2 _
判断为空,取本类里的方法

flink基础知识总结
1 .name() 提供实时计算步骤可视化
2 状态编程最好用 old 和new去区分新老状态
3 filter 过滤数据 多条件过滤需要 匿名函数支持
4 .copy的 可以进行数据实体类赋值
5 flink 封装了kafka 消费点,可以设置最早消费,最晚消费,和从哪个时间点消费
6 实时数据测试最好自己程序里构造数据
7 printlin 打数据多加“----”
8 开发实时程序逻辑图很重要

flink 调试方法总结:
1 传入的参数是否正确
2 代码 根范例标准模版对比,找到原因
3 可以先对封装的类,进行自己重写来进行测试,这样比较花时间,用到别人封装的组建,出问题多问
4 打断点测试无法模拟时序数据,如果设置kafka的offeset时间点,最好的办法构造数据时序,并下发状态来解决
5 flink的源码要懂得查看函数的传入参数,比如传入的第一个是in ,第二个是out ,类型 是typeInformationhint
6 查问题报错,错误日志的error直接放到网上搜,可借助stackflow等国外网站
7 看不懂的代码先找官网的函数说明

常用函数
	keyby
	procees
	processElement
	open
	keyState
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值