用途:在 Keboola Connection 中编写、配置和优化 DuckDB 转换(组件 ID keboola.duckdb-transformation),并对小到中型数据集进行快速 SQL 分析,作为 Snowflake 的低成本替代。状态为 BETA,可能发生破坏性变更。
主要能力:进程内 OLAP 列式存储,无需外部数据库服务;基于块的编排——块间顺序执行,块内无依赖的脚本并行执行,经 SQLGlot 自动分析依赖并构建 DAG;动态后端可选 XSmall 至 Large(内存 8GB 至 113.6GB),Free 与 Pay As You Go 方案不可用;支持 Parquet 输入(超过 1GB 建议启用,设置 image_tag 为 parquet);可推断输入表数据类型;提供同步调试动作 syntax_check、lineage_visualization、execution_plan_visualization、expected_input_tables;DuckDB 版本可选最新或固定(如 1.5.2)。
使用方式:以 blocks/codes/script 的 JSON 结构配置,storage 中定义输入输出表映射;脚本内每条 SQL 语句必须以分号结尾;标识符默认转小写,列名始终区分大小写,建议统一小写或加引号;非类型化 Storage 数据可用 TRY_CAST(NULLIF("列", '') AS 类型) 安全转换。大型数据集可设置 memory_limit、temp_directory、threads 等 PRAGMA。
迁移与限制:SQLGlot 可自动转换约 85% 的 Snowflake SQL,迁移组件 keboola.app-transformation-migration 为实验性,约 25% 的迁移需人工调整,涉及大小写、专有函数、数据类型与别名等问题,上线前须测试。DuckDB 不适合事务型负载,避免频繁 INSERT/UPDATE。
其他具体定价、配额与完整效果数据暂未提供。