![](https://img-blog.csdnimg.cn/direct/5d74144123434f26a09f7a0f197c2dc3.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
打怪升级之大数据面试题
文章平均质量分 88
以实战为引导,来学习大数据领域存储和计算相关内容,冲冲冲
小吴同学GOGOGO
一只怀揣梦想的阿柴;五角场某高校同学、某大厂打工人;兴趣方向:OLAP基础架构、大数据存储和计算引擎;「计算机小屋」
展开
-
【redis】Redis中的字典类型:数据结构与使用方法
Redis中的字典类型的底层实现是哈希表(Hash Table)。Redis的字典使用哈希表作为底层实现,每个哈希表节点包含一个键值对。**字典的键是唯一的,而值可以是各种数据类型,包括字符串、数字、列表、集合等。**在内部,Redis使用哈希函数将键转化为一个唯一的索引,该索引指向哈希表中的一个节点。哈希表是一种高效的数据结构,用于存储键值对,并提供快速的查找和访问能力。Redis的字典类型使用哈希表作为其内部数据结构,以实现高性能的键值对存储和操作。原创 2024-01-08 21:09:01 · 1178 阅读 · 0 评论 -
Redis中字符串表示是如何设计与实现的?
Redis 的字符串表示为 sds ,而不是 C 字符串(以 \0 结尾的 char*)。对比 C 字符串,sds 有以下特性:可以高效地执行长度计算(strlen);可以高效地执行追加操作(append);– 二进制安全;sds 会为追加操作进行优化:加快追加操作的速度,并降低内存分配的次数,代价是多占 用了一些内存,而且这些内存不会被主动释放。原创 2024-01-08 20:50:07 · 1279 阅读 · 0 评论 -
【大数据实战】亿级数据量: 检索一个元素是否在一个集合中 [bloom过滤器及其应用]
布隆过滤器(Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。原创 2024-01-03 16:58:13 · 1092 阅读 · 0 评论 -
大数据实战:你还在只用json协议吗?试试高效的pb协议吧!
Protocol Buffers(简称PB)是一种轻量级、高效的数据序列化协议,由Google开发。它可以用于结构化数据的存储、通信和跨语言传输。PB协议的特点a. 简洁高效: PB使用二进制编码,相比于文本格式的数据序列化协议,PB在数据存储和传输方面更高效、更紧凑。b. 跨语言支持: PB定义数据结构的.proto文件可以通过编译器生成多种编程语言的代码,支持跨语言的数据传输和解析。c. 可扩展性: PB支持向前和向后兼容性,可以在不破坏现有功能的情况下扩展或修改数据结构。原创 2023-12-27 16:33:14 · 1199 阅读 · 0 评论 -
【大数据实战】聊聊clickhouse的性能问题-高性能分析
在OLAP的查询场景中,同样的数据量,ClickHouse表现出了比同类可比较产品更优的性能。可以看到CK在OLAP场景下的性能还是非常强的,那么是不是它在每个指标上表现都很好呢?事实上,并不是这样的,它也有自己的缺点,接下来我们可以大致来看看ClickHouse的性能指标。原创 2024-01-02 15:29:25 · 2178 阅读 · 0 评论 -
【hive】Hive中的大宽表及其底层详细技术点
通过选择合适的存储格式、数据分区、列式存储和压缩、列存储索引、数据分桶等底层技术点,可以有效地管理和处理大量列的数据表格。在Hive中,可以选择不同的存储格式来存储大宽表,如文本格式、序列文件格式、列式存储格式等。为了满足这种需求,Hive引入了大宽表(Large Wide Table)的概念,它是一种在Hive中管理和处理大量列的数据表格。c. 列式存储和压缩: 大宽表中的列式存储和压缩是提高查询性能的关键技术。列式存储将同一列的值存储在一起,使得查询只需要扫描相关的列,减少了不必要的IO开销。原创 2023-12-22 15:13:36 · 1250 阅读 · 0 评论