自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 【自记】python xxx.py 和 python -m xxx 两种执行方式的使用场景和解决的问题

2025-10-30 09:03:13 646

原创 【自记】MaxCompute 中参数的各个级别,每个级别的设置方式和影响范围

Table 级 > Session 级 > Project 级 > System 级例:Project 级设置(新建表默认 ACID),但建表时显式写(Table 级),最终表为非 ACID 表。

2025-10-15 10:00:17 973

原创 【自记】MaxCompute 源表与外表、Hologres 源表与外表的系统对比和场景化解析

MaxCompute 源表(MaxCompute Internal Table)本质:MaxCompute 本地存储的表,数据物理存储在 MaxCompute 的分布式文件系统(类似 HDFS)中,完全归属 MaxCompute 管理。核心特性离线批处理:专为海量数据(PB 级)的批量计算设计,支持(全量覆盖)、分区管理(如按日期分区)。ACID 有限:仅支持部分事务特性(如分区级原子性),不支持行级更新 / 删除。存储格式固定:默认存储为 ORC/Parquet 格式,压缩率高但不支持实时读写。

2025-10-13 19:34:27 718

原创 【自记】Hologres 外部表(MaxCompute 侧)使用限制深度解析

Hologres 外部表的限制本质是MaxCompute(离线批处理)与 Hologres(实时 OLAP)的引擎特性不兼容数据模型差异(分区、类型体系);操作语义差异(覆盖写入、更新删除);接口功能边界(外部表仅支持基础读写,未覆盖复杂操作)。

2025-10-13 19:22:25 811

原创 【自记】MaxCompute 中,账号身份、RAM 用户/RAM 角色、MaxCompute项目角色的分属层级权限体系

维度阿里云 RAM 用户 / RAM 角色MaxCompute 项目角色所属层级阿里云全局账号体系(控制是否能访问 MaxCompute)单个 MaxCompute 项目内的权限体系(控制项目内操作)核心作用身份标识(RAM 用户)或权限集合(RAM 角色)定义项目内的操作范围(如开发、管理、只读)授权方式由主账号通过阿里云 RAM 控制台授予(全局权限)由项目 Owner/Admin 通过 MaxCompute 控制台授予(项目内权限)关联逻辑。

2025-10-13 16:01:40 503

原创 【自记】DataWorks 的资源组、Quota 与业务配置的完整关联说明

关系类型核心逻辑资源组与任务任务必须绑定资源组才能运行,资源组为任务提供隔离的物理资源资源组与 Quota资源组是 Quota 的载体,一个资源组可关联多个 Quota(多维度限制),Quota 限制资源组的资源使用上限业务与资源组业务通过标签 / 项目 / 任务类型关联资源组,确保其下任务统一使用指定资源业务与 Quota业务不直接绑定 Quota,而是通过关联的资源组间接受其 Quota 限制(即 “业务→资源组→Quota”)

2025-10-13 15:43:49 417

原创 【自记】MaxCompute 补数据与生产环境数据初始化完整说明

核心结论:在 MaxCompute 中,补数据(含生产环境数据初始化)无需为每个日期创建多个任务,通过 DataWorks 的 “日期范围配置”(连续 / 非连续 / 周期性),单次任务即可覆盖多日期,系统自动生成实例并执行;关键逻辑:数据初始化是 “全量日期的补数据”,两者共享 “范围配置 + 自动实例化” 机制,核心是利用工具减少重复操作,保障效率;生产实践:需重点关注 “资源隔离”“数据一致性”“异常处理”,通过低优先级、峰期执行、依赖控制等方式,确保补数据不影响生产环境稳定,同时保障数据完整性。

2025-10-12 23:21:52 856

原创 【自记】DataWorks 的权限体系中,主账号、工作空间、项目、RAM用户、RAM角色、空间角色之间的联系

无严格层级包含:各对象间是 “归属 - 关联 - 授权” 的逻辑关系,而非物理层级包含;核心桥梁是角色:RAM 用户 / RAM 角色需通过绑定 DataWorks 角色(全局 / 空间级),并加入空间,才能获得资源操作权限;空间是核心载体:所有开发运维操作均在空间内进行,空间关联计算项目、承载角色授权,是资源与权限的枢纽;主账号是权限根源:所有资源归属于主账号,主账号拥有最高管控权,可分配全局 / 空间级权限给 RAM 用户 / RAM 角色。

