【每日一个知识点】分布式数据湖与实时计算
在现代数据架构中,分布式数据湖(Distributed Data Lake) 结合 实时计算(Real-time Computing) 已成为大数据处理的核心模式。数据湖用于存储海量的结构化和非结构化数据,而实时计算则确保数据能够被迅速处理和分析,以支持业务决策、流式数据分析和机器学习应用。
1. 分布式数据湖概述
1.1 数据湖的定义
数据湖(Data Lake)是一种能够存储 原始格式数据(结构化、半结构化和非结构化数据)的存储架构,支持 大规模数据管理 和 灵活的数据分析。
与传统数据仓库(Data Warehouse)相比,数据湖的特点是:
-
存储更灵活:数据不需要预定义模式(Schema-on-Read)。
-
支持多种数据格式:如 JSON、Parquet、ORC、CSV、Avro 等。
-
大规模存储和计算分离:适用于现代云计算和分布式存储架构。
1.2 分布式数据湖架构
分布式数据湖一般由以下关键组件构成:
-
存储层(Storage Layer)
-
采用 分布式文件系统,如:
-
HDFS(Hadoop Distributed File System)
-
Amazon S3(AWS对象存储)
-
Google Cloud Storage(GCS)
-
Azure Data Lake Storage(ADLS)
-
-
存储数据采用 列式格式(Parquet/ORC) 以优化查询性能。
-
-
元数据管理(Metadata Management)
-
维护数据表结构、Schema 及索引,如:
-
Apache Hive Metastore
-
AWS Glue Catalog
-
Databricks Delta Lake
-
-
通过 ACID 事务(如 Delta Lake)增强数据一致性。
-
-
计算层(Compute Layer)
-
计算框架:Apache Spark、Apache Flink、Presto、Trino
-
执行 批处理(Batch Processing) 和 流计算(Stream Processing)。
-
-
数据访问接口(Data Access Layer)
-
通过 SQL、API、BI 工具 访问数据,如:
-
Presto、Trino(查询)
-
Apache Spark SQL
-
Apache Arrow(高性能数据传输)
-
-
-
数据治理(Data Governance)
-
提供 权限管理、数据质量控制,常见工具:
-
Apache Ranger(权限管理)
-
Apache Atlas(数据血缘分析)
-
-
2. 实时计算技术
2.1 实时计算的需求
随着 物联网、金融交易、智能推荐、网络安全监控 等场景的兴起,实时计算需求不断增长:
-
低延迟(Low Latency):秒级甚至毫秒级响应数据变化。
-
高吞吐(High Throughput):每秒处理数百万条数据流。
-
流式计算(Stream Processing):对数据流进行增量计算。
2.2 实时计算架构
现代实时计算架构通常采用 Lambda 或 Kappa 架构:
-
Lambda 架构
-
由 批处理(Batch)+ 流处理(Streaming) 结合:
-
批处理:Hadoop、Spark
-
流处理:Flink、Kafka Streams
-
-
优点:可提供数据准确性保障(数据回溯)。
-
缺点:代码维护复杂,数据同步成本高。
-
-
Kappa 架构
-
仅使用 流计算(Streaming Processing) 处理所有数据。
-
主要组件:
-
Kafka/Pulsar(数据流传输)
-
Flink/Kafka Streams/Spark Streaming(流处理)
-
-
优点:架构简单,适用于 事件驱动应用(如欺诈检测、实时推荐)。
-
2.3 主要实时计算框架
| 框架 | 计算模式 | 适用场景 |
|---|---|---|
| Apache Flink | 实时流处理(Stream Processing) | 高吞吐、低延迟应用 |
| Apache Kafka Streams | 轻量级流处理 | 事件驱动架构 |
| Apache Spark Streaming | 微批(Micro-batch)流计算 | 实时分析 + 兼容 Spark 批处理 |
| Apache Storm | 低延迟流处理 | 高速数据流(金融风控) |
| Apache Druid | 实时 OLAP 分析 | BI、数据可视化 |
3. 分布式数据湖与实时计算的结合
3.1 为什么要结合数据湖与实时计算?
在实际业务中,数据湖的存储能力与实时计算结合,可以实现:
-
实时分析:基于数据湖的流数据分析,如用户行为分析。
-
实时 ETL(Extract-Transform-Load):流式数据清洗、转换、存入数据湖。
-
增量数据处理:结合 Delta Lake、Iceberg 进行 Change Data Capture(CDC),只处理新增数据。
3.2 结合方式
-
数据湖 + 实时流计算
-
数据流入(Streaming Ingestion):
-
Kafka → Flink → Delta Lake / Iceberg
-
-
实时查询(Streaming Query):
-
Flink SQL 直接查询数据湖。
-
-
-
数据湖 + 近实时 OLAP
-
数据湖存储历史数据,Druid 进行实时聚合分析:
-
Flink → Kafka → Druid
-
-
-
数据湖 + AI 实时特征计算
-
实时机器学习(Online Machine Learning):
-
Flink 计算特征 → 存入 Feature Store(如 Feast)
-
AI 模型使用最新数据训练 / 推理
-
-
4. 典型应用场景
| 应用场景 | 解决方案 | 主要技术 |
|---|---|---|
| 实时风控 | 监测交易数据,检测欺诈行为 | Flink + Kafka + 数据湖 |
| 用户行为分析 | 统计 PV/UV,用户路径分析 | Flink SQL + Delta Lake |
| 智能推荐 | 结合用户实时行为调整推荐策略 | Flink + ML 模型 |
| IoT 数据处理 | 处理海量物联网设备数据 | Kafka + Flink + Iceberg |
| 日志分析 | 监控系统日志,检测异常 | Flink + Druid + Elasticsearch |
5. 未来发展趋势
-
数据湖 + Lakehouse 模式:采用 Delta Lake、Apache Iceberg 统一批流处理能力,支持 ACID 事务。
-
流批一体化(Stream-Batch Unification):Flink/Spark 逐步统一批处理和流处理,提高一致性。
-
自动化数据治理(Automated Data Governance):引入 AI 进行元数据管理和数据质量检测。
-
云原生架构(Cloud-Native Data Lake):无服务器(Serverless)计算框架,如 AWS Athena、Google BigQuery。
6. 结论
分布式数据湖与实时计算的结合,能够高效存储、管理和分析大规模数据,是未来数据架构发展的核心方向。通过采用 Flink、Kafka、Delta Lake 等技术,可以实现 高效实时分析、流式数据处理和 AI 应用,满足企业级大数据需求。
相关文章:
【每日一个知识点】分布式数据湖与实时计算
在现代数据架构中,分布式数据湖(Distributed Data Lake) 结合 实时计算(Real-time Computing) 已成为大数据处理的核心模式。数据湖用于存储海量的结构化和非结构化数据,而实时计算则确保数据能够被迅速处理…...
【3.软件工程】3.5 V开发模型
V模型深度解析:测试驱动的软件开发框架 ⚙️ 一、V模型全景流程图 #mermaid-svg-IoovYFLLXyzJAePg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IoovYFLLXyzJAePg .error-icon{fill:#552222;}#mermai…...
生成对抗网络(GAN)详解(代码实现)
GANs 的基本概念 This framework can yield specific training algorithms for many kinds of model and optimization algorithm. In this article, we explore the special case when the generative model generates samples by passing random noise through a multilayer …...
leecode第18天
3274.检查棋盘方格颜色是否相同 # 给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。# 以下是棋盘的参考图。 class Solution:"""该类用于检查两个棋盘格子的颜色是否相同"""def checkTwoChe…...
c语言数据结构--------拓扑排序和逆拓扑排序(Kahn算法和DFS算法实现)
#include <stdio.h> #include <string.h> #include <stdbool.h> #include <stdlib.h>//使用卡恩算法(Kahn)和深度优先算法(DFS)实现//拓扑排序和逆拓扑排序//拓扑排序和逆拓扑排序顶点顺序相反//图,邻接矩阵存储 #define MaxVertexNum 100 …...
谷粒微服务高级篇学习笔记整理---nginx搭建正反向代理
正向与反向代理 **正向代理:**客户端向代理服务器发请求并指定目标服务器,代理向目标转交请求并将获得的内容转给客户端。 反向代理:用户直接访问反向代理服务器就可以获得目标服务器的资源。反向代理服务器统一了访问入口。 给首页配置反向代理 修改windows的hosts文件配…...
2.pycharm保姆级安装教程
一、pycharm安装 1.官网上下载好好软,双击打开 2.下一步 3.修改路径地址 (默认也可以) 4.打勾 5.安装 不用重启电脑 二、添加解释器 1.双击软件,打开 2.projects – new project 3.指定项目名字,项目保存地址,解释器 4.右击 – …...
基于方法分类的无监督图像去雾论文
在之前的博客中,我从研究动机的角度对无监督图像去雾论文进行了分类,而现在我打算根据论文中提出的方法进行新的分类。 1. 基于对比学习的方法 2022年 论文《UCL-Dehaze: Towards Real-world Image Dehazing via Unsupervised Contrastive Learning》&a…...
【SQL】取消sql某一列的唯一值key值的方法
在插入数据到sql时,遇到了这个问题: Duplicate entry ‘XXX’ for key 起因是: 我之前设计表的时候,手动给product_title 这个列加了一个key, key 是这个字段的唯一键约束,就不能重复在这一列存入重复的数…...
数据库--SQL
SQL:Structured Query Language,结构化查询语言 SQL是用于管理关系型数据库并对其中的数据进行一系列操作(包括数据插入、查询、修改删除)的一种语言 分类:数据定义语言DDL、数据操纵语言DML、数据控制语言DCL、事务处…...
SQL语句(一)—— DDL
目录 一、SQL 基础知识 (一)SQL 通用语法 (二)SQL 分类 二、DDL —— 数据库操作 1、查询所有数据库 2、查询当前数据库 3、创建数据库 4、删除数据库 5、切换数据库 三、DDL —— 表操作 (一)查…...
硬件负载均衡:让服务像“牛顿钟”一样稳!
硬件负载均衡:让服务像“牛顿钟”一样稳! 大家好,我是 Echo_Wish,今天要聊聊提高服务可用性的一大利器——硬件负载均衡。如果你是运维领域的一员,肯定对“负载均衡”这个词耳熟能详。然而,很多朋友一提到硬件负载均衡,脑袋可能就卡住了:这是啥?跟软件负载均衡有啥区…...
Husky目标跟踪
1.0设备清单 幻影峡谷、适配器 摄像头及数据线、显卡欺骗器 外接屏幕、键盘鼠标 Husky底盘、便携显示屏、键盘鼠标 移动电源 1.1连线 插排——移动电源幻影峡谷——适配器——插排摄像头——幻影峡谷(摄像头固定在机械臂前方的底盘上)键盘鼠标显示器…...
高通camx IOVA内存不足,导致10-15x持续拍照后,点击拍照键定屏无反应,过一会相机闪退
定屏闪退问题分析思路: 定屏问题如果是相机问题,一般会出现返帧,导致预览卡死。当然还有其他情况,我们先看返帧情况,发现request和result开始都正常,到12:53:05.443038就没有返帧了,定屏了。往…...
Python----机器学习(线性回归:自求导的方法实现)
一、线性回归方程 目标: 线性回归的目标是找到最佳的系数来使模型与观察到的数据尽可能拟合。 应用: 预测:给定自变量的值,预测因变量的值。 回归分析:确定自变量对因变量的影响程度 线性回归是统计学和机器学习中最简…...
Parasoft C++Test软件单元测试_操作指南
系列文章目录 Parasoft C++Test软件静态分析:操作指南(编码规范、质量度量)、常见问题及处理 Parasoft C++Test软件单元测试:操作指南、实例讲解、常见问题及处理 Parasoft C++Test软件集成测试:操作指南、实例讲解、常见问题及处理 进阶扩展:自动生成静态分析文档、自动…...
QT之QML(简单示例)
需求一:点击按钮弹出菜单,并且自定义菜单弹出位置。 mouse.x 和 mouse.y 获取的是相对于 MouseArea(在这个例子中是 Button)左上角的局部坐标。如果你想要在鼠标点击位置显示 Menu,你需要将这个局部坐标转换为相对于应…...
【自动化运维】Python 的安装和使用
Python 的安装和使用 文章目录 Python 的安装和使用一、Linux环境安装Python1.1、设置Yum仓库1.2、安装依赖包1.3、编译Python1.3.1、解压Python压缩包1.3.2、配置Python1.3.3、编译及安装1.3.4、链接软连接 1.4、测试Python3运行1.5、设置国内pip更新源1.6、更新pip版本&#…...
Springcache+xxljob实现定时刷新缓存
目录 SpringCache详解 SpringCache概述 核心原理 接口抽象与多态 AOP动态代理 核心注解以及使用 公共属性 cacheNames KeyGenerator:key生成器 key condition:缓存的条件,对入参进行判断 注解 xxl-job详解 SpringcacheRedis实现…...
线性规划建模工具 PuLP 学习指南
PuLP 是一个用 Python 编写的线性规划建模工具,它提供了直观的 API 来定义和求解各种优化问题。以下是学习 PuLP 的全面指南: 1. 安装 PuLP pip install pulp2. 基本概念 问题类型 LpProblem: 表示优化问题LpVariable: 表示决策变量LpConstraint: 表…...
vue2拖拉拽做个模拟公式工具
1. 成图 2. 介绍 就是简单拖拉拽来做个规则运算器,具体运算规则、校验规则自己加。 3. 代码 HTML代码 <template><div class"red-cont"><div class"red-top"><divclass"red-top-left"><div class&quo…...
两点与圆(异或神通)
给出 n 个圆,保证任意两个圆都不相交且不相切。 然后给出两个点 (x1,y1),(x2,y2),保证均不在某个圆上。现在要从 (x1,y1)→(x2,y2) 画条曲线,问这条曲线最少穿过多少次圆的边界? 输入格式 第一行为一个整数 n&…...
Windows查重工具,强烈推荐大家收藏!
我大家在用电脑的时候,是不是发现用得越久,电脑里的软件和文件就越多? 今天我给大家带来的这两款重复文件查找神器,简直就是电脑里的“清洁小能手”,能帮你把那些重复的文件和文件夹找出来。 Easy DupLicate Finder 重…...
使用Python快速接入DeepSeek API的步骤指南
使用Python快速接入DeepSeek API的步骤指南 1. 前期准备 注册DeepSeek账号 访问DeepSeek官网注册账号 完成邮箱验证等认证流程 获取API密钥 登录后进入控制台 → API管理 创建新的API Key并妥善保存 安装必要库 pip install requests # 可选:处理复杂场景 pip…...
使用python完成手写数字识别
入门图像识别的第一个案例,看到好多小伙伴分享,也把自己当初的思路捋捋,写成一篇博客,作为记录和分享,也欢迎各位交流讨论。 实现思路 数据集:MNIST(包含60,000个训练样本和10,000个测试样本) 深度学习框架:Keras(基于TensorFlow) 模型架构:卷积神经网络(CNN) 实…...
OpenLayers:如何控制Overlay的层级?
我最近在使用Overlay的时候遇到了一个问题,我向地图中添加了两种不同的Overlay(下图中的蓝色标牌和粉色标牌),我希望粉色标牌可以显示在最上层,可偏偏蓝色标牌却将其遮挡住了。于是我对Overlay的层级开始起了兴趣&…...
清晰易懂的 Flutter 卸载和清理教程
以下是为 Flutter 彻底卸载与清理教程,覆盖 Windows、macOS、Linux 系统,步骤清晰无残留,确保完全删除 Flutter SDK、依赖工具及 IDE 配置。 一、通用步骤:确认 Flutter 安装方式 Flutter 通常通过以下方式安装: 手动…...
docker-compose部署以及常用命令
一:常用命令 1.docker compose restart//重启 2.docker compose down// 停止 3.docker compose ps//列出 4.sudo docker-compose up -d 启动并且在后台运行 二:yaml配置文件 version: 3.5 services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:…...
《Golang高性能网络编程:构建低延迟服务器应用》
在本文中,我们将深入探讨Golang高性能网络编程,帮助您构建低延迟服务器应用。我们将介绍Golang的网络编程特性、优化技巧和实际案例,让您更好地理解和应用Golang在网络编程领域的优势。 高性能网络编程简介 什么是Golang高性能网络编程 高性能…...
非对称加密技术深度解析:从数学基础到工程实践
一、密码学范式革命:从对称到非对称 1.1 对称加密的局限性 传统对称加密算法(如AES、DES)采用共享密钥机制,加解密使用相同密钥。虽然计算效率优异(AES-256加密速度可达800MB/s),但在密钥分发环…...
