大数据-01 基础环境搭建:Hadoop 集群
在3台云服务器(2C4G配置)上搭建Hadoop集群环境的详细教程,包含HDFS、MapReduce、YARN组件介绍,Java和Hadoop环境配置步骤。
Hadoop / Hive / Kafka / Spark / Flink 全栈大数据工程实战,从环境搭建到生产落地。
共 277 篇文章
在3台云服务器(2C4G配置)上搭建Hadoop集群环境的详细教程,包含HDFS、MapReduce、YARN组件介绍,Java和Hadoop环境配置步骤。
详解 Hadoop 集群三节点 XML 配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml,含 NameNode、DataNode...
Hadoop 三节点集群 SSH 免密登录全流程:生成 RSA 密钥、分发公钥、编写 rsync 集群分发脚本,含踩坑笔记与 /etc/hosts 配置要点。
Hadoop 三节点集群完整启动流程:格式化 NameNode、启动 HDFS 和 YARN,通过 Web UI 验证集群状态,含 start-dfs.sh 和 start-yarn.sh 用法。
在 Hadoop 集群上完整执行 WordCount:上传文件到 HDFS、提交 MapReduce 任务、通过 YARN UI 查看运行状态,验证真正的分布式计算。
配置 Hadoop JobHistoryServer 记录 MapReduce 任务执行历史,开启 YARN 日志聚合,通过 Web UI 可视化查看任务详情和日志。
深入解析 HDFS 架构:NameNode、DataNode、Client 角色分工,Block 存储机制,文件读写流程(Pipeline 写入与就近读取),以及 HDFS 基础命令速查。
HDFS 命令行完整实操:hadoop fs 常用命令速查,包括目录操作、文件上传下载、权限管理,结合三节点集群实际演示。
使用 Hadoop HDFS Java Client API 进行文件操作:Maven 依赖配置、FileSystem/Path/Configuration 核心类,实现文件上传、下载、删除、列表扫描和进度条显示。
从零实现 Hadoop MapReduce WordCount:Hadoop 序列化机制详解,编写 Mapper、Reducer、Driver 三大组件,Maven 项目配置,本地与集群运行完整代码。
深入讲解 MapReduce 中 Reduce-Side Join、Map-Side Join、Semi-Join 和 Bloom Join 四种 JOIN 策略的原理与 Java 实现,分析各自适用场景和性能特点。
介绍 Hive 数据仓库的核心概念、架构组成与优缺点,并详细讲解在三节点 Hadoop 集群上安装配置 Hive 2.3.9 的完整步骤。
系统讲解 Hive 的 DDL(建库建表、内部表与外部表)和 DML(数据加载、插入、查询)操作,包含完整 HiveQL 示例与配置优化。
深入讲解 Hive 的多种数据导入方式(LOAD/INSERT/外部表/Sqoop)、数据导出方法,以及聚合、过滤、排序等 HQL 查询操作的实际用法。
详解 Hive Metastore 的内嵌、本地、远程三种部署模式的区别,以及在三节点集群上配置高可用远程 Metastore 的完整步骤。
介绍 HiveServer2 的架构与作用,配置 Hadoop 代理用户和 WebHDFS,通过 Beeline 客户端实现跨节点 JDBC 远程访问 Hive。
介绍 Apache Flume 的定位、核心组件(Source、Channel、Sink)、事件模型与常见数据流拓扑,以及安装配置方法。
通过 Flume 最简单的 Hello World 案例,使用 netcat source 监听端口、memory channel 缓冲、logger sink 控制台输出,演示完整的 Source→Channel→Sink 数据流。
使用 Flume exec source 实时追踪 Hive 日志文件,通过 memory channel 缓冲,配置 HDFS sink 按时间分区写入,实现日志数据自动落盘 HDFS。
通过 Flume 复制模式(Replicating Channel Selector)和三 Agent 级联架构,实现一份日志数据同时写入 HDFS 和本地文件,满足离线分析与实时备份双重需求。
介绍 Apache Sqoop 的核心原理、使用场景及在 Hadoop 集群上的安装配置步骤,帮助快速上手 MySQL 与 HDFS/Hive 之间的批量数据迁移。
通过完整示例演示使用 Sqoop 将 MySQL 表数据全量导入 HDFS,涵盖核心参数说明、MapReduce 并行机制及执行结果验证。
详解 Sqoop 从 MySQL 按条件导入部分数据到 HDFS 的三种方式:自定义查询、指定列、WHERE 条件过滤,并说明各自的适用场景与注意事项。
演示使用 Sqoop 将 MySQL 数据直接导入 Hive 表,以及从 Hive 导出数据回 MySQL,涵盖 --hive-import、--create-hive-table 等关键参数的用法。
介绍 Sqoop 的 --incremental append 增量导入机制,并深入讲解 CDC(变化数据捕获)的核心概念、捕获方式对比及 Flink CDC、Debezium 等现代方案选型。
介绍 ZooKeeper 的核心概念、Leader/Follower/Observer 角色分工、ZAB 协议原理,并演示 3 节点集群的安装与配置过程。
深入解析 zoo.cfg 核心参数含义,讲解 myid 文件配置规范,演示 3 节点集群启动流程与 Leader 选举结果验证。
深入解析 ZooKeeper 的 ZNode 四种节点类型、ZXID 事务 ID 结构,以及 Watcher 一次性触发的监听机制原理与实践。
从客户端、WatcherManager 到 ZooKeeper 服务端,完整解析 Watcher 的注册-触发-通知流程,并通过 zkCli 命令行实操演示节点的增删查改与监听。
使用 ZkClient 库通过 Java 代码操作 ZooKeeper,实现 Session 建立、持久节点增删、子节点变更监听与数据变更监听的完整实战示例。
深入解析 ZooKeeper 的 Leader 选举机制与 ZAB 原子广播协议,涵盖初始选举流程、消息广播三阶段、故障恢复策略及生产部署建议。
基于 ZooKeeper 临时顺序节点实现分布式锁,附完整 Java 代码,涵盖锁竞争、前驱节点监听、CountDownLatch 同步和递归重试的完整流程。
全面解析 HBase 分布式数据库的整体架构,包括 ZooKeeper 协调、HMaster 管理节点、HRegionServer 数据节点、Region 存储单元及四维数据模型,适合大数据架构选型参考。
手把手配置 HBase 单节点环境,详解 hbase-env.sh、hbase-site.xml 关键参数,完成与 Hadoop HDFS 和 ZooKeeper 集群的对接。
基于上一篇单节点配置,将 HBase 分发到 3 个节点组成生产集群,介绍配置同步、集群启动、Web UI 验证及 HBase Shell 基本操作。
深入讲解 HBase 列族设计原则、Shell 操作实战,涵盖建表、插入、查询、更新、删除完整流程,附生产级列族配置示例。
使用 HBase Java Client API 实现建表、插入、删除、Get 查询、全表扫描与范围扫描,附完整 Maven 依赖和可运行代码示例。
介绍 Redis 的核心特性与五大数据类型,深入讲解旁路缓存、穿透模式、Write Behind 三种缓存读写模式的原理与适用场景。
在 Ubuntu 上从源码编译安装 Redis 6.2.9,配置 redis.conf 守护进程模式,启动 redis-server 并通过 redis-cli 验证连接。
全面讲解 Redis 的 String、List、Set、Sorted Set、Hash 五大数据类型的常用命令、底层特性与典型使用场景,附完整命令示例。
深入讲解 Redis 的 Bitmap 位图、Geo 地理位置(GeoHash、Z-order 曲线、Base32 编码)与 Stream 消息流三种高级数据类型,含常用命令与实战示例。
详解 Redis 发布订阅模式的工作机制、三大弱事务缺陷(无持久化、无确认、无重试),以及在生产环境中的替代方案选择。
窗口操作通过设置窗口长度(windowDuration)和滑动间隔(slideDuration),在比 batchDuration 更长的时间范围内整合多个批次的数据,实现动态的流式计算。典型案例展示了如何通过 reduceByWindow...
本文介绍了 Spark Streaming 与 Kafka 的两种集成方式:Receiver Approach 和 Direct Approach。Receiver 方式通过 Executor 上的 Receiver 持续接收数据...
Spark Streaming 集成 Kafka 时,Offset 管理是保证数据处理连续性与一致性的关键环节。Offset 用于标记消息在分区中的位置,应用可通过它来控制消费进度。若在程序异常退出前未持久化保存 Offset...
Offset用于标记Kafka分区内消息的位置,正确管理能够实现"至少一次"甚至"仅一次"的数据处理语义。通过持久化Offset,应用在故障恢复时可从上次处理的位置继续消费,避免消息丢失或重复。
系统讲解 Redis Lua 脚本的 EVAL 命令语法、redis.call 与 redis.pcall 的区别,以及原子计数器、CAS、批量操作等四个典型实战案例。
详解 Redis 慢查询日志的配置参数(slowlog-log-slower-than、slowlog-max-len)、核心命令,以及数据结构优化、Pipeline、监控体系等生产级性能调优策略。
Apache Flink 是一个开源的大数据流处理框架,支持无界流和有界批数据的高效计算,以"流批一体"为核心理念,将批处理视为流处理的特例。其具备高性能、分布式执行和弹性扩展能力,能够在 YARN、Kubernetes 等集群环境中运行...
Apache Flink 既支持流处理(Stream Processing),也支持批处理(Batch Processing)。流处理适用于实时数据,如传感器、日志或交易流,特点是处理无界数据流、支持事件时间、窗口操作和状态管理...
Flink 的运行架构采用典型的 Master/Slave 模式,各核心组件分工明确。JobManager 作为 Master,负责作业的解析、调度、检查点协调以及故障恢复,同时支持高可用设计和多种作业提交方式。
Flink 提供多种安装模式以适应不同场景需求。Local 模式适合个人学习与小规模调试,配置简单,可直接在本地 IDE 中运行。Standalone 模式是 Flink 内置的集群管理方式,包含 JobManager 和 TaskMana...
在 YARN 模式下部署 Flink 需要完成一系列环境配置和集群管理操作。首先,在各节点配置环境变量,包括 HADOOPCONFDIR、YARNCONFDIR 和 HADOOP_CLASSPATH,并在 profile 中加入 Hadoo...
DataSource、Transformation 和 Sink。DataSource 提供多样化的数据输入方式,包括文件系统、消息队列、数据库及自定义数据源;Transformation 是计算的核心环节,支持 Map、FlatMap...
系统对比 Redis 两种持久化方案:RDB 快照与 AOF 日志的配置方式、触发机制、优缺点,以及 AOF 重写机制和生产环境的推荐策略。
深入解析 Redis RDB 持久化机制,涵盖触发方式、BGSAVE 执行流程、配置参数、文件结构及与 AOF 的对比,帮助你在生产环境中做出合理的持久化选型。
非并行源(Non-Parallel Source)是Flink中并行度固定为1的源操作,无论集群规模如何,只能在单一实例中运行,确保任务按顺序处理。
RichSourceFunction 和 RichParallelSourceFunction 是功能增强型的源函数,适用于需要复杂逻辑和资源管理的场景。相比基础的 SourceFunction,它们提供了更完整的生命周期方法(open...
Flink 针对 DataStream 提供了丰富的算子,支持数据流在不同场景下的灵活处理。常见的算子包括 Map、FlatMap 和 Filter,用于元素转换、拆分与条件筛选;KeyBy 和 Reduce/Fold/Aggregatio...
Flink 的 Sink 是数据流处理的最终输出端,用于将处理结果写入外部系统或存储介质。它是流式应用的终点,决定数据如何被保存、传输或消费。
JDBC Sink 是最常用的数据输出组件之一,常用于将流处理与批处理结果写入 MySQL、PostgreSQL、Oracle 等关系型数据库。通过 JdbcSink.sink() 方法,开发者可以方便地实现 INSERT/UPDATE/U...
Flink 的 DataSet API 是批处理的核心编程接口,专为处理静态、有限数据集设计,支持 TB 级甚至 PB 级大数据分析。相比 DataStream API 的流处理,DataSet API 聚焦于离线批处理,具备延迟执行...
全面解析 Redis 的内存控制机制,包括 maxmemory 配置、键过期的三种删除策略(惰性/主动/定时),以及 8 种内存淘汰策略的适用场景与选型建议。
深入解析 Redis 的通信底层:RESP 序列化协议的五种数据类型、Pipeline 批处理模式,以及基于 epoll 的 Reactor 单线程事件驱动架构如何支撑 Redis 的高并发处理能力。
Flink的Window窗口机制是流处理与批处理统一架构的核心桥梁。Flink将批处理视为流处理的特例,通过时间窗口(Tumbling、Sliding、Session)和计数窗口将无限流切分为有限数据集。
滑动窗口(Sliding Window)是Apache Flink流处理中的核心机制之一,比固定窗口更灵活,广泛应用于实时监控、异常检测、趋势分析和用户行为统计等场景。滑动窗口由两个关键参数组成:
Watermark 是一个特殊的标志,它用于告诉 Flink 数据流中事件的进展情况。简单来说,Watermark 是 Flink 中估计的"当前时间",表示所有早于该时间戳的事件都已经到达。Flink 认为当前时间在 Watermark...
Flink 的 Watermark(水印)机制 是事件时间窗口计算中最核心的概念之一,用于处理 乱序事件(Out-of-Order Events) 并确保窗口准确触发。它通过定义系统认为"之前事件已全部到达"的时间点,来决定窗口计算的时机。
一个Flink程序由多个Operator组成(Source、Transformation、Sink)。一个Operator由多个并行的Task(线程)来执行,一个Operator的并行Task(线程)数目就被称为该Operator(任务)并...
根据是否依赖中间状态,Flink 计算可分为有状态和无状态两种类型:无状态计算(Stateless Computation)如 Map、Filter、FlatMap 等操作,每条数据独立处理,执行效率高、可线性扩展;
系统梳理 Redis 在高并发场景下最常见的五类缓存问题:缓存穿透、缓存击穿、缓存雪崩、热 Key 和大 Key,分析每种问题的成因并给出可落地的解决方案。
Redis 乐观锁实战:WATCH/MULTI/EXEC 机制详解,Lua 脚本实现原子操作,SETNX+EXPIRE 分布式锁从基础到 Redisson,Java 代码完整示例。
广播状态(Broadcast State)是 Apache Flink 中支持流式应用动态更新逻辑的重要机制,广泛应用于实时风控、用户行为分析、动态规则评估等场景。它允许低吞吐量的配置流(如规则、模型、参数)广播至所有并行任务实例...
状态存储(State Backend)是其实现有状态流计算的核心机制,决定了数据的可靠性、性能与容错性。Flink 提供三种内置存储后端:MemoryStateBackend、FsStateBackend 与 RocksDBStateBac...
ManagedOperatorState用于管理无键(non-keyed)状态,实现算子在故障恢复或扩缩容时的状态一致性。开发者可通过实现CheckpointedFunction接口来使用ManagedOperatorState...
Flink 中,并行度(Parallelism)是衡量任务并发处理能力的核心参数,决定了每个算子(Operator)可以同时运行的任务数量。合理设置并行度能显著提升作业的吞吐量与资源利用率。Flink 支持多层级的并行度配置,包括全局...
Flink中专用于复杂事件流实时分析的核心组件,提供完整的模式匹配框架,支持基于事件时间(Event Time)的乱序处理与高性能NFA(非确定性有限自动机)匹配机制。它允许开发者通过Pattern API定义复杂的事件序列规则,如严格连续...
Flink CEP 超时事件提取是流处理中的关键环节,用于在模式匹配过程中捕获超过窗口时间(within)的部分匹配事件。通过 select()、flatSelect() 和 process() API,开发者可以同时处理成功匹配和超时事件...
深入解析 Redis 高可用实现原理,涵盖主从复制同步机制、哨兵模式自动故障转移流程,以及分布式锁设计思路,并附 Docker 部署示例。
系统介绍 Kafka 的核心架构设计,包括 Topic/Partition/Replica 模型、ISR 机制、零拷贝优化、消息格式与典型应用场景,理解 Kafka 实现百万级 TPS 的工程原理。
Flink CEP(Complex Event Processing)复杂事件处理机制,结合实际案例深入讲解其在实时流式计算中的应用原理与实战实现。通过定义事件模式(Pattern)、模式流(PatternStream)及 select 函...
工程视角快速跑通 Flink SQL:提供现代依赖(不再使用 blink 规划器)、最小可运行示例(MRE)、Table API 与 SQL 互操作;输出使用 toChangelogStream 验证变更流。
面向高并发、低延迟 OLAP 场景,本文从工程视角讲清 ClickHouse 的底层优势(列式+压缩+向量化、MergeTree 家族)、适用与不适用边界、数据建模基本法以及近似统计的性能-精度权衡。
官方推荐的 keyring + signed-by 在 Ubuntu 安装 ClickHouse,并用 systemd 启动与自检;提供单机最小示例(建库建表/插入/查询)。集群部分给出 ClickHouse Keeper 三节点最小配置与...
三节点(h121/122/123)为例,先完成集群连通性自检:system.clusters 校验 → ON CLUSTER 创建 ReplicatedMergeTree/Distributed → 分布式写读与迷你压测,确保复制与路由正常
梳理 ClickHouse 表引擎:TinyLog、Log、StripeLog、Memory、Merge 的原理、适用与坑点,并给出可复制的最小可运行示例与并发/文件核验脚本。通过选型决策表与 Do&Don't,帮你在小表、一次性写入...
深入拆解 Kafka 三大核心组件的工作原理:Producer 分区策略与 ACK 机制、Broker 的 Leader/Follower 架构、Consumer Group 的分区分配与偏移量管理。
介绍 Kafka 2.x 与 3.x 的核心差异,详细讲解集群安装步骤、ZooKeeper 配置、Broker 参数设置,以及 KRaft 模式如何彻底替代 ZooKeeper 依赖。
ClickHouse MergeTree 的关键机制:批量写入形成 part、后台合并(Compact/Wide 两种 part 形态)、ORDER BY 即稀疏主索引、indexgranularity 标记密度与 primary.idx...
ClickHouse MergeTree 的存储与查询路径:列式文件(*.bin)、稀疏主键索引(primary.idx)、标记文件(.mrk/.mrk2)与 index_granularity 如何协同,实现分区裁剪与跳读...
覆盖 Kafka 日常运维的 Shell 命令(主题管理、消息收发)与 Java 客户端编程(Producer/Consumer 完整代码),包含关键配置参数说明和 ConsumerRebalanceListener 使用。
详解如何在 Spring Boot 项目中集成 Kafka,包括依赖配置、KafkaTemplate 同步/异步发送消息、@KafkaListener 消费消息的完整实践。
场景:解决去重/更新与按键求和两类常见"准实时明细表"需求。 结论:ReplacingMergeTree 用于按排序键去重/按版本取最新
ClickHouse 外部数据源引擎的最小可行方案:ENGINE=HDFS、ENGINE=MySQL、ENGINE=Kafka 的 DDL 模板、关键参数与读写链路。示范 Kafka→Materialized View→MergeTree...
ClickHouse 副本全链路:ZK/Keeper 准备、macros 宏配置、集群 ON CLUSTER 一致建表、写入去重与复制机制、system.* 视图健康检查、insertquorum 一致性、Distributed 跨分片查询
ClickHouse 分片×副本×Distributed 架构:基于 ReplicatedMergeTree + Distributed,在 3 分片×2 副本 集群上用 ON CLUSTER 一键建表,启用 ClickHouse Keep...
ClickHouse 初学与运维实战,基于真实集群(h121/h122/h123)演示从连接到建库建表的完整流程,系统讲解 MergeTree 的 ORDER BY/PRIMARY KEY/PARTITION BY/TTL 关键点;
深入解析 Kafka Producer 初始化、消息拦截、序列化、分区路由、缓冲批量发送、ACK 确认等完整发送链路,并给出关键参数的调优建议。
深入讲解 Kafka 消息序列化原理与分区路由策略,包含自定义 Serializer 和 Partitioner 的完整代码实现,帮助掌握消息精准路由与高效传输。
Apache Kudu 在 2025 年的版本与生态集成:最新 Kudu 1.18.0(2025/07)上线,带来分段 LRU Block Cache 与基于 RocksDB 的元数据存储(实验特性),在保证 Raft 副本一致性的同时提升...
Apache Kudu 的 Master/TabletServer 架构、RowSet(MemRowSet/DiskRowSet) 写读路径、MVCC、以及 Raft 共识 在副本与故障切换中的作用;
Apache Kudu 在 Ubuntu 22.04 云主机上的 Docker Compose 快速部署方案,覆盖 Kudu Master 与 Tablet Server 组件、KUDUMASTERS/MASTERARGS/TSERVERA...
Java 客户端(kudu-client 1.4.0)连接 Apache Kudu 多 Master(示例端口 7051/7151/7251),完成建表、插入、查询、更新、删除全流程,并对 KuduSession 刷新模式(AUTOFLUS...
Kudu 的完整可运行示例,基于 Flink 1.11.1(Scala 2.12)/Java 11 与 kudu-client 1.17.0(2025 实测)。
讲解 Kafka 0.10 引入的 Producer 拦截器机制,包括 onSend 和 onAcknowledgement 两个拦截点的作用、拦截器链的执行顺序与错误隔离,以及自定义拦截器的完整实现。
详解 Kafka Consumer Group 的消费模型、分区分配策略、心跳保活机制,以及 session.timeout.ms、heartbeat.interval.ms、max.poll.interval.ms 等关键参数的调优实践。
Apache Druid 的实时 OLAP 实战:适合以时间为主键的事件明细、亚秒级聚合与高并发自助分析。Druid 采用列式存储与时间分区,核心组件包括 Broker、Historical、MiddleManager...
Apache Druid 30.0.0,面向单机快速验证与工程落地,系统梳理 Druid 架构(Coordinator、Historical、Broker、Ingestion、Deep Storage),给出下载解压、环境变量...
Apache Druid 30.0.0 的可落地方案,覆盖 MySQL 元数据存储(mysql-connector-java 8.0.19)、HDFS 深度存储与 HDFS 上的 indexing-logs...
三台节点上落地 Apache Druid 30.0.0 的低内存集群实践:给出 Broker/Historical/Router 的 JVM 参数与 runtime.properties 关键项,解释堆外内存与处理缓冲区的配比关系。
深入解析 Kafka 的 Topic、Partition、Consumer Group 核心机制,涵盖自定义反序列化、偏移量管理与重平衡优化配置,帮助构建高吞吐消息消费系统。
全面介绍 Kafka Topic 的运维管理方法,包括 kafka-topics.sh 命令操作、副本均衡分配算法原理,以及 KafkaAdminClient Java API 的核心用法。
本文介绍Apache Druid实时接入Kafka的完整实战,以网络流量JSON为例,通过Druid控制台的Streaming/Kafka向导完成数据接入、解析时间列、设定维度与指标,并使用SQL验证结果。
Apache Druid 在 0.13.0~当前(2025)的组件职责与部署要点:Coordinator 负责历史节点 Segment 的均衡/复制与生命周期管理;Overlord 调度摄入任务到 MiddleManager/Peon;
Apache Druid 的数据存储与高性能查询路径:从 DataSource/Chunk/Segment 的分层,到列式存储、Roll-up 预聚合、Bitmap 索引、mmap 文件映射、查询多级缓存的协同;
Scala Kafka Producer 将订单/点击数据写入 Kafka Topic(示例 topic: druid2),在 Druid 中通过 Kafka Indexing Service 进行连续摄取。
深入剖析 Kafka 副本机制的工作原理,包括 ISR 同步节点集合的维护逻辑、Leader 选举流程,以及 unclean 选举在一致性与可用性之间的权衡。
系统讲解 Kafka 如何通过幂等生产者和事务机制实现精确一次(Exactly-Once)语义,覆盖 PID/序列号原理、跨分区事务配置与端到端 EOS 实现方案。
深入分析 Kafka 的日志存储架构,包括 LogSegment 分段设计、稀疏偏移量索引与时间戳索引的工作原理、消息查找流程,以及日志保留与清理策略配置。
深入剖析 Kafka 实现高吞吐的三大 I/O 技术:sendfile 零拷贝、mmap 内存映射与页缓存顺序写入,揭秘每秒百万级消息处理背后的内核级优化。
Apache Kylin 的背景、演进与工程实践,聚焦 MOLAP 方案在海量数据分析中的落地路径。核心关键词:Apache Kylin、MOLAP、Cube、Cuboid、Hive、Kafka、HBase、Spark、Flink、JDBC...
本文详细记录了在 Hadoop 2.9.2、Hive 2.3.9、HBase 1.3.1、Spark 2.4.5(without-hadoop,Scala 2.12)与三节点 ZooKeeper/YARN 环境下部署 Apache Kyli...
OLAP 示例:用 Python 生成维度与事实数据,经 Hive(wzk_kylin)装载后,在 Kylin 侧设计 Cube(维度/度量/Cuboid),并给出分组聚合 SQL 的验证结果。
Apache Kylin(3.x/4.x)Cube 的搭建与优化:从 DataSource → Model → Cube 的完整流程,覆盖维度建模、度量设计、Cuboid 预计算、Aggregation Group 剪枝、增量构建与查询命中。
系统梳理大数据处理引擎从 MapReduce 到 Spark 再到 Flink 的演进脉络,解析 Spark 内存计算模型、统一生态与核心组件,帮助快速建立 Spark 全局认知。
手把手搭建 Apache Spark 分布式计算环境,涵盖下载解压、环境变量配置、slaves/spark-env.sh 核心配置文件调整,以及三节点集群分发启动的完整流程。
Apache Kylin 4.0 的 Cube 建模与查询加速方法:围绕事实表与维度表完成星型建模,设计维度与度量,利用 Aggregation Group、层级维度、联合维度、必要维度等策略减少 Cuboid 组合,降低构建与存储开销;
以 Hive 分区表的日期字段作为 Partition Date Column,将 Cube 拆分为多个 Segment,按区间增量构建,避免对历史数据的重复计算;并对比全量构建与增量构建在查询路径上的差异。
Apache Kylin Segment合并实战教程,涵盖手动MERGE Job流程、连续Segment要求、Auto Merge多级阈值策略、Retention Threshold清理逻辑、删除流程(Disable→Delete)及JDB...
Cuboid 剪枝优化:当维度较多时,Cuboid 数量指数级增长,导致构建时间长与存储膨胀。工程化做法:通过 CubeStatsReader 命令核查已物化 Cuboid 的行数/体积与 Shrink 比...
覆盖 Aggregation Group(聚合组)、Mandatory Dimension(强制维度)、Hierarchy(层级维度)、Joint(联合维度) 的使用取舍,并结合 CubeStatsReader 的精度/稀疏度读数与 Row...
Kafka→Kylin 的实时 OLAP 链路,面向 2025 年常见业务(电商交易、用户行为、IoT 监控)提供分钟级聚合查询。
全面解析 Spark 核心数据抽象 RDD 的五大关键特征(分区、计算函数、依赖关系、分区器、优先位置),以及惰性求值、容错机制和窄/宽依赖的核心原理。
详解 Spark RDD 的三种创建方式(parallelize、textFile、从已有 RDD 转换),以及 map、filter、flatMap、groupBy、sortBy 等常用 Transformation 算子的使用与惰性求值...
文章介绍 Elasticsearch 8.x、Logstash 8.x、Kibana 8.x 的核心能力与常见实践,覆盖集中式日志系统的采集、传输、索引、分片/副本、查询 DSL、聚合与 ILM 生命周期管理等关键环节。
Elasticsearch是一个分布式全文搜索引擎,支持单节点模式(Single-Node Model)和集群模式(Cluster Model)部署,一般来说,小公司的业务场景往往使用Single-Node Mode部署即可。
Elasticsearch(ES 7.x/8.x)最小示例:创建索引、插入文档、按 ID 查询、更新与 _search 搜索流程,配合返回样例与截图,帮助读者在 3–10 分钟内完成「索引/文档 CRUD」跑通。
Elasticsearch 7.3.0 三节点集群部署实战教程,涵盖目录创建与权限设置、系统参数配置(vm.maxmapcount、limits.conf)、JVM内存调整、elasticsearch.yml集群配置、分发与启动流程...
介绍 Elasticsearch-Head 插件与 Kibana 7.3.0 的安装与连通性要点,涵盖 Chrome 扩展快速接入、ES 集群健康与分片可视化、REST API 调试、Kibana Dashboard/Discover 使用...
Elasticsearch 索引创建、存在性判断(单/多/全量)、打开/关闭/删除与健康度排查,以及 IK 分词器的安装、ikmaxword / ik_smart 分析与远程扩展词典/停用词的 Nginx 托管方案。
本文详细介绍 Elasticsearch 7.x/8.x mapping 配置与文档 CRUD 操作,包括索引/字段映射创建、映射属性(type、index、store、analyzer)、文档创建、查询、全量/局部更新...
深入讲解 Elasticsearch 7.3 中查询 DSL 核心用法,重点拆解 match、matchphrase、querystring、multi_match 等全文检索语句在真实业务中的差异和坑位。
深入解析 Spark 集群核心组件 Driver、Cluster Manager、Executor 的职责,对比 Standalone、YARN、Kubernetes 部署模式,并介绍静态与动态资源分配策略。
本文演示 Elasticsearch term-level queries 包括 term、terms、range、exists、prefix、regexp、fuzzy、ids 查询,以及 bool 复合查询。
本文介绍 Filter DSL 与 query 的区别:Filter DSL 不计算相关度评分,专门优化过滤场景的执行效率。涵盖 bool + filter + range 数值/日期范围过滤、基于 score 排序、单/多字段排序、分页...
覆盖指标聚合 Metrics Aggregations 与桶聚合 Bucket Aggregations 的完整实践,适用于 2025 年常见的 Elasticsearch 7.x / 8.x 版本。
elasticsearch-rest-high-level-client 实现索引和文档的增删改查,包括:通过 JSON 与 XContentBuilder 两种方式创建索引、配置分片与副本、删除索引、插入单条文档...
全面介绍 Spark RDD 的 Action 操作,涵盖数据收集、统计聚合、元素检索、存储写出等类别,并详解 Key-Value RDD 的 groupByKey、reduceByKey、join 等核心算子。
文章解析 Elasticsearch 倒排索引原理,对比正向索引与倒排索引差异,涵盖分词、Term Dictionary、Posting List 等核心概念。详述文档写入的分片路由规则(hash(routing) % numberofpr...
文章详细解析 Elasticsearch 近实时搜索的核心机制,包括 Lucene Segment、Memory Buffer、File System Cache、Refresh、Flush 及 Translog(事务日志)等核心组件...
解释 refresh 导致小段增多、段合并如何在后台把小段并入大段并清理已删除文档,为什么段过多会带来句柄/内存/CPU与查询开销。工程侧给出 merge 相关配置点:merge scheduler 线程数...
文章详细解析 Elasticsearch 倒排索引的核心数据结构:Terms Dictionary(词典)、Posting List(倒排表)、FST(有限状态转换器)与 SkipList(跳表)在查询阶段如何加速 Term 定位与 pos...
Elasticsearch 并发冲突(库存扣减的读-改-写)拆解写覆盖成因,并用 ES 的乐观并发控制(OCC)给出工程解法:通过 ifseqno 与 ifprimaryterm 让更新具备条件写入,当文档已被其他请求修改时返回 versi...
索引时生成的磁盘列式数据结构,面向排序、聚合与脚本取值优化;多数支持类型默认开启,text 字段默认不提供 doc values,需通过 keyword 子字段或启用 fielddata 才能聚合/排序。
Logstash 7 入门教程,涵盖 stdin/file 采集、sincedb 机制与 start_position 生效条件,附带错误速查表
Logstash Input 插件对比,拆解 JDBC Input 与 Syslog 采集链路的技术差异、适用场景与关键配置。JDBC 通过 JDBC 驱动连接 MySQL 等关系型数据库,结合 sqllastvalue...
使用 Spark + Scala 和 Spark + Java 两种方式实现分布式 WordCount,详解 RDD 五步处理流程、Maven 项目配置和 spark-submit 提交命令。
通过两个经典案例深入 Spark RDD 编程:蒙特卡洛方法分布式估算 π 值,以及两种思路实现社交网络共同好友分析,对比笛卡尔积与数据变换的性能差异。
文章讲解在 Logstash 7.3.0 环境下,用 grok 从控制台 stdin 与 Nginx 访问日志中提取结构化字段(IP、time_local、method、request、status 等)...
Logstash Output 插件(Logstash 7.3.0)实战教程,涵盖 stdout(rubydebug)用于联调验数、file 输出用于本地归档、Elasticsearch 输出用于检索分析。
通过 Nginx 配置 logformat json 输出结构化 accesslog(包含 @timestamp、requesttime、status、requesturi、ua 等字段),在多节点(h121/h122/h123)启动 Zo...
Filebeat 采集 Nginx access.log 写入 Kafka,Logstash 从 Kafka 消费后按字段(app/type)条件解析 message 内嵌 JSON,叠加 GeoIP(GeoLite2-City.mmdb)...
Master / Data / Coordinating 三类节点职责与生产落地的角色隔离策略,给出容量规划的推算抓手(JVM Heap 30–32GB 上限、冷热数据与磁盘/IO 约束、水平扩容路径),并将分片(shard)与副本(rep...
DataX(DataX 3.0)是阿里体系广泛使用并开源的离线数据同步/数据集成工具,面向企业级异构数据源同步(MySQL、Oracle、SQLServer、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等)。
实现一个完整的生产级词频统计流水线:小写转换、标点去除、停用词过滤、词频计数,最终通过 foreachPartition 高效写入 MySQL,对比逐条插入与分区批量写入的性能差异。
深入讲解 Spark Driver-Executor 进程通信、Java/Kryo 序列化选型、闭包序列化问题排查,以及 RDD 依赖、Stage 划分和持久化存储级别。
Apache Tez(示例版本 Tez 0.9.x)如何在 Hadoop2/YARN 上作为执行引擎替代 MapReduce,为 Hive on Tez、Pig on Tez 提供 DAG(有向无环图)执行模型。
2025年仍最常用的机器学习概念框架:监督学习(分类/回归)、无监督学习(聚类/降维)、半监督学习与强化学习。重点解释输入空间、输出空间与特征空间的关系,以及过拟合/欠拟合在训练集与交叉验证集上的典型表现与治理思路
KNN/K近邻算法(K-Nearest Neighbors, KNN):从欧氏距离计算、距离排序、TopK投票到函数封装,给出可复现的Python代码与matplotlib可视化。重点解释K值对模型偏差/方差的影响...
从统一 API(fit/predict/transform/score)到 kneighbors 找出测试样本的 K 个最近邻,再到用学习曲线/参数曲线选择 nneighbors(K 值)。重点说明:
训练/测试随机划分会导致评估指标不稳定,并给出工程化解法:K折交叉验证(K-Fold Cross Validation)。通过sklearn的crossvalscore在训练集内部做多次划分,输出每折得分数组...
scikit-learn机器学习训练流程中,KNN这类距离模型对"量纲不统一"极其敏感:欧式距离的平方和会让数值尺度更大的特征主导距离,从而显著拖垮分类效果。Min-Max归一化通过"减最小值再除以极差"把特征压缩到[0,1]...
详解 Spark Checkpoint 的执行流程、与 persist/cache 的核心区别、分区器策略,以及在迭代算法和长依赖链场景下的最佳使用实践。
详解 Spark 广播变量的工作原理、配置参数与最佳实践,以及利用广播实现 MapSideJoin 替代 shuffle join 的性能优化方案。
决策树模型(Decision Tree)面向分类任务系统梳理:树的三类节点(根节点/内部节点/叶节点)、从根到叶的递归分裂流程,以及"分而治之"的规则生成机制。理论层面给出决策树的条件概率分布视角:
决策树信息增益(Information Gain)展开,先用信息熵(Entropy)解释不纯度,再说明为何在节点切分时要最大化父节点熵与子节点熵之差:在 Ent(D) 固定的前提下,最大化 Gain 等价于最小化分支不纯度的加权平均...
"分裂"到"剪枝"的完整链路,解释其为何通常采用贪心算法形成"局部最优",以及不同算法在分裂准则上的差异:ID3/C4.5偏信息增益(Information Gain),但信息增益会偏向取值多的特征,因此引入信息增益比/增益率(Gain R...
DecisionTreeClassifier 在 loadwine 数据集完成从数据拆分、建模评估到决策树可视化的完整流程(2026版)。重点解释 criterion 的选择:gini(基尼不纯度)、entropy 与 logloss(信息...
场景:DecisionTreeClassifier 过拟合、树太大/内存飙升、样本不均衡需要可控剪枝与权重 结论:优先用 maxdepth + minsamplesleaf 做基线
混淆矩阵(TP、FP、FN、TN)建立统一口径,解释 Accuracy、Precision(查准率)、Recall(查全率/敏感度)、F1 Measure 的业务含义:Precision 对应"误伤多数类"的成本...
全面讲解 Spark Standalone 集群的四大核心组件、应用提交流程、SparkContext 内部架构,以及 Shuffle 演进历史和 RDD 优化策略。
系统介绍 SparkSQL 的演进历史、核心抽象 DataFrame/Dataset、Catalyst 优化器原理,以及与 Hive/HDFS 多数据源集成的实战用法。
线性回归(Linear Regression)的核心链路:用矩阵形式统一表示预测函数 y=Xw,将参数向量 w 作为唯一未知量;以损失函数刻画拟合误差,重点解释 SSE(残差平方和/误差平方和)作为回归任务的典型优化目标
pandas DataFrame 与 NumPy 矩阵乘法手写多元线性回归(线性回归实现)。核心思路是将特征矩阵 X(包含一列全 1 作为截距)与标签 y 组成正规方程,通过 w=(X^TX)^{-1}X^Ty 直接求解参数权重。
scikit-learn 进行线性回归时,如何应对最小二乘法中的多重共线性问题。多重共线性可能导致回归模型的不稳定性,表现为参数估计值的不稳定、方差增大以及解的不唯一。文章详细介绍了多重共线性的成因及其影响,并提出了几种改进的回归方法...
岭回归(Ridge Regression)和Lasso回归(Lasso)是两种常用的线性回归正则化方法,用于解决机器学习中的过拟合和多重共线性问题。岭回归通过L2正则化项压缩回归系数,但不将其归零,适合特征间高度相关的场景;
逻辑回归(Logistic Regression, LR)是机器学习中重要的分类算法,广泛应用于二元分类任务,如情感分析、疾病预测、垃圾邮件检测等场景。尽管其名字中有"回归"二字,实则是一种分类方法。
但随着C的逐渐变大,正则化的强度越来越小,模型在训练集和测试集上表现呈现了上升趋势,直到C=0.8左右,训练集上的表现依然走高,但模型在未知数据集上的表现就开始下跌,这时候就是出现了过拟合。正则化参数,LogisticRegression默...
深入对比 Spark 三大数据抽象 RDD、DataFrame、Dataset 的特性与适用场景,介绍 SparkSession 统一入口,并演示各抽象之间的相互转换方法。
系统梳理 SparkSQL 的 Transformation 和 Action 算子,涵盖 select、filter、join、groupBy、union 等操作,并通过实际测试用例演示其用法与性能优化技巧。
Scikit-Learn 中使用逻辑回归时,maxiter 控制最大迭代次数,影响模型的收敛速度和精度。如果训练未收敛,可能会收到警告提示需要增大 maxiter。不过,过高的迭代次数可能导致过拟合,影响测试集的表现。
聚类算法 K-Means,梳理监督学习与无监督学习的差异(是否需要标签 Y),并给出聚类在客户细分、RFM 分析、图像/语音/视频压缩、异常检测等工程场景的落地路径。重点解释 K-Means 的关键概念「簇与质心」...
Python K-Means 聚类实现:基于 NumPy 广播计算欧式距离平方和(distEclud),在特征范围内均匀采样初始化质心(randCent),并使用 Pandas 统一容器 result_set 记录「最短距离/当前簇/上次簇...
K-Means 聚类给出一套「可验证、可复现、可排错」的工程化流程:先用二维 testSet 数据集做算法验证(pd.read_table 读取、追加虚拟标签列、plt.scatter 可视化、绘制质心与聚类结果)...
场景:用 sklearn 做 KMeans 聚类,想解释中心点/损失,并用指标选 K。
KMeans 选 nclusters 方法:在候选簇数(如 2/4/6/8)上计算 silhouettescore 与 silhouette_samples,结合轮廓系数分布图与聚类散点图判断最优。
介绍 SparkSQL 的核心使用方式,包括 DataFrame API、SQL 查询语法、lateral view explode 等高级功能,以及如何通过 enableHiveSupport 集成 Hive 元数据与读写 Hive 表。
深入解析 SparkSQL 的五种 Join 执行策略(BHJ、SHJ、SMJ、Cartesian、BNLJ)的选择条件与适用场景,以及 Catalyst 优化器从 SQL 解析到代码生成的完整处理流程。
场景:单机部署 Prometheus 2.53.2,拉取多台主机 node_exporter 指标并验证 Targets 状态
常见的 Prometheus 监控落地场景:在 Rocky Linux(兼容 CentOS/RHEL)上安装 node_exporter-1.8.2 暴露主机指标,并接入 Prometheus(示例版本 2.53.2)完成 targets...
Grafana 是一个功能强大的开源可视化与监控平台,由 Torkel Ödegaard 于 2014 年创建。它采用 Go 语言编写,前端基于 React 框架构建,支持跨平台部署。
1988年,IBM公司在面对企业信息系统日益分散、数据孤岛问题日益严重的背景下,首次提出了"信息仓库"(Information Warehouse)的概念。
(Offline Data Warehouse)在企业落地时最常见的两类问题:数据集市扩张导致的数据孤岛、以及数仓分层边界不清导致的重复计算与口径混乱,给出可执行的工程化拆解。
离线数仓建模实践,系统梳理事实表(Fact Table)与维度表(Dimension Table)的核心概念、事实类型(可加/半可加/不可加)与粒度(交易/快照/累积快照)对查询性能与可分析性的决定性影响。
介绍 Spark 实时计算的两代框架:DStream 微批处理模型的架构与局限,以及 Structured Streaming 如何通过无界表模型和 Catalyst 优化解决 EventTime 处理、API 一致性等问题。
全面讲解 Spark Streaming 三种基础数据源的原理与实现:文件流监控目录、Socket TCP 接入、RDD 队列模拟测试,附完整 Scala 代码示例。
业务拆分(前台/运营后台/商家后台)→数据来源(启动/点击日志、下单/支付/退款等交易数据)→数据埋点(页面统计/操作统计、需求—采集—上报—清洗加工—入仓—分析—展示)→指标体系(准确/可解释/结构性、指标=基础指标+修饰词+时间段...
离线数据仓库(离线数仓)总体架构设计与落地方法:框架选型对比 Apache 社区版与第三方发行版(CDH/HDP/FusionInsight),梳理数据采集(DataX/Flume/Sqoop/Logstash/Kafka)...
离线数仓建设,给出"日志采集→落地→分层→指标"的工程化路径。会员以设备唯一标识(Android IMEI / iOS OpenUDID)为口径,输出新增会员、活跃会员(DAU/WAU/MAU)与留存(次日/7日/30日)等核心指标。
Flume 1.9.0 在离线数仓(日志采集→HDFS)场景的工程化优化:从 Source→Channel→Sink 全链路给出 batchSize、Memory/File Channel 的 capacity/transactionCap...
系统梳理 Spark Streaming DStream 的无状态转换算子与 transform 高级操作,通过黑名单过滤案例演示 leftOuterJoin、SQL、广播变量三种实现方式。
深入讲解 Spark Streaming 有状态计算:窗口操作参数配置、reduceByKeyAndWindow 热词统计、updateStateByKey 全量状态维护与 mapWithState 增量优化,附完整 Scala 代码。
使用 TAILDIR Source 监控多个目录(start/event),通过 filegroups headers 为不同来源打上 logtype;再配合自定义 Interceptor 从日志正文解析业务时间...
Apache Flume 的离线日志采集链路,给出一套工程化落地:使用 Taildir Source 监控多个目录与多文件正则匹配,为不同目录日志注入 logtype 等 Header
离线数仓(2026)中 ODS(Operational Data Store)层的工程落地,给出 Hive 外部表(external table)+ 按天分区(partition dt)承接原始日志的最小闭环:
详解 Spark Streaming 接入 Kafka 的两种模式:基于 Receiver 的高级 API 与 Direct 直连模式的架构差异、偏移量管理、Exactly-Once 语义保证及完整 Scala 代码实现。
Hive 离线数仓中的 JSON 数据处理,覆盖三类最常见需求:1)从 JSON 串中取数组字段并在 SQL 中 explode 展开;2)从 JSON 串中同时解析普通字段(json_tuple)与数组字段(自定义 UDF);
本文介绍使用 Hive 构建离线数仓,统计活跃会员(日活/周活/月活)的完整流程,从 DWD 明细层到 DWS 汇总层再到 ADS 应用层,涵盖建表脚本、数据装载脚本及常见错误速查。
离线数仓按天计算“新增会员”,并为后续“会员留存”提供口径一致的数据底座。用“全量会员表(含首日dt)”做去重锚点,DWS 产新增明细,ADS 产新增计数。
系统介绍 Apache Flink 的起源、核心特性与架构组件:JobManager、TaskManager、Dispatcher 的职责划分,流批一体处理模型,以及与 Spark Streaming 的对比选型。
离线数仓中“会员留存“的实现方法:DWS 层通过 dwsmemberretention_day 表关联新增与启动明细表计算 1/2/3 日留存;ADS 层构建留存数表与留存率表。包含完整 Hive 建表、装载脚本及常见错误排查。
离线数仓 ADS 层 Hive 表导出到 MySQL 的落地链路,给出 DataX 典型方案:hdfsreader → mysqlwriter。重点覆盖 DataX JSON 配置与常见报错修复。
演示一套从日志采集到会员指标分析的完整链路,涵盖 Flume Taildir 监听、HDFS 分区存储、Hive 外部表加载、ODS/DWD/DWS/ADS 分层处理,支撑活跃会员、新增会员、会员留存等指标计算。
Apache Flink 本地安装、Standalone 集群部署、与 YARN 集成三种部署模式完整教程,包含环境配置、参数调优与常见问题解决。
Flink 在 YARN 集群上的三种部署模式详解:Session、Application、Per-Job 模式,Hadoop 依赖配置、YARN 资源申请与任务提交流程。
基于 Hadoop + Hive + HDFS + DataX + MySQL 的离线数仓实战,涵盖会员指标测试(活跃/新增/留存)、HDFS 导出、DataX 同步至 MySQL,以及广告业务 ODS/DWD/ADS 全流程建模。
Hive 离线数仓广告业务实战,结合 Flume + Hive + UDF + Parquet 的典型链路,演示如何将原始事件日志从 ODS 层映射到 Hive 外部表,再在 DWD 层完成事件明细拆解、广告行为过滤与广告宽表构建。
基于 Hive 离线数仓实现广告曝光、点击、购买的分时统计,完成点击率 CTR、购买率 CVR 与广告效果 Top100 排名分析。涵盖 ADS 层建表、分区装载、CASE WHEN 行转列、窗口函数排名等典型写法。
Flink DataStream API 入门指南,程序执行流程、环境获取、数据源定义、算子链与执行模式详解,通过 WordCount 案例演示流处理程序开发。
Flink 时间窗口全面解析:滚动窗口、滑动窗口、会话窗口、Watermark 原理与生成策略、迟到数据处理机制。
使用 Flume Agent 采集 event 日志并写入 HDFS,再通过 Hive 脚本按日期完成 ODS 层与 DWD 层的数据装载。内容覆盖 Flume Agent 的 Source、Channel、Sink 基本结构,日志文件上传...
使用 DataX 将 Hive ADS 层数据导出到 MySQL 的完整方案。涵盖 ADS 装载、DataX 配置、MySQL 建表、Shell 脚本参数化执行,以及常见报错定位与修复清单。
围绕订单数、商品数、支付金额三大指标,按销售区域与商品类型(三级品类)拆解分析维度。
Flink 有状态计算详解:Keyed State、Operator State、Checkpoint 配置、Savepoint 备份与恢复、生产环境实践。
DataX(mysqlreader + hdfswriter)将 MySQL 电商业务库按"全量/增量"两类策略抽取到 HDFS,并在 Hive 中以 dt=yyyy-mm-dd 进行分区管理。
场景:电商核心交易三张表做每日增量,落地离线数仓 ODS,按 dt 分区 结论:DataX 用 MySQLReader + HDFSWriter,按时间字段抽取,HDFS 目录分区化,Hive 只做分区挂载 产出:
通过 DataX 将 MySQL 数据同步到 HDFS 指定目录,再在 Hive 中创建 ODS 外部表,统一使用 dt 字符串分区。允许在7天内快速查询原始交易记录体现ods层什么核心特点。
缓慢变化维(SCD,Slowly Changing Dimensions)展开,系统梳理 SCD Type 0、1、2、3、4、6 的核心差异,并结合 Hive 离线数仓场景说明快照表与拉链表的适用边界。
离线数仓建模方式,实战讲解 Hive 拉链表实现方案,覆盖初始化装载、每日增量更新、历史版本闭链、Shell 调度脚本以及回滚恢复逻辑。
Hive 拉链表实战教程,讲解订单历史状态增量刷新、ODS 到 DWD 分层,结合 2020 年订单状态变更案例,说明拉链表如何处理"记录会变化、又需要保留历史"的业务对象。
文章首先确定事实表与维表的区分:绿色表示事实表,灰色表示维表。维表处理方式根据数据量选择不同策略——小表采用每日快照表(如产品分类表、商家店铺表、商家地域组织表、支付方式表),大表则使用拉链表(如产品信息表)。
订单表是周期性事实表,为保留订单状态可使用拉链表处理;订单产品表为普通事实表。订单状态包括:-3用户拒收、-2未付款订单、-1用户取消、0等待发货、1配送中、2用户确认收货。订单从创建到完成有时间限制,业务上不允许订单一个月后状态仍变化。
Apache Airflow 是一个开源的任务调度和工作流管理平台,主要用于开发、调试和监控数据管道。Airflow 通过使用 Python 脚本定义任务和依赖关系,帮助用户以编程的方式构建动态的、可视化的工作流。
Flink 广播状态详解:BroadcastState 原理、动态规则更新、状态分区与内存管理,通过案例演示广播流与非广播流 join。
Flink State Backend 详解:HashMapStateBackend、EmbeddedRocksDBStateBackend 选型,内存配置与性能调优。
Apache Airflow 是一个开源的任务调度和工作流管理工具,用于编排复杂的数据处理任务。最初由 Airbnb 开发,于 2016 年捐赠给 Apache 软件基金会。Airflow 的主要特点是以代码方式定义任务及其依赖关系...
Linux系统是由cron(crond)系统服务来控制的,Linux系统上原本那就有非常多的计划性工作,因此这个系统服务是默认启动的。Linux系统也提供了Linux用户控制计划任务的命令:crontab命令。作用:
Apache Airflow 是一个开源的任务调度和工作流管理工具,用于编排复杂的数据处理任务。最初由 Airbnb 开发,于 2016 年捐赠给 Apache 软件基金会。Airflow 的主要特点是以代码方式定义任务及其依赖关系...
Flink 内存模型详解:Network Buffer Pool、Task Heap、State Backend 内存分配,GC 调优与反压处理。
Flink 并行度详解:算子链(Operator Chaining)、Slot 分配策略、并行度设置与资源调度原理。
Apache Airflow 是一个开源的任务调度和工作流管理工具,用于编排复杂的数据处理任务。最初由 Airbnb 开发,于 2016 年捐赠给 Apache 软件基金会。Airflow 的主要特点是以代码方式定义任务及其依赖关系...
Atlas是Hadoop平台元数据框架:Atlas是一组可扩展的核心基础治理服务,使企业能够有效,高效的满足Hadoop中合规性要求,并能与整个企业数据生态系统集成Apache Atlas为组织提供了开放的元数据管理和治理功能...
Flink CEP 复杂事件处理详解:模式序列、个体模式、组合模式、匹配跳过策略与实战案例。
元数据(MetaData)狭义的解释是用来描述数据的数据。广义来看,除了业务逻辑直接读写处理的那些业务数据,所有其他用来维持整个系统运转所需的信息、数据都可以叫做元数据,如数据库中表的Schema信息,任务的血缘关系,用户和脚本...
Apache Griffin是一个开源的大数据质量解决方案,它支持批处理和流处理两种模式的数据质量检测方式。可以从不同的维度(如离线任务执行完毕后检查源端和目标端的数据质量是否一致,源表数据值空值等)度量数据资产,从而提升数据的准确度...
Livy 是一个用于 Apache Spark 的 REST 接口,旨在简化 Spark 作业的提交和管理,特别是在大数据处理场景中。它的主要功能是通过 REST API 与 Spark 集群进行交互,允许用户提交作业...
Apache Griffin 是一个开源的数据质量管理框架,旨在帮助组织在大数据环境中监控和提高数据质量。用户可以自定义规则,使用 JSON 或其他标准格式来描述数据质量的各项要求,支持批处理和流处理数据。
数据实时处理能力成为企业提升竞争力的一大因素,最初阶段主要采用来一个需求,编写一个实时任务的方式来处理实时数据,随着需求的增多,计算任务也相对增多,并且不同任务的开发人员不同,导致开发风格差异化,该阶段的实时数据处理缺乏统一的规划...
实时数仓是一种数据仓库系统,区别于传统批处理数仓,它强调低延迟、高吞吐和高可用性。实时数仓能够处理流式数据或近实时的数据流,使企业能够及时监控关键指标并做出决策。
阿里巴巴 B2B 公司,由于业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅、消费的业务。
Canal 是一款用于 MySQL 数据库 binlog 增量订阅和消费的开源工具。它主要用于解决数据同步和分布式事务问题,支持将数据库变更同步到其他系统中,比如消息队列、大数据平台等。
MySQL 的二进制日志(Binary Log,简称 binlog)是 MySQL 数据库中的一种日志文件类型,它记录了对数据库执行的所有更改操作(不包括 SELECT 和 SHOW 等查询操作)。它主要用于数据恢复、复制和审计等场景。
Canal 是阿里巴巴开源的数据同步工具,用于 MySQL 数据库的增量日志解析和同步。它模拟 MySQL 从库协议,获取主库的 binlog 日志,从而实现实时数据捕获和传输,常用于数据迁移、缓存更新和搜索引擎同步等场景。
本文介绍了阿里巴巴开源的Canal工具,它通过解析MySQL的binlog实现数据库变更的数据捕获(CDC)。文章展示了如何将Canal与Kafka集成,实现数据库变更到消息队列的实时推送,包含INSERT、UPDATE...
在互联网企业中,常见的 ODS 数据有业务日志数据(Log)和业务 DB 数据两类,对于业务 DB 数据来说,从 MySQL 等关系型数据库的业务数据进行采集,然后导入到 Hive 中,是进行数据仓库生产的重要环节。
线性回归是一种利用回归方程对自变量和因变量之间关系进行建模的分析方法。本文介绍线性回归的应用场景、损失函数和梯度下降优化算法。
在 Kafka 中写入维度表(DIM)通常涉及将实时或批处理数据从 Kafka 主题读取,并根据数据流中的信息更新维度表。维度表存储与业务数据相关的维度信息,如客户、产品、地理位置等,用于支持 OLAP 查询。
DW(Data WareHouse 数据仓库层),包含 DWD、DWS、DIM 层数据加工而成,主要完成数据架构与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。
逻辑回归是机器学习中的分类模型——一种高效的二分类算法,广泛应用于广告点击率预测、垃圾邮件识别等场景。本文介绍 Sigmoid 函数、损失函数和梯度下降优化。
线性回归(Linear Regression)是利用回归方程(函数)对一个或多个自变量和因变量之间关系进行建模的一种分析方式。特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归。
本文介绍了逻辑回归的基本原理、应用场景和在Spark MLlib中的实现。逻辑回归是一种高效二分类算法,广泛应用于广告点击率、垃圾邮件识别等领域。文章详细讲解了逻辑回归的输入函数、Sigmoid激活函数和损失计算方法...
本文介绍了决策树的基本概念、分类原则和分类原理。决策树是一种非线性有监督分类模型,通过树形结构进行属性判断和分类。分类时应选择能将数据分类更纯粹的节点作为根节点,减少树高和训练次数。分类原理涉及熵、条件熵、信息增益等概念:
本文系统介绍了决策树的预剪枝与后剪枝原理,对比了ID3、C4.5和CART三种主流算法的核心差异,包括分裂标准、属性支持类型和剪枝方法。重点阐述了信息增益、信息增益率与基尼系数的计算原理,详细讲解了从树生成到剪枝的完整流程...
本文系统介绍了机器学习中的集成学习方法。主要内容包括:1)集成学习的基本定义与分类,通过结合多个模型提升预测性能;2)Bagging方法原理及应用,重点讲解随机森林的实现过程;3)Boosting方法的核心思想...
本文介绍了机器学习中Bagging与Boosting的区别,以及GBDT(梯度提升决策树)算法原理。主要内容包括:1)Bagging和Boosting在数据采样、投票方式、学习顺序和应用场景上的差异;
本文介绍了梯度提升树(GBDT)算法的原理与应用。首先通过通俗例子说明提升树的基本思想,然后详细解析算法流程,包括负梯度计算、回归树拟合和模型更新等关键步骤。文章比较了GBDT与传统提升树的区别,并阐述了GBDT在回归和分类问题中的优势。
GBDT 案例实战,手把手带你完成从残差计算到回归树构建与迭代训练的全过程,结合图示详细解析,最终预测精准输出!