flink
huobumingbai1234
路漫漫其修远兮,吾将上下而求索
展开
-
flink实时生产维度表
十一之前写了个实时的维表,flink-sql实现的,技术上并不难,之前没写过,还是踩了一些坑的,特此总结下一、需求背景1、离线有个用户的维度表,需要搬到流上面,大概是1000万的存量数据,上游来自8个mysql表2、可用的组件有kafka,flink,hbase,redis3、8个表每个变更都需要下发一条完整的记录到kafka二、任务思路1、首先要想好写几个Hbase维表,业务上主键要想清楚,这是每次关联都需要的,比如,这个用户维度表主键是用户id,但是可能还会有身份证id啥的做关联原创 2021-10-07 22:57:07 · 1098 阅读 · 0 评论 -
flink-streaming实战-json数组解析
之前实际开发都是用的blink-sql模式,还没实际开发过streaming模式的作业,有个简单的例子,特意记录下因为下游我们是odps,目前没有jar包,这个之后调通了再加上作业描述: 上游是kafka,原始数据格式为json数组,输出为json对象,本地日志打印输出,source连接参照阿里云的例子package com.alibaba.blink.datastreaming;import com.google.gson.JsonArray;import com.goog...原创 2021-02-17 21:01:15 · 5698 阅读 · 1 评论 -
flink-java版学习-6-reduce聚合
reduce聚合操作和hive的map-reduce框架中的reduce操作类似个人理解:keyBy+Max这种算子和reduce算子的区别在于,reduce可以多字段聚合,前者只能单字段reduce通过滚动计算取得当前最大值由于之前数据集有时间乱序,出来的结果不够直观,这里调整下数据集sensor_1,1547718200,34.8sensor_1,1547718288,34.8sensor_1,1547719200,37.8sensor_1,1547719280,39.8sen原创 2021-01-23 23:33:01 · 880 阅读 · 2 评论 -
flink-java版学习-5-keyBy+max/min等聚合函数
keyBy:将Stream根据指定的Key进行分区,是根据key的散列值进行分区的(和sql的group by类似)max:对数据聚合,取最大值,非聚合字段,返回的是第一次的值maxBy:和max类似,但是在非聚合字段返回的是当前最大值package com.shihuo.apitest_transform;import com.shihuo.com.shihuo.apitest_beans.SensrReading;import org.apache.flink.api.common.原创 2021-01-18 00:27:38 · 1376 阅读 · 0 评论 -
flink-java版学习-4-transform算子之map/flatmap/filter算子
1、数据集都是本地数据集,3个算子一起测试 map:个人理解就是1对1的输出,比如我传一个字符串,可以返回字符串的长度 flatmap:1对多的输出,传1个字符串,可以分割为3个字符串,但是流还是一个流(跟hive对比,就很像LATERAL VIEW这种函数,一个输入,多行输出,udtf) filter:就是过滤,返回满足条件的(对应sql的where条件)2、代码示例:package com.shihuo.apitest_transform;...原创 2021-01-17 23:55:40 · 1404 阅读 · 0 评论 -
flink-java版学习-3-kafka
flink的source使用比较多的是kafka,本地测试连接公司的集群没有成功,先记录下package com.shihuo.apitest_source;import org.apache.flink.api.common.serialization.SimpleStringSchema;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api....原创 2021-01-17 23:41:14 · 478 阅读 · 0 评论 -
flink-java版学习-2-source连接之本地文件
flink本地测试大多数时候读的都是本地的数据集,记录下:1、本地的sensor.txt文件sensor_1,1547718200,35.8sensor_1,1547719200,37.8sensor_1,1547718280,34.8sensor_6,1547718201,35.5sensor_7,1547718214,35.3sensor_10,1547718234,15.8sensor_1,1547718289,55.82、读取代码如下,之后会频繁的用这个形式:...原创 2021-01-17 23:37:54 · 448 阅读 · 0 评论