Flink SQL实战演练之Kafka To Hive
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink SQL实战演练之Kafka To Hive相关的知识,希望对你有一定的参考价值。
参考技术A 实时数仓的构建一般是基于kafka的,一般分为ods层、dwd层和dws层。基于成本考虑,当前大数据架构多采用kappa架构,故kafka流表中每一层的数据都需要落地到hive中。
并在后台启动元数据服务,启动命令: nohup hive --service metastore >> ~/metastore.log 2>&1 &
本案例采用flink1.14开发,hive connector原理将在后续进行讲述!
Flink SQL实战演练之自定义Table Format
参考技术A 简介:接着上次Flink CDC继续聊,提到这块,不得不重点说下canal-json format了,canal json format对json format进行了封装,负责把binlog形式的json数据转化成了Flink能够识别的RowData数据,当然也包括数据的描述信息封装类RowType。笔者想实现根据RowKind进行数据的过滤,目前可以通过修改canal format的源数据来实现,也可以通过将changelog流以changelog json的形式回写Kafka。基于目前对table format的了解,这里自定义event json format,用来处理事件流数据,因为事件流字段不固定,可能只有少部分字段是固定的,其他字段都是扩展的,所以笔者想实现用户自定义schema指定公共字段,然后其他字段以json的行为存在metadata中的default字段中。
Table Format作为Connector组件单独用于序列化和反序列化内部数据的模块而单独存在,多个Connector可以公用。自定义Table Format可以让大家更好的理解Flink SQL时如何将外部数据转化为内部可以识别的RowData数据结构的,从而在排查问题的时候能准确定位到具体位置。
以上是关于Flink SQL实战演练之Kafka To Hive的主要内容,如果未能解决你的问题,请参考以下文章
Flink SQL实战演练之自定义Clickhouse Connector