- 博客(64)
- 收藏
- 关注
原创 提示工程 × 上下文管理:2025-2026 完整技术全景
2025 年:提示工程的基本功(CoT、Few-Shot、XML、角色、链式)依然有效,但真正的竞争力开始转向上下文管理——理解 LLM 的注意力预算限制,在 Agent 场景下精心设计信息的流动方式。2026 年:Prompt 本身越来越"廉价"(模型理解自然语言的能力趋于完美),高质量的上下文管理能力越来越"昂贵"。谁能为 AI 提供最干净、最相关、最有逻辑的上下文,谁就赢得了竞争优势。好的 Agent = 好的上下文设计 + 精简的工具集 + 合理的记忆架构。
2026-04-06 18:37:22
345
原创 构建 CLI 的 Python 框架:Typer技术介绍
Typer 是一个基于 Python 类型注解构建 CLI 的框架,底层封装了 Click。函数签名即命令定义,不需要额外的装饰器参数来声明类型,Python 的类型注解本身就是文档。
2026-04-06 15:54:01
311
原创 GitHub AI 主题文章精读整理
整理时间:2026年3月 | 共收录 18 篇文章作者:GitHub 官方团队(文章均无署名作者)结构:解决什么问题 → 是什么 → 怎么做。
2026-03-28 18:39:41
420
原创 Agent Harness: 一套让 AI Agent 能够驾驭和控制 GUI 软件的适配层
按照软件的逻辑领域来划分,通常分五组:项目管理(new/open/save/close)、核心操作(软件的主要功能)、导入导出(文件读写和格式转换)、配置(设置和偏好)、会话状态管理(undo/redo/status)。这样分组的好处是结构清晰,用户和 Agent 一看命令名就知道它属于哪个领域。
2026-03-28 16:00:23
411
原创 什么是数据仓库?
这段话强调了数据仓库在企业数据管理中的桥梁作用:既保证了数据分析的高质量和高效率,又保护了业务系统的稳定运行。通过标准化、集成、清洗和建模,数据仓库成为企业决策的核心数据资产,同时为各类分析型应用提供一致、可靠的数据支持。
2026-03-07 19:15:49
306
原创 RoaringBitmap与传统Bitmap
RoaringBitmap与传统Bitmap对比分析摘要: RoaringBitmap采用分桶+多容器混合结构,相比传统Bitmap的连续位数组,在空间效率上具有显著优势。实测显示,在稀疏数据场景下RoaringBitmap压缩率可达256,000:1,连续数据场景下压缩率2,000:1。性能方面,RoaringBitmap在集合操作、基数计算和范围查询等场景表现突出,但在简单点查询和批量操作上略逊于传统Bitmap。适用场景上,传统Bitmap适合固定范围密集数据,而RoaringBitmap更适用于稀疏
2026-01-17 19:48:49
620
原创 Bitmap(位图)深度解析:从原理到实战
其中 (b_i = 1) 表示值 (i) 存在,(b_i = 0) 表示不存在。( \frac{10亿}{8} = 1.25亿 ) 个字节 →。:Bitmap是“用bit位当开关”,适合存在性查询和集合运算!创建1.25亿个“开关盒”(每个盒子里有8个开关,初始全关):把10亿个开关中,实际存在的用户对应的开关拨到“开”。用“拨动工具”去拨开关(OR操作,1=开,0=不变)。生成一个“拨动工具”,只有目标开关位置是1。
2026-01-17 18:46:52
808
原创 二进制编码、base64
简单场景:用''.join()直接转换大数组:用位操作或NumPy优化性能非0/1数据:先映射到0/1(阈值法、奇偶法等)存储/传输:保存为二进制文件或Base64编码如果需要处理更复杂的映射规则(如变长编码、哈夫曼编码),可以进一步扩展!二进制:计算机的“母语”,直接对应硬件,但人类难读。十六进制:二进制的“翻译”,人类友好,适合编程和调试。转换关系4位一组(如→0xD71位变4位(如0x3A→关键记忆点:十六进制是二进制的“压缩表示”,两者本质相同,只是表达方式不同!🚀。
2026-01-17 16:41:52
681
原创 FLINK故障重启策略
Flink重启策略决定了作业失败时的恢复机制。主要策略包括:固定延迟策略(按固定间隔重启,适用于临时故障)、故障率策略(基于时间窗口统计失败次数,适合周期性故障)、不重启策略(用于批处理)和回退策略(使用集群默认配置)。关键配置要点包括:检查点必须启用才能使用重启策略,作业级配置优先于集群默认,生产环境建议根据作业类型设置合理的尝试次数和间隔时间,并监控相关指标。最佳实践包括检查点协同配置、故障率监控和启用指数退避机制避免重启风暴。
2025-12-26 19:46:27
1008
1
原创 Flink最佳实践 - Watermark原理及实践问题解析
本文详细讲解了Flink中Watermark的概念和应用。Watermark是一个标识时间进度的机制,表示事件时间小于等于该时间的数据都已到达,确保窗口计算的准确性。文章分析了Watermark的生成与传播机制,以及在并行流中可能遇到的问题:包括非Source算子生成Watermark的弊端、空闲Source导致的延迟和状态膨胀、以及Event Time倾斜问题。
2025-06-22 14:54:18
971
原创 【hive】函数集锦:窗口函数、列转行、日期函数
lateral view ourer explode 炸裂的数组中如果存在null,则这一条数据保留,炸裂的字段值填充为null;a、若不指定 ORDER BY,默认使用分区内所有行 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.如果不指定 ORDER BY,则不对各分区做排序,通常用于那些顺序无关的窗口函数,例如 SUM()如果不指定 PARTITION BY,则不对数据进行分区,换句话说,所有数据看作同一个分区;
2025-06-08 18:24:24
841
原创 SPARK调优:AQE特性(含脑图总结)
SparkAQE是spark 3.0引入的一大重要功能,今天我们来聊一聊AQE的实现原理。了解一个功能,先来了解其面临的问题。当涉及到大型集群中的复杂查询性能时,处理的并行度和正确Join策略选择已被证明是影响性能的关键因素。
2024-10-02 18:26:26
3103
1
原创 互联网广告效果优化
原来的意思是指在投放广告时所需要或所耗费的材料,如广告纸,传单,横幅,气球等等,只要是能体现出广告的所有材料就叫做广告物料。互联网广告的物料是广告内展现的内容,基本的物料形式包括文字、图片、富媒体、视频等。一个广告可以上传多个物料,而同一个物料也可以被多个不同的广告使用。(内容来自百度百科)定向需要加价么?参考文档:http://www.jlepsdi.com/post/9801.html什么是默认竞价与定向组设置竞价?如何设置?程序化交易广告是以。
2024-09-22 14:02:31
1964
原创 Flink架构
如图,DataFlow程序可以DataFlow图(DAG)表示,由于流和转换算子组成。每个DataFlow都是以数据源Source开始数据汇Sink结束。程序中的转换和DataFlow的算子常常是一对一的关系。数据并行和任务并行数据并行:相同算子在不同的数据分区中运行任务并行:不同的算子任务并行计算数据交换策略,参考Flink数据交换策略Partitioner转发策略(forward Strategy),类似于Spark中的map广播策略(broadcast Strategy)
2024-09-22 13:24:03
1391
原创 互联网广告产品基础知识
首先我们可以通过增加广告资源库存和提高广告占有率两个方面,来提升广告曝光量,再进一步通过优化广告物料和通过用户标签体系实现精准定向广告两个方面,来提升广告点击率,最后我们可以通过优化着陆页、应用A/B test技术和oCPM系列技术,来提升广告转化率。在整个效果优化过程中,我们要坚持先简单再复杂,先人工运营再系统优化的原则,先处理明面上的问题,再处理深层问题,由浅入深,层层递进,规划好产品迭代的节奏。
2024-09-21 15:36:01
2534
转载 MySql2Hive:美团DB数据同步到数据仓库的架构与实践
当用户提交某个DB的Binlog采集请求时,CanalManager首先会调用DBA平台的相关接口,获取这一DB所在MySQL实例的相关信息,目的是从中选出最适合Binlog采集的机器。Delta表中的数据是当天的最新数据,当一条数据在一天内发生多次变更时,Delta表中只存储最后一次变更后的数据。因此,选择结果中表B对应的记录为NULL的数据,即是应当被保留的数据。Binlog是MySQL的二进制日志,记录了MySQL中发生的所有数据变更,MySQL集群自身的主从同步就是基于Binlog做的。
2024-09-16 16:37:36
792
原创 互联网广告产品:行业蓝图篇
在这个时代,系统了解广告产品的变现模式是十分必要的,同时也是快速提升个人竞争力的方式之一。而我们接下来要做的就是深入学习互联网广告及产品,并且高效利用这一模式进行变现。
2024-08-17 23:13:46
1773
原创 FLINK-运行架构笔记脑图分享
虽然现在大厂的开发工具都非常高效、只需要进行参数配置、Flink-sql写业务逻辑,但是在资源配置逻辑优化上不可避免需要了解底层的组件配置。面试时可能也会被问到FLINK是如何进行资源分配、作业运行的等。以下是在学习时记录的思维导图,希望对你能有所帮助!
2024-07-20 16:03:02
483
原创 FLINK-checkpoint失败原因及处理方式
在 Flink 或其他分布式数据处理系统中,Checkpoint 失败可能由多种原因引起。
2024-07-20 11:32:17
1727
1
原创 HIVE:使用get_json_object解析json对象遇到的坑
或[‘’]:表示子节点。MaxCompute支持用这两种字符解析JSON对象,当JSON的Key本身包含.时,可以用[‘’]来替代。获取key1的对象为嵌套对象,可以使用.或[]获取,但是如果key包含.,则需要使用[]获取。[]:[number]表示数组下标,从0开始。
2024-07-20 11:23:32
1383
原创 MYSQL-如何正确使用索引
每次查找数据时把磁盘IO次数控制在一个很小的数量级,最好是常数数量级。那么我们就想到如果一个高度可控的多路搜索树是否能满足需求呢?就这样,b+树应运而生(B+树是通过二叉查找树,再由平衡二叉树,B树演化而来)。
2024-06-02 15:56:48
869
原创 FLINK-窗口算子基础知识(脑图总结)
在流处理中,我们往往需要面对的是连续不断、无休无止的无界流,不可能等到所有所有数据都到齐了才开始处理。所以聚合计算其实只能针对当前已有的数据——之后再有数据到来,就需要继续叠加、再次输出结果。这样似乎很“实时”,但现实中大量数据一般会同时到来,需要并行处理,这样频繁地更新结果就会给系统带来很大负担了。更加高效的做法是,把无界流进行切分,每一段数据分别进行聚合,结果只输出一次。这就相当于将无界流的聚合转化为了有界数据集的聚合,这就是所谓的“窗口”(Window)聚合操作。
2024-06-02 14:57:21
1181
原创 FLINK-datastream API 转换操作
如果所有预定义分区策略都不合适,可以使用partitionCustom()方法自定义分区策略。
2024-05-19 19:27:38
985
原创 【数据仓库工具箱】DW/BI系统的核心元素和基本要求
DW/BI 环境划分为4个不同的,各具特色的组成部分。记录的是操作型系统,用于获取业务事务。源数据关注的是处理性能和可用性。源系统一般不维护历史信息,而这部分责任可以依靠好的数据仓库来实现。是处于操作型系统和数据展现区之间的部分,1. 获取是将数据从操纵型系统中导入数据仓库中,2. 数据转换,elt系统通过数据清洗/合并来自不同数据源的数据/复制数据等,增强数据价值,3.数据加载,实际构建和加载数据到展现区域的目标维度模型中。elt 过程的主要任务是识别维度和事实,因此其包含的子系统非常重要。
2024-04-21 17:28:18
977
原创 HIVE:谓词下推
谓词下推 Predicate Pushdown(PPD),简而言之,就是在不影响结果的情况下,尽量将过滤条件提前执行。谓词下推后,过滤条件在map端执行,减少了map端的输出,降低了数据在集群上传输的量,节约了集群的资源,也提升了任务的性能。因为unix_timestamp是不确定函数,在编译的时候无法得知,所以,整个表达式不会被pushed,即ds='2019-10-09’也不会被提前过滤。比如以下选择,left join中左表s1为保留行表,所以on条件(join过滤条件)不能下推到s1中。
2024-04-21 16:26:47
966
原创 Spark:性能调优实战
一个Executor中同时可以执行的task数目(在Executor内存不变的情况下,executor-cores数越大,平均下来一个task可以使用的内存就越少)Executor Java进程的堆内存大小,即Executor Java进程的Xmx值Executor Java进程的off-heap内存,包括JVM overhead,sort、shuffle以及Netty的堆外内存等是否开启动态资源分配,强烈建议开启。开启动态资源分配后,同一时刻,最多可申请的executor个数。
2024-04-14 17:42:53
997
原创 Spark:shuffle key中包含rand问题
对于需要根据rand进行shuffle来实现将数据进行随机打散的情况,可以把shuffle规则从rand改成与数据的确定列绑定,也就是deterministic_function(deterministic_col1,出现问题的原因是:作业在进行的shuffle的时候,同一行数据,shuffle的结果不是幂等的。’, coalesce(store_id, 0), ‘_’,coalesce(delv_center_id, 0))),其中concat的字段是表的唯一粒度;1、用一个整数的id对20取模。
2024-04-14 17:16:52
823
原创 分布式快照算法 Chandy-Lamport
Chandy-Lamport 算法通过抽象分布式系统模型描述了一种简单直接但是非常有效的分布式快照算法。讨论 Chandy-Lamport 算法一定要注意算法的几个前提:网络可靠、消息有序。Spark 的 Structured Streaming 虽然在官方博客中披露使用的 Chandy-Lamport 算法来做 Failover 处理,但是并没有更细节的披露。相比之下 Flink 在 2015 发布了一篇论文更适合在工程上实现,而且已经应用在了 Flink 项目中。
2024-04-14 16:58:40
1543
原创 Hive:正则regexp_extract函数
语法: regexp_extract(string subject, string pattern, int index)说明: 将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。第二参数: 需要匹配的正则表达式。2 是显示第二个括号里面的字段…第一参数: 要处理的字段。0是显示与之匹配的整个字符串。1 是显示第一个括号里面的。返回值: string。
2024-04-14 15:31:27
677
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