2025-10-12 18:55:35 642

原创 【自记】MaxCompute中的冒烟测试

DataWorks 的冒烟测试是一种轻量级的验证机制,用于在任务提交或发布前快速校验核心功能的可用性。它通过执行部分数据或简化流程,确保任务逻辑、参数配置和依赖关系基本正确,避免在生产环境中因低级错误导致全量运行失败。

2025-10-05 09:08:43 935

原创 【自记】数据开发中分区表、事务表、分区事务表:特性相似处与区别

本文从数据开发视角,系统梳理分区表、事务表、分区事务表的概念、相似处与核心差异,并给出可直接复用的示例(含 MaxCompute/ODPS SQL 与 Hive ACID 事务表两类),帮助在不同引擎与业务场景下作出合理选型。

2025-10-03 15:05:11 781

原创 【自记】数据开发中的“表生命周期”说明

3.如果你希望“最后一个分区回收后顺带删掉这张表”,可以开启删表元数据开关:项目级 setproject odps.table.lifecycle.deletemeta.on.expiration=true,或表级tblproperties('lifecycle.deletemeta' = 'true')一、这张“表生命周期”图说的是:为不同分层设置“保留天数”。(此条为对策略的解释)2.分区表:到期按分区回收,删除的是过期的分区数据,表本身默认保留(即“清除数据分区”,不销毁整表)。

2025-09-26 19:39:11 352

原创 【自记】PyCharm 更换国内源教程(阿里云&清华)

PyCharm 默认使用国外的 PyPI 源,在国内下载 Python 包时可能会遇到速度慢、卡顿甚至失败的问题。将源更换为国内阿里云镜像,可以显著提升下载速度和稳定性。本教程适用于 PyCharm 中文版,提供两种更换方法。通过以上两种方法中的任意一种,都可以将 PyCharm 的软件源更换为阿里云国内源,从而解决下载 Python 包速度慢的问题。推荐优先使用方法一(界面设置),如需对所有项目生效,可选择方法二(配置文件)。

2025-09-22 15:29:16 2228 1

原创 【自记】数据开发中幂等性实践指南(通用版)

幂等(Idempotency):同一任务用相同的输入被执行一次或多次,目标表中的结果保持一致。表现形式:不会新增重复行;若同主键已有数据,再次执行只会“覆盖式保持一致”,而不是“累加出更多行”。边界条件:幂等是建立在“同样的输入”之上;若上游源表在两次执行之间发生变更,则结果变化属于“源数据变动”,非幂等问题。

2025-09-15 00:42:18 642

原创 【自记】SQL 中 SQL Hint 详细介绍与使用指南

SQL Hint(SQL 提示)是一种特殊的注释语法,用于向数据库查询优化器提供执行计划的建议或指令。它允许开发者在特定情况下干预查询优化器的决策,强制使用特定的执行策略来提升查询性能。提供精确的执行计划控制在特定场景下显著提升性能解决查询优化器的局限性不是万能解决方案需要深入理解数据特征定期评估和调整充分的性能测试优先优化 SQL 语句结构和索引设计在关键性能瓶颈处使用 Hint建立性能监控和评估机制保持对新版本数据库优化器改进的关注。

2025-09-15 00:14:01 1130

原创 【自记】Python 枚举 (Enum) 完全指南

Python 3.4+ 标准库提供 enum 模块,其中 Enum 类是所有枚举类型的基类。通过继承 Enum,我们可以定义自己的枚举类,每个枚举成员都是类的实例,具备 “名称(name)” 和 “值(value)” 两个核心属性。# 定义“支付方式”枚举WECHAT = 1 # 微信支付,值为1ALIPAY = 2 # 支付宝支付,值为2BANK_CARD = 3 # 银行卡支付,值为3基础枚举满足大部分场景,但通过重写方法,我们可以实现更灵活的需求。

2025-09-12 00:22:01 1659

