v0.52.3-public
Changelog
[0.52.3-public] - 2025-06-14
🎉 New Features
-
OdpsOptions
Adds instance-level variables for Odps that can be accessed throughodps.options(). Two methods are currently available:setUseLegacyLogview= true/false/null
When set to true, uses logview; when false, uses jobinsight (logview v2); when null (default), intelligently determines if jobinsight is available in the current region and uses it if possible, otherwise falls back to logview.
⚠️ Compatibility Note: Previous versions defaulted to logview. After upgrading, calls to get logview URLs might return jobinsight addresses - verify this to avoid compatibility issues.setSkipCheckIfEpv2= true/false
Defaults to false. In version 0.51.7, interfaces like getTable gained support for EPv2 projects but this impacts interface performance. Setting this configuration to true skips EPv2 project checks to improve performance.
-
ArrayRecord
Added acaseSensitiveparameter in major Record initialization scenarios (constructor initialization of ArrayRecord, and Tunnel Session's newRecord method) to control whether field names are case-sensitive during setByName operations.
⚠️ Historical Compatibility Note: In version 0.51.8, we made Record case-insensitive (since MaxCompute engine is case-insensitive), but this introduced performance overhead. This version provides a way to restore the original behavior. -
SchemaMismatchRuntimeException
Added a new exception type that makes a best-effort attempt to inform users:- Data mismatches table schema during Tunnel writes
- Table schema might have changed - please recreate the Tunnel Session
This class extendsIllegalArgumentException.
更新日志
[0.52.3-public] - 2025-06-14
🎉 新增功能
-
OdpsOptions
新增 Odps 实例级别的一些变量,可以通过odps.options()获取。现有两个方法:setUseLegacyLogview= true/false/null
当为 true,使用 logview,当为 false,使用 jobinsight(logview v2),当为 null(默认值),智能判断当前 region 是否能够使用 jobinsight,如是使用 jobinsight,否则使用 logview。
⚠️ 兼容性提示:此前版本默认使用的是 logview,更新到此版本后,获取logview时可能获取到 jobinsight 地址,注意这点以避免兼容性问题。setSkipCheckIfEpv2= true/false
默认为 false,在 0.51.7 版本中,getTable 等接口增加了对 EPv2 项目的支持,但会影响接口性能。可以通过将此配置设置 true,会跳过Epv2的项目,提高性能。
-
ArrayRecord
在主要的初始化 Record 场景,比如通过构造函数初始化ArrayRecord,通过Tunnel Session newRecord 方法生成 Record,都新增了 caseSensitive 参数,用来标识使用该 Record setByName 时,是否区分大小写。
⚠️ 历史兼容说明:在 0.51.8 版本中,我们让 Record 不再区分大小写(因为 MaxCompute 引擎不区分大小写),但这会导致一些性能损失。因此在本版本,我们提供了方式来恢复原行为。 -
SchemaMismatchRuntimeException
新增了一种异常类型,来试图 try best 的告诉用户:在 Tunnel 写入过程中,传入的数据和表模式不匹配 可能是表模式发生了变化,请重建 Tunnel Session。该类是IllegalArgumentException的子类。