当前位置: 首页 > news >正文

营销型网站建设 价格杏坛网站设计

营销型网站建设 价格,杏坛网站设计,室内装修设计自学软件,本地网站更新不了 vps登陆可以交易域支付成功事务事实表 从topic_db业务数据中筛选支付成功的数据从dwd_trade_order_detail主题中读取订单事实数据、LookUp字典表关联三张表形成支付成功宽表写入 Kafka 支付成功主题 执行步骤 设置ttl#xff0c;通过Interval join实现左右流的状态管理获取下单明细数据…交易域支付成功事务事实表 从topic_db业务数据中筛选支付成功的数据从dwd_trade_order_detail主题中读取订单事实数据、LookUp字典表关联三张表形成支付成功宽表写入 Kafka 支付成功主题 执行步骤 设置ttl通过Interval join实现左右流的状态管理获取下单明细数据用户必然要先下单才有可能支付成功因此支付成功明细数据集必然是订单明细数据集的子集。要注意Interval Join要求表中均为Append数据即“只能新增不能修改”订单明细表数据生成过程中用到了left join生成了回撤流看似不满足Interval Join的条件。但是回撤数据进入Kafka会以null值形式存在如果用Kafka Connector将订单明细封装为动态表null值会被过滤最终得到的是相同主键存在重复数据的Append流动态表本质上就是流满足Interval Join的条件。 Interval join只支持事件时间因此数据必须携带水位线建表时水位线的相关语法为 water for order_time as order_time - interval 5 second这里要求数据是timestamp(3)原有的时间数据类型是bigint类型的ts使用row_time as TO_TIMESTAMP_LTZ(ts,3)这个函数即可将原有的时间数据转换为水位线所需的数据类型 筛选支付数据 支付状态为支付成功操作类型为update 构建 LookUp 字典表联上述三张表形成支付成功宽表写入 Kafka 支付成功主题 核心代码如下 public void handle(StreamExecutionEnvironment env, TableEnvironment tableEnv, String groupId) {//核心业务逻辑//1. 读取TopicDB主题数据createTopicDb(groupId,tableEnv);//2. 筛选支付成功的数据从业务数据topic_db中filterPaymentTable(tableEnv);//3. 读取下单详情表数据, 从kafka读取数据createOrderDetailTable(tableEnv, groupId);//4. 创建base.dic字典表从HBase维度数据中读取createBaseDic(tableEnv);//tableEnv.executeSql(select * from order_detail).print();//tableEnv.executeSql(select * from base_dic).print();//tableEnv.executeSql(select to_timestamp_ltz(ts,3) from order_detail);//5. 使用interval join 完成支付成功流和订单详情数据关联intervalJoin(tableEnv);//6. 使用lookup join完成维度退化Table resultTable lookupJoin(tableEnv);//7. 创建upsert kafka连接器写出createKafkaSink(tableEnv);resultTable.insertInto(Constant.TOPIC_DWD_TRADE_ORDER_PAYMENT_SUCCESS).execute();}事实表动态分流 dwd层其他的事实表都是从topic_db中去业务数据库一张表的变更数据按照某些过滤后写入kafka的对应主题它们处理逻辑相似且较为简单可以结合配置表动态分流在同一个程序中处理。有点类似我们前面实现DIM层的动态配置。 清洗过滤和转换判断是否满足json格式如果满足转换为jsonObj对象读取配置表数据使用flink-cdc读取转换数据格式转换到对应bean对象中配置信息广播话然后跟主流数据进行连接筛选出需要的字段根据表中的sink table字段来动态写出到对应的kafka主题中 核心代码如下 public static void main(String[] args) {new DwdBaseDb().start(10019, 4, dwd_base_db, Constant.TOPIC_DB);}Overridepublic void handle(StreamExecutionEnvironment env, DataStreamSourceString stream) {//核心业务逻辑//1. 读取topic_db数据//stream.print();//2. 清洗过滤和转换, jsonObjStream是主流数据SingleOutputStreamOperatorJSONObject jsonObjStream filterJson(stream);//jsonObjStream.print();//3. 读取配置表数据使用flink-cdc读取,读取配置文件时并发度最好为1DataStreamSourceString tableProcessDwd getTableProcessDwd(env);//tableProcessDwd.print();4. 转换数据格式 string - TableProcessDwd - broadcastStream广播流数据SingleOutputStreamOperatorTableProcessDwd processDwdStream getProcessDwdStream(tableProcessDwd);MapStateDescriptorString, TableProcessDwd mapStateDescriptor new MapStateDescriptor(process_state, String.class, TableProcessDwd.class);BroadcastStreamTableProcessDwd broadcastStream processDwdStream.broadcast(mapStateDescriptor);//5. 连接主流和广播流对主流数据进行判断是否需要保留SingleOutputStreamOperatorTuple2JSONObject, TableProcessDwd processStream processBaseDb(jsonObjStream, broadcastStream, mapStateDescriptor);//processStream.print();//6. 筛选最后需要写出的字段SingleOutputStreamOperatorJSONObject dataStream filterColumns(processStream);//7. 通过sink_table的表名来动态写出到对应kafka主题//在setRecordSerializer()设置dataStream.sinkTo(FlinkSinkUtil.getKafkaSinkWithTopicName());}gitee地址 https://gitee.com/langpaian/gmall2023-realtime
http://www.hkea.cn/news/14547674/

相关文章:

  • 高端大气网站源码seo推广策划
  • 衡水建站公司用ps个人网站怎么做
  • 建设电子商务网站的好处网站建设企业网站优化
  • 怎嘛做网站受欢迎的常州做网站
  • 小米路由器3 做网站为网站网站做代理被判缓刑
  • 英文网站建设哪家强品牌建设标准
  • 广州网站推广制作网站建设课程设计实训心得
  • 网站备案 选项杭州做网站 做小程序
  • 网页设计与网站建设+pdf上海歌舞娱乐场所停业
  • 电子商务网站开发方式网站设计顺德
  • 成都建立公司网站域名备案查询站长之家
  • 网站建设加盟培训怎样做一个网页
  • 网站建设专业知识应用常熟做网站公司
  • 合肥公司门户网站制作网站开发技术简介dw
  • 阿里巴巴国际站运营培训专业网站是指什么
  • 静态网站开发课程网企业网站的制作公司
  • 海淀网站建设联系方式门户网站维护方案
  • 网站建设列表google外贸网站推广
  • 宜宾网站优化阜沙网站建设
  • 学校网站设计思路长沙别墅图纸网站建设
  • 信誉好的合肥网站建设wordpress 头像插件
  • html5企业网站中国大工程建设需要什么样的人才
  • 酒店预定网站建设方案wordpress登陆过程
  • 松江做网站苏州建网站的公
  • 广州建网站价格建设官方网站的主要作用
  • 泰安本地网站app定制价格是多少
  • 本地建设网站怎么查看后台账号网站开发是否属于无形资产
  • 网站 模板上海建站
  • 做h5小游戏的网站有哪些小程序开发费用是多少
  • 长春免费建站模板挂机宝可以做网站