Hydro-Minim / Archives
归档
按时间折叠所有文章,像翻阅一组轻薄的创作年表。Year
2025
1 个月份07 月
2 篇
Hive 架构与优化详解:从 SQL 到 MapReduce 的数据仓库
Hive是基于Hadoop的离线批处理工具,让分析师能用SQL处理PB级数据,与MySQL等OLTP数据库的本质区别在于:Hive不支持实时修改和索引,依赖全表扫描,适合“先存后算”的离线分析。其核心架构包括HiveServer2、Thrift Server、Driver(解析/编译/优化SQL)、MetaStore(元数据管理)及底层HDFS与YARN。表类型上,内部表删除时数据与元数据一并删除,外部表仅删元数据,生产环境推荐外部表。分区按维度切分数据避免全表扫描,分桶按Hash拆分提升Join与抽样效率。存储格式建议列式ORC或Parquet以提升查询性能,压缩可选择Snappy(快速)或Bzip2(高压缩率)。优化关键在于减少计算量:开启谓词下推、向量化查询、本地模式,并通过拆分倾斜Key解决数据倾斜。掌握这些可让非分布式专家高效处理海量数据。
Hive
Kafka 核心原理详解:架构、存储、可靠性与消费机制
Kafka是分布式流处理核心组件,融合点对点与发布订阅模式,通过消费者组实现组内独占分区、组间独立消费。架构由Broker集群、Topic、Partition、Replica及Zookeeper组成,Partition拆分为Segment文件对(.log+.index),利用稀疏索引与二分查找实现百万级消息毫秒级检索。可靠性依赖ACK机制(0/1/-1)和ISR副本同步,HW与LEO水位线确保数据一致性和安全Leader选举。生产者通过PID+SeqNumber实现幂等性,事务保证跨分区原子性。消费者采用拉取模式,支持Range、RoundRobin、Sticky分区分配策略,Offset存储于内部Topic。与Flume组合形成采集-缓冲-计算链路,能有效解决消息丢失、重复消费和性能瓶颈。
Kafka