用途:本技能面向 Power BI Direct Lake 语义模型,Direct Lake 是一种直接从 OneLake 的 Delta 表读取数据的存储模式,无需导入即可获得较快查询性能。适用于将模型迁移到 Direct Lake、排查并修复回退(fallback)问题、同步湖仓与模型架构、处理护栏限制以及预热缓存。
主要能力:核心函数包括 check_fallback_reason(诊断模型为何回退到 DirectQuery)、get_direct_lake_lakehouse、get_direct_lake_source、generate_direct_lake_semantic_model(创建新模型)。架构管理提供 direct_lake_schema_compare 与 direct_lake_schema_sync。护栏相关有 get_direct_lake_guardrails、get_sku_size、get_directlake_guardrails_for_sku。缓存管理提供 warm_direct_lake_cache_isresident 与 warm_direct_lake_cache_perspective。连接更新提供 update_direct_lake_model_connection 及旧版 update_direct_lake_model_lakehouse_connection。迁移工具位于 src/sempy_labs/migration/,含 migrate_calctables_to_lakehouse 与 migrate_model_objects_to_semantic_model。
使用方式:通过 from sempy_labs.directlake import ... 调用函数,传入 dataset、workspace 等参数;架构同步可设置 add_columns、remove_columns;缓存预热可按 IsResident 或 perspective 方式。
适用场景与限制:常见回退原因包括 ColumnNotInPartition、ParquetTypeMismatch、UnsupportedFilter、Guardrail。护栏限制涉及每表最大行数、每表最大大小、每表最大列数、模型最大大小。建议部署前检查护栏、湖仓变更后同步架构、定期刷新后预热缓存、定期监控回退原因;避免忽略回退警告、超出护栏限制、未同步即修改湖仓架构、使用不支持的 DAX 模式。具体 SKU 数值与平台细节暂未提供。