原创 【自记】SQL 中 GROUPING 和 GROUPING SETS 语句的案例说明

括号里写多个 “维度组合”,一次查询得到所有组合的统计结果(代替多次GROUP BYUNION ALLGROUPING(列名):判断这一列是否在当前行的 “维度组合” 中。如果在(参与了分组),返回 0,显示实际值;如果不在(是汇总行),返回 1,用 'ALL' 标记,方便区分。我们用一个更贴近实际业务的例子来说明:假设你有一张「订单表」,需要统计不同维度的销量,同时保留一个固定的分组字段(比如「月份」),并穿插普通查询字段和GROUPING处理的字段,看看它们的区别。

2025-09-11 22:08:25 666

原创 【自记】Python requirements.txt 使用指南

是 Python 项目中用于记录项目依赖包及其版本信息的文本文件。它是 Python 生态系统中管理项目依赖的标准方式,类似于 Node.js 的或 Java 的pom.xml。提高开发效率:快速搭建开发环境确保环境一致性:避免"在我机器上能运行"的问题简化部署流程:一键安装所有依赖便于团队协作:统一的依赖管理标准支持版本控制:跟踪依赖变化历史。

2025-09-10 00:45:14 2129

原创 【自记】Python 线程&进程:多线程的参数&常用方法、守护线程、主子线程,多进程的参数&常用方法、父子进程,以及锁机制,最后通过案例逐一演示

类型定义与角色主线程程序启动时,操作系统(OS)自动创建的默认线程,是程序的 “总控制器”:1. 负责执行程序的入口代码(如块);2. 可手动创建其他子线程;MainThread(可通过查看)。非主线程由主线程或其他子线程通过手动创建的线程,用于 “并行” 执行耗时任务(如 IO 操作),避免阻塞主线程。Thread-1Thread-2...(可自定义)。类型定义与角色父进程启动后创建其他进程的 “初始进程”:1. 如运行时,OS 创建的进程就是父进程;2. 父进程可通过。

2025-09-04 01:12:07 944

原创 【自记】Python 中 简化装饰器使用的便捷写法语法糖(Syntactic Sugar)示例

这样就完整展示了从定义装饰器、装饰函数到最终调用的全过程,以及装饰器如何在原函数执行前后添加额外逻辑。

2025-09-02 23:29:57 222

原创 【自记】Python 中 nonlocal 和 global 的区别,以及闭包的作用和示例

闭包可以将一些数据(即外层函数的变量)与操作这些数据的函数绑定在一起,形成一个相对独立的单元,外界不能直接访问这些被 “隐藏” 的数据,只能通过闭包返回的函数来操作。闭包可以 “记住” 外层函数执行时的变量状态,方便在多次调用返回的函数时,基于之前的状态进行操作。闭包可以创建具有特定初始状态的函数,方便在不同场景下复用。函数创建不同税率的计算函数,这些函数都能复用内部计算逻辑,只是初始的税率不同。变量被隐藏在闭包内部,外界无法直接访问和修改,只能通过。函数来对其进行递增操作,实现了数据的封装。

2025-09-01 23:19:48 500

原创 【自记】 Python 中函数参数前加 *(单星号)的解包可迭代对象写法说明

在 Python 中,函数参数前加(单星号)是一种的写法,用于将可迭代对象(如元组、列表等)中的元素逐个传递给函数的参数。

2025-08-31 23:24:13 331 1

原创 【自记】MaxCompute 中 对于“数据量大、耗时久、非实时”任务的设置建议

后,作业会跳过 “查询加速模式”(如 MCQA 等实时查询优化),直接以 “普通模式” 执行。是 MaxCompute 中 “资源队列(Quota)” 的配置参数,是 MaxCompute 控制 “作业运行模式” 的参数,取值包括。后,任务会被调度到 “闲时资源池” 执行。(一种共享型、低价的计算资源池)。(尽量用查询加速)、(强制用查询加速)、(强制用普通模式)。

2025-08-30 13:50:49 431

原创 【自记】MaxCompute用于优化「数据倾斜」问题的会话级参数:odps.sql.skewjoin=true 和 odps.sql.groupby.skewindata = true

在大数据计算(如 MaxCompute/ODPS、Spark 等)中,和是两类典型的 “数据分布不均导致计算节点负载失衡” 的问题,二者的核心差异在于和。

2025-08-30 13:23:35 1014

原创 【自记】Python 中代码检查和格式化的两个重要工具:flake8 和 black 的配置使用

是一个 Python 代码静态分析工具,主要用于检查 Python 代码是否符合 PEP8 编码规范,同时也能检测出代码中可能存在的一些简单语法错误、未使用的变量、导入错误等问题。是一个 Python 代码格式化工具,它可以自动将 Python 代码格式化为符合 PEP8 规范的样式,无需开发者手动去调整代码的缩进、空格、换行等格式问题。会对代码进行重新排版,确保代码的风格统一,极大地提高了代码的可读性和美观性,同时也减少了开发者在代码格式调整上花费的时间。会输出不符合规范的代码行号、错误类型及简要说明。

2025-08-28 17:30:04 925

原创 【自记】Python 中,对象的比较运算符(>, ==, <=, >=)对应特定的魔法方法详解

self 代表当前对象,other 代表被比较的对象return 条件 # 自定义“self > other”的判断条件# 注意:需先判断other是否为当前类的实例,避免类型错误return False # 非同类对象直接返回不等return 条件 # 自定义“self == other”的判断条件return 条件 # 自定义“self <= other”的判断条件return 条件 # 自定义“self >= other”的判断条件调用时机:当使用==<=>=

2025-08-28 10:43:06 450

原创 【自记】Python 中的 __str__ 方法:让对象 “自我介绍”

_str__

2025-08-28 10:00:30 375

原创 【自记】Python 包与模块导入:从基础到规范的完整指南

掌握这些导入规则,能让你的代码结构更清晰、可维护性更强,尤其是在大型项目中,规范的导入方式能显著减少协作开发中的问题。:可能导致命名冲突,且无法清晰追溯成员来源。

2025-08-28 09:01:12 412

原创 【自记】Python 局部变量、全局变量及global的示例

在 Python 中,全局变量能否在函数里直接使用,取决于你是 “读取” 还是 “修改”它 —— 这是理解这个问题的关键!

2025-08-26 20:24:55 429

原创 【自记】Power BI 中 CALCULATETABLE 第二个及后续参数支持的两种类型说明

布尔表达式:简洁高效,适合简单条件;表表达式(如FILTER):灵活强大,适合复杂逻辑。

2025-08-21 13:38:07 351

原创 【自记】Power BI 中 VALUES 和 DISTINCT 在可接收的参数类型上的区别。

动态列支持VALUES可以处理表达式生成的临时列,DISTINCT仅支持模型中已定义的列。表参数处理VALUES(表)返回所有行(含重复),DISTINCT(表)返回去重后的唯一行。

2025-08-21 11:29:45 429

原创 【自记】Power BI 中 X后缀函数 、FILTER、EARLIER 的联合计算示例

每次的“同一货号且日期≤当前行日期”就是一个新表,然后SUMX会对每一个表做一次计算并将结果写道当前行。(即 “同一商品,按日期先后顺序累加的销量”)。这个 DAX 公式用于在销售表中创建一个。函数实现 “分组 + 时间范围筛选”,再用。求和,最终得到每行对应的累计值。

2025-08-21 10:41:39 852

原创 【自记】Power BI 中 ALL、ALLSELECTED、ALLEXCEPT、ALLNOBLANKROW 的区别说明

函数筛选处理核心差异数据范围差异一句话记忆点ALL清除所有筛选包含所有值(有效 + 无效)“全部都要,不管筛选和有效性”保留用户筛选,清除内部筛选包含筛选范围内的所有值“尊重用户选择,不管内部细节”ALLEXCEPT仅保留指定列的筛选,清除其他包含指定列筛选范围内的所有值“指定列留下,其他都清除”清除所有筛选仅包含维度表中的有效值“全部都要,但只保留有效数据(排除无效和空白)”

2025-08-20 23:54:29 1139

原创 【自记】Power BI 中 DISTINCT 和 ALLNOBLANKROW 的区别说明

DISTINCT用于返回一列或一个表中不重复的值(去重),会保留原始数据中的空白值(Blank),但去除完全重复的行或值。是ALL函数的变体,用于清除指定表或列上的所有筛选上下文,同时自动去除结果中的空白行(Blank Row)。它的核心作用是返回 “基础数据集中所有非空白的完整值集”,不受当前筛选器影响。DISTINCT是 “在当前筛选范围内去重,保留空白”,用于获取可见数据中的唯一值。是 “忽略所有筛选,返回基础数据中的非空白完整值集”,用于计算不受筛选影响的基准值(如总占比)。

2025-08-20 23:21:11 965

原创 【自记】Power BI 中 ALLNOBLANKROW的适用场景举例

当子表(事实表)存在父表(维度表)中没有的 “意外值” 或空白值时,清除筛选上下文,确保计算范围不受当前筛选影响;仅保留父表中存在的有效非空白值,排除因数据不匹配产生的无效数据;适用于计算 “有效维度的总基准值”“占比分析” 等场景,保证结果基于规范的维度数据。

2025-08-20 23:09:58 887

原创 【自记】Power BI 中FILTER、CALCULATE 和 CALCULATETABLE 三个函数详细说明

功能定位FILTER:生成符合行级条件的子表(基础筛选工具)。CALCULATE:修改上下文后计算标量值(用于度量值、计算列中的动态计算)。:修改上下文后返回表(用于生成动态子表)。核心差异FILTER是 “行迭代筛选”,CALCULATE是 “上下文筛选”。CALCULATE与逻辑一致,仅返回类型不同(值 vs 表)。使用场景简单行筛选:用FILTER或(后者更高效)。动态计算值:用CALCULATE(如度量值)。FILTER嵌套到CALCULATE中。

2025-08-20 17:16:19 1133

原创 【自记】Power BI 中 RELATED 和 RELATEDTABLE 详细说明

在 Power BI 中,RELATED和是用于处理表之间关系的核心函数,二者均依赖模型中已建立的关系(通常是基于主键 - 外键的关联)工作,但功能和使用场景有显著差异。以下从及四个方面详细说明:一、核心区别二、参数说明。

2025-08-20 14:08:29 840

原创 【自记】Power BI 中两个表之间的属性设置为不可用但实际存在可关联字段的情况原因分析

2025-08-19 19:46:31 530

原创 【自记】Hive SQL 的 WITH 子句用法详解

Hive SQL 中的WITH子句(也称为公共表表达式,Common Table Expressions, CTEs)允许你在查询中定义临时命名的结果集,这些结果集可以在后续查询中被引用。使用WITH子句可以提高查询的可读性和可维护性,尤其适用于复杂查询。

2025-07-08 00:27:33 1459

原创 【自记】FULL JOIN + COALESCE 完整示例解析

假设有两个表:需要统计 2021 年国庆期间(10 月 1 日至 10 月 7 日) 每个商品的总销量和总收藏量,即使某个商品只有销量或只有收藏。1.订单表(order_detail)2.收藏表(favor_info)四、分步执行结果1.子查询 t1(订单统计)2.子查询 t2(收藏统计)3.FULL JOIN 执行结果(未查询)COALESCE(t1.sku_id, t2.sku_id) 的作用是 返回第一个非 NULL 值:1.对于匹配的记录(P001):COALESCE('P001',

2025-07-01 15:28:53 401

原创 【自记】FULL JOIN涉及多个条件字段时,匹配过程拆解与表变化过程演示

产品 P001 在 2023 年 1 月和 2024 年 1 月均有销售,所有字段非 NULL(保留去重)。P001,3 月:2024 年 3 月有销售,2023 年无该月份数据,左表字段为 NULL。P001,2 月:2023 年有销售,2024 年无同产品同月份数据,右表字段为 NULL。P003,1 月:2023 年有产品 P003,2024 年无该产品,右表字段为 NULL。P002,1 月:2024 年有产品 P002,2023 年无该产品,左表字段为 NULL。month:销售月份(1-12)

2025-06-30 20:42:36 471

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除