6--Flink Transformation AND Sink
2023-09-02 10:10:17 4 举报
Flink Transformation AND Sink
作者其他创作
大纲/内容
输出文件-->已废弃WriteAsTextWriteAsCsv-->参数需要元组WriteUsingOutPutFormat-->自定义输出格式
filter / 过滤
切割按一组切分
Iterate / 迭代遍历
union / 合并
Common用于测试
1.配置执行流环境2.获取数据源3.获取JDBC配置-->addSink():SQL语句 对应参数 设置最大批次 设置JDBC连接4.执行
数据类型要求可以不同都有自己的逻辑允许两个流处理逻辑之间共享状态通过 map方法中 CoMapFunction函数两个共享
将相同的Key分配到同一个分区内部有Hash分区实现
Transformation算子
1.配置流式环境2.获取数据源3.获取Kafka的配置:节点 记录序列化架构 主题 简单字符串架构 应答机制4.输出-->.sink()5.执行
JDBC
Aggregation / 滚动聚合
implements SinkFunction()-->接口extends RichSinkFunction()->类 方法丰富
Custom自定义
Sink算子
Connector常用
输出控制台print()
必须使用 KeyedStream算子调用自定义滚动算子
map / 映射一进一出
connect / 共享
FlatMap / 扁平映射一进多出
数据类型要求相同数据合并多个并发无序 一个并发有序多个合并
输出套接字WriteToSocket()
Reduce / 自定义算子
切割按所有切分
迭代算子非常慢 使用时注意1.将数据放入迭代器2.定义循环体3.定义控制条件 成功继续执行4.执行5.定义结束条件
必须使用 KeyedStream算子调用min-->赋值 相同分区 小的将值赋值给前面max-->赋值 相同分区 大的赋值给前面sum-->相同分区求和maxBy-->替换 相同分区 大的替换前面的minBy-->替换 相同分区 小的替换前面的
Kafka
1.配置环境2.获取数据源3.自定义类继承RichSinkFunction()4.重写invoke方法5.加密数据 FileUtils.writer写出数据6.数据源.addsink(实例化自定义类)7.执行
KeyBy / 流式分组
0 条评论
下一页