- 博客(123)
- 资源 (2)
- 收藏
- 关注
原创 SparkStreaming经典 demo
在短视频流行的当下,推荐引擎扮演着极其重要的角色,而要想达到最佳的推荐效果,推荐引擎必须依赖用户的实时反馈。所谓实时反馈,其实就是我们习以为常的点赞、评论、转发等互动行为,不过,这里需要突出的,是一个“实时性”、或者说“及时性”。毕竟,在选择越来越多的今天,用户的兴趣与偏好,也在随着时间而迁移、变化,捕捉用户最近一段时间的兴趣爱好更加重要。
2024-04-21 22:57:37 602
原创 sparkStreaming Batch mode和Continuous mode
当数据像水流一样,源源不断地流进 Structured Streaming 引擎的时候,引擎并不会自动地依次消费并处理这些数据,它需要一种叫做 Trigger 的机制,来触发数据在引擎中的计算。换句话说,Trigger 机制,决定了引擎在什么时候、以怎样的方式和频率去处理接收到的数据流。
2024-04-18 23:36:19 424
原创 SparkUI 讲解
在日常的开发工作中,我们总会遇到 Spark 应用运行失败、或是执行效率未达预期的情况。对于这类问题,想找到根本原因(Root Cause),我们往往需要依赖 Spark UI 来获取最直接、最直观的线索。
2024-04-17 22:51:50 1014
原创 Spark AQE(Adaptive Query Execution)机制
AQE 的全称是 Adaptive Query Execution,翻译过来是“自适应查询执行”。它包含了 3 个动态优化特性,分别是 Join 策略调整、自动分区合并和自动倾斜处理。
2024-04-13 21:21:47 664
原创 sparkSql join 关联机制
Join 有 3 种实现机制,分别是 NLJ(Nested Loop Join)、SMJ(Sort Merge Join)和 HJ(Hash Join)
2024-04-13 21:19:08 797
原创 理解 SparkSQL DataFrame 对 RDD 的优化
Spark 只知道开发者要做 map、filter,但并不知道开发者打算怎么做 map 和 filter。换句话说,对于 Spark 来说,辅助函数 f 是透明的。在 RDD 的开发框架下,Spark Core 只知道开发者要“做什么”,而不知道“怎么做”。这让 Spark Core 两眼一抹黑,除了把函数 f 以闭包的形式打发到 Executors 以外,实在是没有什么额外的优化空间。而这,就是 RDD 之殇。
2024-04-06 22:43:56 789
原创 拜访斯巴克(Spark)建筑集团——理解 spark 的调度系统、shuffle 管理、内存管理、存储系统
话说很久以前,美国有一家名扬海内外的建筑集团,名为“斯巴克(Spark)”。这家建筑集团规模庞大,设有一个总公司(Driver),和多个分公司(Executors)。斯巴克公司的主要服务对象是建筑设计师(开发者),建筑设计师负责提供设计图纸(用户代码、计算图),而斯巴克公司的主营业务是将图纸落地、建造起一栋栋高楼大厦。
2024-04-04 09:58:43 1019 1
原创 理解RDD基本属性与Spark进程模型
从薯片的加工流程看 RDD 的 4 大属性:partitions:数据分片 partitioner:分片切割规则 dependencies:RDD 依赖 compute:转换函数
2024-04-02 09:30:00 930
原创 Redis 的底层数据结构和IO模型
Redis 的底层数据结构一共有 6 种,分别是简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。
2024-03-16 20:50:23 936
原创 理解 MySQL join 语句的执行过程
不论是在原表上加索引,还是用有索引的临时表,我们的思路都是让 join 语句能够用上被驱动表上的索引,来触发 BKA 算法,提升查询性能。
2024-03-15 23:40:49 1580
原创 MySQL order by 语句执行流程
MySQL order by 可以使用 全字段排序 和 rowid 排序,order by 的执行成本比较高
2024-03-14 23:42:22 790
原创 MySQL删除数据 文件大小不变的原因以及处理空洞问题
如果要收缩一个表,只是 delete 掉表里面不用的数据的话,表文件的大小是不会变的,需要通过 alter table 命令重建表,才能达到表文件变小的目的。Online DDL 的方式可以考虑在业务低峰期使用
2024-03-14 22:50:46 356
原创 一条 sql 语句可能导致的表锁和行锁以及死锁检测
锁MDL当对一个表做增删改查操作的时候,加 MDL 读锁;当要对表做结构变更操作的时候,加 MDL 写锁行锁两阶段锁协议死锁和死锁检测。
2024-03-12 22:54:43 1142 2
原创 MySQL 事务的原理以及长事务的预防和处置
事务在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。在“可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。在“读提交”隔离级别下,这个视图是在每个 SQL 语句开始执行的时候创建的。
2024-03-11 22:35:21 533
原创 一条 SQL 更新语句如何执行的
Server 层存储引擎层总流程查询语句连接器查询缓存分析器优化器执行器更新语句redo log(节省的是随机写磁盘的 IO 消耗(转成顺序写))InnoDB 引擎物理日志循环写binlogserver层逻辑日志追加写入两阶段提交为了知道,mysql 中一条 sql 语句是如何执行的,先讲一下 mysql 的宏观分层以及如何执行查询语句.MySQL 宏观上分为Server 层和。
2024-03-11 22:04:11 1058
hadoop 2.9.1 native包 含snappy
2018-05-21
rubyPHP高性能的PHP框架
2016-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人