flink
问道2020
这个作者很懒,什么都没留下…
展开
-
说说 Flink的序列化如何做的
Java本身自带的序列化和反序列化的功能,但是辅助信息占用空间比较大,在序列化对象时记录了过多的类信息。Apache Flink摒弃了Java原生的序列化方法,以独特的方式处理数据类型和序列化,包含自己的类型描述符,泛型类型提取和类型序列化框架。TypeInformation 是所有类型描述符的基类。它揭示了该类型的一些基本属性,并且可以生成序列化器。TypeInformation 支持以下几种类型:BasicTypeInfo: 任意Java 基本类型或 String 类型BasicArrayType原创 2021-01-22 20:20:58 · 607 阅读 · 0 评论 -
基于Flink+Hive+Kafka的流批一体数仓实践--04Kafka_Sink_Kafka_DWD_OrderFull
Flink采用HiveCatalog作为表元数据持久化的介质。对于同时部署了Hive和Flink的公司来说,可以方便管理元数据,而对于只部署了Flink的公司来说,HiveCatalog也是Flink唯一支持的元数据持久化的介质。不将元数据持久化的时候,开发过程中的每个地方都需要使用DDL重新将Kafka等数据源的数据注册到临时的Catalog中,浪费了很多精力和时间。利用ODS的订单详情和订单明细数据进行操作。DWD层直接上代码import java.time.Durationimport org原创 2021-01-10 20:44:48 · 363 阅读 · 0 评论 -
基于Flink+Hive+Kafka的流批一体数仓实践--03kafka_sink_kafka_ods
准备工作:搭建Hadoop、kafka、zk集群等(略)。脚本启动集群后,开启kafka主题消费:bin/kafka-console-consumer.sh --bootstrap-server hadoop002:9092 --from-beginning --topic GoodmeODS_orderMasterkafka_sink_kafka_ods代码如下:import java.time.Durationimport org.apache.flink.streaming.api.{C原创 2021-01-06 20:23:34 · 537 阅读 · 0 评论 -
基于Flink+Hive+Kafka的流批一体数仓实践--02模拟kafka生产数据
废话不多说,直接上代码,定义两个scala工具类,然后JsonMock模拟生产数据作为flink自定义数据源Goodme_Source。自定义数据源需要重写SourceFunction,后面再说。然后sink到Kafka。{"orderMaster":{"area":"周口","orderID":"1207687863","brandId":"Goodme","customerID":"1697","orderStatus":"40","orderChannel":"饿了么","storeCode":"3原创 2021-01-05 17:56:36 · 817 阅读 · 0 评论 -
基于Flink+Hive+Kafka的流批一体数仓实践--01架构及思想
基于Flink+HIve+Kafka的流批一体数仓实践–01架构及思想最近阅读了李劲松老师的一篇文章,决定基于他的思想实践一把。为什么需要实时数仓?基于 Hive 的离线数仓往往是企业大数据生产系统中不可缺少的一环。Hive 数仓有很高的成熟度和稳定性,但由于它是离线的,延时很大。在一些对延时要求比较高的场景,需要另外搭建基于 Flink 的实时数仓,将链路延时降低到秒级。但是一套离线数仓加一套实时数仓的架构会带来超过两倍的资源消耗,甚至导致重复开发。想要搭建流式链路就必须得抛弃现有的 Hive 数原创 2021-01-04 19:10:23 · 1737 阅读 · 0 评论