1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 数据湖在大数据典型场景下应用调研个人笔记

数据湖在大数据典型场景下应用调研个人笔记

时间:2023-05-25 14:57:24

相关推荐

数据湖在大数据典型场景下应用调研个人笔记

点击上方蓝色字体,选择“设为星标

回复”资源“获取更多资源

数据湖是一种不断演进中、可扩展的大数据存储、处理、分析的基础设施;以数据为导向,实现任意来源、任意速度、任意规模、任意类型数据的全量获取、全量存储、多模式处理与全生命周期管理;并通过与各类外部异构数据源的交互集成,支持各类企业级应用。

目前在生产上可以用的经验不多,笔者个人在调研技术方案时参考了目前市面上公开的众多资料,供团队在数据架构设计和选型上进行参考。

华为生产场景数据湖平台建设实践

该平台围绕数据分如下三大逻辑模块:

典型数据应用场景按应用场景,对数据流程、处理平台进行的标注:

(绿色)结构化数据通过批处理、虚拟镜像到Hive数据,再通过Kylin预处理将数据储存在Cube中,封装成RESTAPI服务,提供高并发亚秒级查询服务,监测物料质量情况;

(红色)IoT数据,通过sensor采集上报到MQS,走storm实时分拣到HBase,通过算法模型加工后进行ICT物料预警监测;

(黄色)条码数据通过ETLloader到IQ列式数据湖,经过清洗加工后,提供千亿规模条码扫描操作。

非结构化质检图片数据:

通过web前台、数据API服务,进行图片数据的上传及查询,图片需要有唯一ID作为标示,确保可检索。海量图片数据以ID为rowkey,储存于Hbase平台,提供快速储存及查询能力。数据资产上有以下方面的构建:

统一索引描述非结构数据,方便数据检索分析。

增加维护及更新时间作为对象描述字段(图片类型、像素大小、尺寸规格)。非对象方式及数字化属性编目(全文文本、图像、声音、影视、超媒体等信息),自定义元数据。

不同类型的数据可以形成了关联并处理非结构化数据。

实时金融数据湖的应用

在功能上,包括数据源、统一的数据接入、数据存储、数据开发、数据服务和数据应用。

第一,数据源。不仅仅支持结构化数据,也支持半结构化数据和非结构化数据。

第二,统一数据接入。数据通过统一数据接入平台,按数据的不同类型进行智能的数据接入。

第三,数据存储。包括数据仓库和数据湖,实现冷热温智能数据分布。

第四,数据开发。包括任务开发,任务调度,监控运维,可视化编程。

第五,数据服务。包括交互式查询,数据 API,SQL 质量评估,元数据管理,血缘管理。

第六,数据应用。包括数字化营销,数字化风控,数据化运营,客户画像。

在逻辑上,实时金融数据湖的逻辑架构主要有 4 层,包括存储层、计算层、服务层和产品层。

在存储层,有 MPP 数据仓库和基于 OSS/HDFS 的数据湖,可以实现智能存储管理。

在计算层,实现统一的元数据服务。

在服务层,有联邦数据计算和数据服务 API 两种方式。其中,联邦数据计算服务是一个联邦查询引擎,可以实现数据跨库查询,它依赖的就是统一元数据服务,查询的是数据仓库和数据湖中的数据。

在产品层,提供智能服务:包 RPA、证照识别、语言分析、客户画像、智能推荐。商业分析服务:包括自助分析、客户洞察、可视化。数据开发服务:包括数据开发平台,自动化治理。

整个实时场景架构:

数据源被实时接入到 Kafka 之后,Flink 可以实时处理 Kafka 的数据,并将处理的结果写入到数据湖中。数据湖整体基于开源方案搭建,数据的存储是用的 HDFS 和 S3,表格式用的是 Iceberg。Flink 读取完 Kafka 的数据之后进行实时处理,这时候可以把处理的中间结果写入到数据湖中,然后再进行逐步处理,最终得到业务想要的结果。处理的结果可以通过查询引擎对接应用,包括 Flink、Spark、Presto 等。

Soul的Delta Lake数据湖应用实践

数据由各端埋点上报至Kafka,通过Spark任务分钟级以Delta的形式写入HDFS,然后在Hive中自动化创建Delta表的映射表,即可通过Hive MR、Tez、Presto等查询引擎直接进行数据查询及分析。

我们基于Spark,封装了通用化ETL工具,实现了配置化接入,用户无需写代码即可实现源数据到Hive的整体流程接入。并且,为了更加适配业务场景,我们在封装层实现了多种实用功能:

实现了类似Iceberg的hidden partition功能,用户可选择某些列做适当变化形成一个新的列,此列可作为分区列,也可作为新增列,使用SparkSql操作。如:有日期列date,那么可以通过 'substr(date,1,4) as year' 生成新列,并可以作为分区。

为避免脏数据导致分区出错,实现了对动态分区的正则检测功能,比如:Hive中不支持中文分区,用户可以对动态分区加上'\w+'的正则检测,分区字段不符合的脏数据则会被过滤。

实现自定义事件时间字段功能,用户可选数据中的任意时间字段作为事件时间落入对应分区,避免数据漂移问题。

嵌套Json自定义层数解析,我们的日志数据大都为Json格式,其中难免有很多嵌套Json,此功能支持用户选择对嵌套Json的解析层数,嵌套字段也会被以单列的形式落入表中。

实现SQL化自定义配置动态分区的功能,解决埋点数据倾斜导致的实时任务性能问题,优化资源使用,此场景后面会详细介绍。

基于Flink和Druid的实时多维分析系统在蔚来汽车的应用

实时方案之数据湖探究调研笔记

生产上的坑才是真的坑 | 盘一盘Flink那些经典线上问题

欢迎点赞+收藏+转发朋友圈素质三连

文章不错?点个【在看】吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。