Snowflake
设置 Snowflake 目标连接器涉及在 Snowflake 控制台中设置 Snowflake 实体(仓库、数据库、模式、用户和角色),以及使用 Airbyte UI 配置 Snowflake 目标连接器。
本页描述了设置 Snowflake 目标连接器的分步过程。
先决条件
- 具有 ACCOUNTADMIN 角色的 Snowflake 帐户。如果您没有具有
ACCOUNTADMIN角色的帐户,请联系您的 Snowflake 管理员为您设置一个。
网络策略
默认情况下,Snowflake 允许用户从任何计算机或设备 IP 地址连接到该服务。安全管理员(即具有 SECURITYADMIN 角色的用户)或更高权限的用户可以创建网络策略,以允许或拒绝对单个 IP 地址或地址列表的访问。
如果您在使用 Airbyte Cloud 时遇到任何问题,请确保 IP 地址列表在允许列表中。
要确定帐户或特定用户上是否设置了网络策略,请执行 SHOW PARAMETERS 命令。
账户
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
用户
SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
要了解更多信息,请查看官方 Snowflake 文档
设置指南
步骤 1:在 Snowflake 中设置 Airbyte 特定的实体
要设置 Snowflake 目标连接器,您首先需要创建 Airbyte 特定的 Snowflake 实体(一个仓库、数据库、模式、用户和角色),这些实体具有 OWNERSHIP 权限,以便将数据写入 Snowflake、跟踪与 Airbyte 相关的成本以及以精细化的级别控制权限。
您可以使用以下脚本在新的 Snowflake 工作表 中创建这些实体
-
编辑以下脚本,以更改密码为更安全的密码,并根据需要更改其他资源的名称。
注意: 确保遵循 Snowflake 标识符要求,同时重命名资源。
-- set variables (these need to be uppercase)
set airbyte_role = 'AIRBYTE_ROLE';
set airbyte_username = 'AIRBYTE_USER';
set airbyte_warehouse = 'AIRBYTE_WAREHOUSE';
set airbyte_database = 'AIRBYTE_DATABASE';
set airbyte_schema = 'AIRBYTE_SCHEMA';
-- set user password
set airbyte_password = 'password';
begin;
-- create Airbyte role
use role securityadmin;
create role if not exists identifier($airbyte_role);
grant role identifier($airbyte_role) to role SYSADMIN;
-- create Airbyte user
create user if not exists identifier($airbyte_username)
password = $airbyte_password
default_role = $airbyte_role
default_warehouse = $airbyte_warehouse;
grant role identifier($airbyte_role) to user identifier($airbyte_username);
-- change role to sysadmin for warehouse / database steps
use role sysadmin;
-- create Airbyte warehouse
create warehouse if not exists identifier($airbyte_warehouse)
warehouse_size = xsmall
warehouse_type = standard
auto_suspend = 60
auto_resume = true
initially_suspended = true;
-- create Airbyte database
create database if not exists identifier($airbyte_database);
-- grant Airbyte warehouse access
grant USAGE
on warehouse identifier($airbyte_warehouse)
to role identifier($airbyte_role);
-- grant Airbyte database access
grant OWNERSHIP
on database identifier($airbyte_database)
to role identifier($airbyte_role);
commit;
注意:我们的集成会自动在 Snowflake 目标数据库中创建必要的模式。要启用此功能,请确保连接用户具有目标数据库上的 CREATE SCHEMA 权限。如果您希望手动创建模式,则也受支持——但是,我们的连接用户必须具有这些模式上的 OWNERSHIP 权限。这使我们能够管理集成正常运行所需的表和其他对象。
步骤 2:设置数据加载方法
Airbyte 使用 Snowflake 的 内部阶段 加载数据。
确保数据库和模式具有 USAGE 权限。
步骤 3:在 Airbyte 中设置 Snowflake 作为目标
导航到 Airbyte UI,将 Snowflake 设置为目标。您可以使用用户名/密码或密钥对身份验证
登录和密码
| 字段 | 描述 |
|---|---|
| 主机 | Snowflake 实例的主机域名(必须包含帐户、区域、云环境,并以 snowflakecomputing.com 结尾)。示例:accountname.us-east-2.aws.snowflakecomputing.com |
| 角色 | 您在步骤 1 中为 Airbyte 创建的访问 Snowflake 的角色。示例:AIRBYTE_ROLE |
| 仓库 | 您在步骤 1 中为 Airbyte 同步数据而创建的仓库。示例:AIRBYTE_WAREHOUSE |
| 数据库 | 您在步骤 1 中为 Airbyte 同步数据而创建的数据库。示例:AIRBYTE_DATABASE |
| 模式 | 用作所有从连接发出的不明确指定模式名称的语句的目标模式的默认模式。 |
| 用户名 | 您在步骤 1 中创建的允许 Airbyte 访问数据库的用户名。示例:AIRBYTE_USER |
| 密码 | 与用户名关联的密码。 |
| JDBC URL 参数(可选) | 附加属性,以 key=value 对的形式传递到 JDBC URL 字符串中,以连接到数据库,用符号 & 分隔。示例:key1=value1&key2=value2&key3=value3 |
| 禁用最终表(可选) | 禁用写入最终的 Typed 表。请参阅 输出模式。警告!_airbyte_data 中的数据格式可能稳定,但不能保证其他元数据列在未来版本中保持相同 |
密钥对身份验证
要配置密钥对身份验证,您需要一个私钥/公钥对。如果您还没有密钥对,可以使用 openssl 命令行工具生成一个。使用此命令生成未加密的私钥文件
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
或者,使用此命令生成加密的私钥文件
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -v2 aes-256-cbc -out rsa_key.p8
获得私钥后,您需要生成匹配的公钥。您可以使用以下命令执行此操作
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
最后,您需要将公钥添加到您的 Snowflake 用户帐户。您可以使用 Snowflake 中的以下 SQL 命令来执行此操作。将 <user_name> 替换为您的用户名,将 <public_key_value> 替换为您的公钥。
alter user <user_name> set rsa_public_key=<public_key_value>;
如果您需要帮助来排查密钥对身份验证问题,请参阅 Snowflake 的故障排除文档。
输出 schema
Airbyte 默认情况下将每个流输出到 airbyte_internal 模式下的自己的原始表(可以被用户覆盖),以及一个包含 Typed 列的最终表。原始表中的内容不会进行去重。
注意: 默认情况下,Airbyte 创建永久表。如果您更喜欢临时表,请为 Airbyte 创建一个专用的临时数据库。有关更多信息,请参阅 使用临时表和瞬态表
原始表模式
原始表包含以下字段
_airbyte_raw_id_airbyte_generation_id_airbyte_extracted_at_airbyte_loaded_at_airbyte_meta_airbyte_data
_airbyte_data 是一个包含事件数据的 JSON blob。有关其他字段的更多信息,请参阅 此处。
注意: 虽然 _airbyte_data 的内容相对稳定,但原始表的模式可能会在未来的版本中发生变化。
最终表模式
最终表包含以下字段,除了在您的流模式中声明的列之外
_AIRBYTE_RAW_ID_AIRBYTE_GENERATION_ID_AIRBYTE_EXTRACTED_AT_AIRBYTE_LOADED_AT_AIRBYTE_META
再次,有关这些字段的更多信息,请参阅 此处。
数据类型映射
| Airbyte 类型 | Snowflake 类型 |
|---|---|
| STRING | TEXT |
| STRING (BASE64) | TEXT |
| STRING (BIG_NUMBER) | TEXT |
| STRING (BIG_INTEGER) | TEXT |
| NUMBER | FLOAT |
| INTEGER | NUMBER |
| BOOLEAN | BOOLEAN |
| STRING (TIMESTAMP_WITH_TIMEZONE) | TIMESTAMP_TZ |
| STRING (TIMESTAMP_WITHOUT_TIMEZONE) | TIMESTAMP_NTZ |
| STRING (TIME_WITH_TIMEZONE) | TEXT |
| STRING (TIME_WITHOUT_TIMEZONE) | TIME |
| DATE | DATE |
| OBJECT | OBJECT |
| ARRAY | ARRAY |
数值类型的精度处理
Snowflake 对数值类型具有精度限制
- FLOAT:标准的 64 位浮点值。
- NUMBER (INTEGER):最多 38 位数字
当值超过这些类型的范围时,它将被设置为 null。但是,在最小值/最大值边界内的值,但具有过高的精度,将被四舍五入。在这两种情况下,_airbyte_meta 列将包含一个 changes 条目以反映这一点。
支持的同步模式
Snowflake 目标支持以下同步模式
Snowflake 教程
现在您已经设置了 Snowflake 目标连接器,请查看以下 Snowflake 教程
- 构建从 Mailchimp 到 Snowflake 的数据摄取管道
- 将数据从 PostgreSQL 数据库复制到 Snowflake
- 将您的数据从 Redshift 迁移到 Snowflake
- 使用 Prefect、Airbyte 和 dbt 编排 ELT 管道
故障排除
'当前角色没有目标模式的权限'
如果您收到一个错误,表明 当前角色没有目标模式的权限,请确保 Snowflake 目标的 SCHEMA 是您提供的角色具有权限的一个。在创建连接时,它可能会允许您选择 镜像源结构 作为 目标命名空间,如果您遵循了一些默认示例和教程,这可能会导致连接尝试写入 PUBLIC 模式。
一个快速解决方法是编辑您的连接的“复制”设置,从 镜像源结构 更改为 目标默认值。否则,请确保授予角色在所需命名空间中的所需权限。
参考
配置字段参考
变更日志
展开以查看
| 版本 | 日期 | 拉取请求 | 主题 |
|---|---|---|---|
| 4.0.34 | 2026-01-09 | 71273 | 修复仅在原始表模式下检查操作。 |
| 4.0.33 | 2026-01-09 | 71248 | 升级到 CDK 0.1.99 — 限制最终聚合并行度。 |
| 4.0.32 | 2026-01-08 | 71233 | 推广发布候选版本 4.0.32-rc.2 到主版本。 |
| 4.0.32-rc.2 | 2025-12-19 | 71007 | 修复原始模式回归:将 _airbyte_data 恢复为 SnowflakeType.VARIANT |
| 4.0.32-rc.1 | 2025-12-18 | 70903 | 升级到 CDK 0.1.91;内部重构 |
| 4.0.31 | 2025-12-08 | 70442 | 正确写入 VARIANT 值,当底层 Airbyte 类型是 union 时 |
| 4.0.30 | 2025-11-24 | 69842 | 更新关于数值处理的文档 |
| 4.0.29 | 2025-11-24 | 69342 | 截断具有过高精度的 NumberValues 和 IntegerValues,而不是将其设置为 null |
| 4.0.28 | 2025-11-13 | 69245 | 升级到 CDK 0.1.78 |
| 4.0.27 | 2025-11-11 | 69285 | 删除多余的日志消息 |
| 4.0.26 | 2025-11-11 | 69117 | 升级到 CDK 0.1.74(内部代码更改以进行模式演化) |
| 4.0.25 | 2025-11-06 | 69226 | 改进了附加统计信息处理 |
| 4.0.24 | 2025-11-05 | 69200 | 添加对可观察性指标的支持 |
| 4.0.23 | 2025-11-03 | 69153 | 修复连接器规范中的错误 |
| 4.0.22 | 2025-11-03 | 69147 | 升级到 CDK 0.1.62 以改进对未识别 JSON 模式的处理 |
| 4.0.21 | 2025-11-03 | 69100 | 升级到 CDK 0.1.61 以修复状态索引错误 |
| 4.0.20 | 2025-10-29 | 68186 | 升级到 CDK 0.1.59 |
| 4.0.19 | 2025-10-28 | 68683 | 升级到 CDK 0.1.58(改进同步结束时未刷新状态的日志记录) |
| 4.0.18 | 2025-10-28 | 68125 | 内部重构;升级到 CDK 0.1.56 |
| 4.0.17 | 2025-10-22 | 68585 | 将 Snowflake 权限错误包装为 ConfigErrorException,以便更好地进行错误处理 |
| 4.0.16 | 2025-10-21 | 68516 | 确保列在目标模式中标记为非空。 |
| 4.0.15 | 2025-10-21 | 67153 | 实现新的 proto 模式实现 |
| 4.0.14 | 2025-10-16 | 68148 | 没有面向用户的更改。内部代码重组。 |
| 4.0.13 | 2025-10-15 | 68106 | 撤销缓存更改以修复性能问题。 |
| 4.0.12 | 2025-10-15 | 68096 | 在格式化期间缓存 Airbyte 元数据数据列检查,以提高性能。 |
| 4.0.11 | 2025-10-14 | 67721 | 处理配置迁移器中的边缘情况;提高测试覆盖率。 |
| 4.0.10 | 2025-10-13 | 67714 | 更新 check 以正确处理 QUOTED_IDENTIFIERS_IGNORE_CASE=true。 |
| 4.0.9 | 2025-10-10 | 67610 | 修复 varchar 大小验证问题 |
| 4.0.8 | 2025-10-10 | 67599 | 改进对高度交错流的处理。 |
| 4.0.7 | 2025-10-09 | 67590 | 使用 GZIP 压缩级别 5 以提高性能。不再显式 CREATE FILE FORMAT。 |
| 4.0.6 | 2025-10-09 | 67582 | 模式演化支持删除名称中带有小写字符的列。 |
| 4.0.5 | 2025-10-09 | 67575 | 撤销无意中的类型更改。 |
| 4.0.4 | 2025-10-08 | 67569 | 防止在列值以 \ 结尾时崩溃。 |
| 4.0.3 | 2025-10-08 | 67556 | 通过增加最大并行处理来提高性能和降低成本。 |
| 4.0.2 | 2025-10-07 | 67301 | 通过缓存 SHOW COLUMNS 输出来提高性能和降低成本。 |
| 4.0.1 | 2025-10-06 | 67106 | 删除值验证器中不必要的操作和分配。 |
| 4.0.0 | 2025-10-06 | 66747 | 升级到 direct-load 表;添加用于软 CDC 删除的选项。 |
| 3.15.11-rc.2 | 2025-09-29 | 66753 | 固定到 CDK 工件 |
| 3.15.11-rc.1 | 2025-09-25 | 66307 | 初始 Direct Load RC 版本 |
| 3.15.10 | 2025-06-13 | 61588 | 发布版本以考虑管道中可能发生的重复发布。无操作更改。 |
| 3.15.9 | 2025-05-16 | 60328 | 迁移到基础 2.0.2。 |
| 3.15.8 | 2025-05-02 | 59222 | 升级库以进行安全补丁。 |
| 3.15.7 | 2025-04-24 | 59166 | 升级库以进行安全补丁。 |
| 3.15.6 | 2025-04-24 | 58652 | 升级库以进行安全补丁。 |
| 3.15.5 | 2025-03-24 | 56355 | 升级到 airbyte/java-connector-base:2.0.1 以兼容 M4。 |
| 3.15.4 | 2025-01-10 | 51503 | 使用非 root 基础镜像 |
| 3.15.3 | 2024-12-18 | 49913 | 使用基础镜像:airbyte/java-connector-base:1.0.0 |
| 3.15.2 | 2024-10-31 | #48070 | 升级 JDBC 驱动程序到 3.20.0 |
| 3.15.1 | 2024-10-20 | #46989 | 添加 Snowflake 事务包装器以支持回滚 |
| 3.15.0 | 2024-09-18 | #45437 | 升级所有依赖项 |
| 3.14.0 | 2024-09-18 | #45431 | 截断大型记录查询 |
| 3.13.0 | 2024-09-17 | #45422 | 加速元数据查询 |
| 3.12.0 | 2024-09-17 | #38585 | 在创建模式和表时强制 UTF8 排序规则 |
| 3.11.12 | 2024-09-12 | #45370 | 修复我们的 orphanedThreadFilter 中的竞争条件 |
| 3.11.11 | 2024-08-20 | #44476 | 增加消息解析限制到 100mb |
| 3.11.10 | 2024-08-22 | #44526 | 还原协议合规性修复 |
| 3.11.9 | 2024-08-19 | #43367 | 添加使用 MERGE 语句进行 upserts 和删除的选项 |
| 3.11.8 | 2024-08-16 | #42505 | 修复刷新逻辑中的错误(平台已缓解,只是修复协议合规性) |
| 3.11.7 | 2024-08-09 | #43440 | 通过每 100 次更新只删除一次行来消除状态表上的争用 |
| 3.11.6 | 2024-08-09 | #43332 | 升级 Java CDK |
| 3.11.5 | 2024-08-07 | #43348 | SnowflakeSqlGen 清理为 Kotlin 字符串插值 |
| 3.11.4 | 2024-07-18 | #41940 | 更新主机正则表达式以允许连接到 LocalStack Snowflake |
| 3.11.3 | 2024-07-15 | #41968 | 不要在空流列表上永久挂起;缩短 INCOMPLETE 流状态的错误消息 |
| 3.11.2 | 2024-07-12 | #41674 | 升级到最新 CDK |
| 3.11.1 | 2024-07-08 | #41041 | 修复截断刷新中的恢复逻辑以防止数据丢失 |
| 3.11.0 | 2024-06-25 | #39473 | 支持 刷新和可恢复的完全刷新。警告:在升级到此连接器版本之前,您必须升级到平台 0.63.7。 |
| 3.10.1 | 2024-06-11 | #39399 | 修复 OVERWRITE 模式下未迁移 _airbyte_meta 的错误 |
| 3.10.0 | 2024-06-10 | #39107 | _airbyte_meta 和 _airbyte_generation_id 在原始表和最终表中 |
| 3.9.1 | 2024-06-05 | #39135 | 改进了对 Staging 文件的错误处理 |
| 3.9.0 | 2024-05-23 | #38658 | 适应 #38107 的较新接口 |
| 3.8.4 | 2024-05-23 | #38632 | 将所有测试转换为 kotlin |
| 3.8.3 | 2024-05-23 | #38586 | 升级 CDK 版本 |
| 3.8.2 | 2024-05-22 | #38553 | 删除目标中的 SwitchingDestination 和 AbstractJdbcDestination 依赖项 |
| 3.8.1 | 2024-05-22 | #38568 | 采用最新的 CDK |
| 3.8.0 | 2024-05-08 | #37715 | 删除增量类型和去重的选项 |
| 3.7.4 | 2024-05-07 | #38052 | 撤销有问题优化 |
| 3.7.3 | 2024-05-07 | #34612 | 采用 CDK 0.33.2 |
| 3.7.2 | 2024-05-06 | #37857 | 使用安全的 executeMetadata 调用 |
| 3.7.1 | 2024-04-30 | #36910 | 升级 CDK 版本 |
| 3.7.0 | 2024-04-08 | #35754 | 允许配置 data_retention_time_in_days;应用于原始表和最终表。注意:现有表不受影响;您必须手动更改它们。 |
| 3.6.6 | 2024-03-26 | #36466 | 正确处理全局启用 QUOTED_IDENTIFIERS_IGNORE_CASE 的实例 |
| 3.6.5 | 2024-03-25 | #36461 | 内部代码更改(使用已发布的 CDK 工件而不是源依赖项) |
| 3.6.4 | 2024-03-25 | #36396 | 处理全局启用 QUOTED_IDENTIFIERS_IGNORE_CASE 的实例 |
| 3.6.3 | 2024-03-25 | #36452 | 删除查询超时 |
| 3.6.2 | 2024-03-18 | #36240 | 隐藏 oAuth 配置选项 |
| 3.6.1 | 2024-03-07 | #35899 | 采用 CDK 0.23.18;状态解析中的空安全检查 |
| 3.6.0 | 2024-03-06 | #35308 | 升级 CDK;为 extracted_at 使用 utc 时区;迁移现有的 extracted_at 到 utc; |
| 3.5.14 | 2024-02-22 | #35456 | 采用 CDK 0.23.0;提前收集初始状态,减少 information_schema 调用 |
| 3.5.13 | 2024-02-22 | #35569 | 修复日志错误。 |
| 3.5.12 | 2024-02-15 | #35240 | 采用 CDK 0.20.9 |
| 3.5.11 | 2024-02-12 | #35194 | 重新排序身份验证选项 |
| 3.5.10 | 2024-02-12 | #35144 | 采用 CDK 0.20.2 |
| 3.5.9 | 2024-02-12 | #35111 | 采用 CDK 0.20.1 |
| 3.5.8 | 2024-02-09 | #34574 | 采用 CDK 0.20.0 |
| 3.5.7 | 2024-02-08 | #34747 | 采用 CDK 0.19.0 |
| 3.5.6 | 2024-02-08 | #35027 | 升级 CDK 到版本 0.17.1 |
| 3.5.5 | 2024-02-08 | #34502 | 减少 COPY 频率 |
| 3.5.4 | 2024-01-24 | #34451 | 改进无法解析的输入日志记录 |
| 3.5.3 | 2024-01-25 | #34528 | 修复虚假的 check 失败(UnsupportedOperationException: Snowflake does not use the native JDBC DV2 interface) |
| 3.5.2 | 2024-01-24 | #34458 | 改进错误报告 |
| 3.5.1 | 2024-01-24 | #34501 | 内部代码更改用于 Destinations V2 |
| 3.5.0 | 2024-01-24 | #34462 | 升级 CDK 到 0.14.0 |
| 3.4.22 | 2024-01-12 | #34227 | 升级 CDK 到 0.12.0;清理未使用的依赖项 |
| 3.4.21 | 2024-01-10 | #34083 | 将目标统计信息作为状态消息的一部分发出 |
| 3.4.20 | 2024-01-05 | #33948 | 如果设置失败,则跳过检索初始表状态 |
| 3.4.19 | 2024-01-04 | #33730 | 内部代码结构更改 |
| 3.4.18 | 2024-01-02 | #33728 | 添加仅在同步结束时进行类型和去重的选项 |
| 3.4.17 | 2023-12-20 | #33704 | 更新到 java CDK 0.10.0(无更改) |
| 3.4.16 | 2023-12-18 | #33124 | 将 Schema 创建与 Table 创建分开 |
| 3.4.15 | 2023-12-13 | #33232 | 仅当流有任何记录时才运行类型化和去重 |
| 3.4.14 | 2023-12-08 | #33263 | 采用 java CDK 版本 0.7.0 |
| 3.4.13 | 2023-12-05 | #32326 | 使用 jdbc 元数据进行表存在性检查 |
| 3.4.12 | 2023-12-04 | #33084 | T&D SQL 语句移动到调试日志级别 |
| 3.4.11 | 2023-11-14 | #32526 | 清理内存管理器日志。 |
| 3.4.10 | 2023-11-08 | #32125 | 修复编译警告。 |
| 3.4.9 | 2023-11-06 | #32026 | 添加单独的 TRY_CAST 事务以减少计算量 |
| 3.4.8 | 2023-11-06 | #32190 | 进一步改进错误报告 |
| 3.4.7 | 2023-11-06 | #32193 | 采用 java CDK 版本 0.4.1。 |
| 3.4.6 | 2023-11-02 | #32124 | 撤销 merge 语句 |
| 3.4.5 | 2023-11-02 | #31983 | 改进错误报告 |
| 3.4.4 | 2023-10-30 | #31985 | 将升级截止日期推迟到 11 月 7 日 |
| 3.4.3 | 2023-10-30 | #31960 | 采用 java CDK 版本 0.2.0。 |
| 3.4.2 | 2023-10-27 | #31897 | 进一步过滤 extracted_at |
| 3.4.1 | 2023-10-27 | #31683 | 性能增强(对增量去重同步使用 merge 语句) |
| 3.4.0 | 2023-10-25 | #31686 | 取消选择用于类型化和去重表的标志 |
| 3.3.0 | 2023-10-25 | #31520 | 停止去重原始表 |
| 3.2.3 | 2023-10-17 | #31191 | 通过在 extracted_at 上过滤新的原始记录来提高类型化和去重性能 |
| 3.2.2 | 2023-10-10 | #31194 | 当为空时,释放未使用的每个流缓冲区内存 |
| 3.2.1 | 2023-10-10 | #31083 | 修复异步目标中数值的精度 |
| 3.2.0 | 2023-10-09 | #31149 | 不再因为主键为空而导致同步失败 - 尝试去重 |
| 3.1.22 | 2023-10-06 | #31153 | 增加 jvm GC 重试次数 |
| 3.1.21 | 2023-10-06 | #31139 | 升级 CDK 版本 |
| 3.1.20 | 2023-10-06 | #31129 | 减小异步缓冲区大小 |
| 3.1.19 | 2023-10-04 | #31082 | 撤销空主键检查 |
| 3.1.18 | 2023-10-01 | #30779 | 最终表主键列变为非空,并跳过原始记录中空主键的检查(性能) |
| 3.1.17 | 2023-09-29 | #30938 | 升级 snowflake-jdbc 驱动程序 |
| 3.1.16 | 2023-09-28 | #30835 | 修复 3.1.15 中的回归,以支持具有相同流名称但不同命名空间的并发同步 |
| 3.1.15 | 2023-09-26 | #30775 | 增加异步块大小 |
| 3.1.14 | 2023-09-27 | #30739 | 修复列名冲突检测 |
| 3.1.13 | 2023-09-19 | #30599 | 支持具有相同流名称但不同命名空间的并发同步 |
| 3.1.12 | 2023-09-21 | #30671 | 减小异步缓冲区大小 |
| 3.1.11 | 2023-09-19 | #30592 | 内部代码更改 |
| 3.1.10 | 2023-09-18 | #30546 | 确保异步缓冲区每 5 分钟刷新一次 |
| 3.1.9 | 2023-09-19 | #30319 | 支持名称中是保留字的列 |
| 3.1.8 | 2023-09-18 | #30479 | 修复异步内存管理 |
| 3.1.7 | 2023-09-15 | #30491 | 改进错误消息显示 |
| 3.1.6 | 2023-09-14 | #30439 | 修复一个瞬态错误 |
| 3.1.5 | 2023-09-13 | #30416 | 支持在流名称/命名空间以及列名称中使用 ${ |
| 3.1.4 | 2023-09-12 | #30364 | 添加日志消息 |
| 3.1.3 | 2023-08-29 | #29878 | 重新启用增量类型和去重 |
| 3.1.2 | 2023-08-31 | #30020 | 并行运行类型化和去重任务 |
| 3.1.1 | 2023-09-05 | #30117 | 在同步开始时以及每 6 小时进行类型化和去重 |
| 3.1.0 | 2023-09-01 | #30056 | 将最终表名称大写,以允许不区分大小写的引用 |
| 3.0.2 | 2023-09-01 | #30121 | 通过跳过字符串上的 TRY_CAST 来提高对非常宽数据流的性能 |
| 3.0.1 | 2023-08-27 | #30065 | 当记录缺少主键时,抛出更清晰的错误信息 |
| 3.0.0 | 2023-08-27 | #29783 | Destinations V2 |
| 2.1.7 | 2023-08-29 | #29949 | 目标 V2:通过确保数据库名称大写来修复检查空表的错误 |
| 2.1.6 | 2023-08-28 | #29878 | 目标 V2:通过确保数据库名称大写来修复检测现有表的错误 |
| 2.1.5 | 2023-08-28 | #29903 | 目标 V2:性能改进,将元数据错误数组构造从 ARRAY_CAT 更改为 ARRAY_CONSTRUCT_COMPACT |
| 2.1.4 | 2023-08-28 | #29903 | 崩溃时中止查询 |
| 2.1.3 | 2023-08-25 | #29881 | 目标 v2:仅在同步结束时运行 T+D 一次,以防止在异步条件下数据丢失 |
| 2.1.2 | 2023-08-24 | #29805 | 目标 v2:在迁移中不要软重置 |
| 2.1.1 | 2023-08-23 | #29774 | 目标 v2:不要软重置覆盖同步 |
| 2.1.0 | 2023-08-21 | #29636 | 目标 v2:几个关键错误修复(无游标去重、改进浮点数处理、改进特殊字符处理;改进错误处理) |
| 2.0.0 | 2023-08-09 | #28894 | 移除对 Snowflake GCS/S3 加载方法的支持,转而支持 Snowflake 内部暂存 |
| 1.3.3 | 2023-08-15 | #29461 | 更改静态常量引用 |
| 1.3.2 | 2023-08-11 | #29381 | 目标 v2:添加对没有列的数据流的支持 |
| 1.3.1 | 2023-08-04 | #28894 | 目标 v2:更新 SqlGenerator |
| 1.3.0 | 2023-08-07 | #29174 | 目标 v2:早期访问版本 |
| 1.2.10 | 2023-08-07 | #29188 | 内部代码重构 |
| 1.2.9 | 2023-08-04 | #28677 | 目标 v2:内部代码更改,为早期访问版本做准备 |
| 1.2.8 | 2023-08-03 | #29047 | 如果格式无效,则避免记录记录 |
| 1.2.7 | 2023-08-02 | #28976 | 修复 v1 模式下的复合主键处理 |
| 1.2.6 | 2023-08-01 | #28618 | 减少日志噪音 |
| 1.2.5 | 2023-07-24 | #28618 | 添加钩子,为目标 v2 实现做准备 |
| 1.2.4 | 2023-07-21 | #28584 | 安装依赖项,为目标 v2 工作做准备 |
| 1.2.3 | 2023-07-21 | #28345 | 引入异步框架的小错误修复,以解决状态发出时的竞争条件 |
| 1.2.2 | 2023-07-14 | #28345 | 增加补丁以触发重建 |
| 1.2.1 | 2023-07-14 | #28315 | 引入异步框架的小错误修复,以避免 Snowflake 在关闭时挂起 |
| 1.2.0 | 2023-07-5 | #27935 | 启用使用异步写入的更快的 Snowflake 同步 |
| 1.1.0 | 2023-06-27 | #27781 | 许可证更新:Elv2 |
| 1.0.6 | 2023-06-21 | #27555 | 减小镜像大小 |
| 1.0.5 | 2023-05-31 | #25782 | 用于未来开发的内部脚手架 |
| 1.0.4 | 2023-05-19 | #26323 | 在特定情况下防止无限重试循环 |
| 1.0.3 | 2023-05-15 | #26081 | 撤销 splits bases |
| 1.0.2 | 2023-05-05 | #25649 | Splits bases(已撤销) |
| 1.0.1 | 2023-04-29 | #25570 | 内部库更新 |
| 1.0.0 | 2023-05-02 | #25739 | 移除 Azure Blob Storage 作为加载方法 |
| 0.4.63 | 2023-04-27 | #25346 | 添加 FlushBufferFunction 接口 |
| 0.4.61 | 2023-03-30 | #24736 | 改进在 AWS API 被限制时的行为 |
| 0.4.60 | 2023-03-30 | #24698 | 在规范中添加选项,以允许将流缓冲区大小增加到 50 |
| 0.4.59 | 2023-03-23 | #23904 | 在某些错误情况下更快地失败 |
| 0.4.58 | 2023-03-27 | #24615 | 通过 UI 上的模式修复主机验证 |
| 0.4.56(损坏) | 2023-03-22 | #23904 | 通过 UI 上的模式添加主机验证 |
| 0.4.54 | 2023-03-17 | #23788 | S3-Parquet:添加处理数组中空值的处理程序 |
| 0.4.53 | 2023-03-15 | #24058 | 添加写入尝试到内部暂存检查方法 |
| 0.4.52 | 2023-03-10 | #23931 | 添加了定期缓冲区刷新支持 |
| 0.4.51 | 2023-03-10 | #23466 | 更改 S3 Avro 类型为 Int 到 Long |
| 0.4.49 | 2023-02-27 | #23360 | 添加刷新和将数据写入目标存储的日志记录 |
| 0.4.48 | 2023-02-23 | #22877 | 添加处理不在白名单中的 IP 错误的处理程序,以及更多处理权限不足错误的处理器 |
| 0.4.47 | 2023-01-30 | #21912 | 捕获“创建”表和暂存的已知权限,并将其重新抛出为 ConfigExceptions |
| 0.4.46 | 2023-01-26 | #20631 | 添加了对使用暂存进行目标检查点的支持 |
| 0.4.45 | 2023-01-25 | #21087 | 捕获已知权限,并将其重新抛出为 ConfigExceptions |
| 0.4.44 | 2023-01-20 | #21087 | 将身份验证错误包装为配置异常 |
| 0.4.43 | 2023-01-20 | #21450 | 更新检查方法以处理更多可能的 s3 和 gcs 暂存问题 |
| 0.4.42 | 2023-01-12 | #21342 | 更好地处理冲突的目标流 |
| 0.4.41 | 2022-12-16 | #20566 | 改进规范以符合标准 |
| 0.4.40 | 2022-11-11 | #19302 | 根据环境(airbyte_oss 或 airbyte_cloud)设置 jdbc 应用程序环境变量 |
| 0.4.39 | 2022-11-09 | #18970 | 更新“检查”连接方法以处理更多错误 |
| 0.4.38 | 2022-09-26 | #17115 | 添加连接字符串标识符 |
| 0.4.37 | 2022-09-21 | #16839 | 将 Snowflake 的 JDBC 驱动程序更新到 3.13.19 |
| 0.4.36 | 2022-09-14 | #15668 | 将日志包装在 AirbyteLogMessage 中 |
| 0.4.35 | 2022-09-01 | #16243 | 修复 Json 到 Avro 转换,当来自组合限制(anyOf、oneOf、allOf 字段)的字段名称冲突时 |
| 0.4.34 | 2022-07-23 | #14388 | 添加对密钥对身份验证的支持 |
| 0.4.33 | 2022-07-15 | #14494 | 使 S3 输出文件名可配置。 |
| 0.4.32 | 2022-07-14 | #14618 | 移除 JDBC 目标连接器中的 additionalProperties: false |
| 0.4.31 | 2022-07-07 | #13729 | 改进配置字段描述 |
| 0.4.30 | 2022-06-24 | #14114 | 删除带有暂存的连接器的规范中的 "additionalProperties": false |
| 0.4.29 | 2022-06-17 | #13753 | 弃用并删除基于 StreamTransferManager 的连接器中的 PART_SIZE_MB 字段 |
| 0.4.28 | 2022-05-18 | #12952 | 对 GCS 暂存应用缓冲策略 |
| 0.4.27 | 2022-05-17 | #12820 | 改进了“检查”操作的性能 |
| 0.4.26 | 2022-05-12 | #12805 | 更新到最新的 base-java,以便在发生错误时发出 AirbyteTraceMessages |
| 0.4.25 | 2022-05-03 | #12452 | 添加对 S3 暂存的加密支持;修复 purge_staging_files 选项 |
| 0.4.24 | 2022-03-24 | #11093 | 添加 OAuth 支持(与 Airbyte 版本 0.35.60+ 兼容) |
| 0.4.22 | 2022-03-18 | #10793 | 修复具有无效字符的命名空间 |
| 0.4.21 | 2022-03-18 | #11071 | 在暂存到 s3/内部暂存之前切换到压缩的磁盘缓冲 |
| 0.4.20 | 2022-03-14 | #10341 | 添加 Azure blob 暂存支持 |
| 0.4.19 | 2022-03-11 | #10699 | 添加单元测试 |
| 0.4.17 | 2022-02-25 | #10421 | 重构 JDBC 参数处理 |
| 0.4.16 | 2022-02-25 | #10627 | 添加 try catch 以确保关闭所有处理程序 |
| 0.4.15 | 2022-02-22 | #10459 | 添加 FailureTrackingAirbyteMessageConsumer |
| 0.4.14 | 2022-02-17 | #10394 | 减少内存占用。 |
| 0.4.13 | 2022-02-16 | #10212 | 为 S3 和 GCS 暂存并行执行 COPY 命令 |
| 0.4.12 | 2022-02-15 | #10342 | 使用连接池,并修复连接泄漏。 |
| 0.4.11 | 2022-02-14 | #9920 | 更新 S3 暂存的暂存文件大小。 此外,添加在将数据写入暂存文件后关闭 S3 写入器的功能。 |
| 0.4.10 | 2022-02-14 | #10297 | 将记录缓冲区大小减半,以减少内存消耗。 |
| 0.4.9 | 2022-02-14 | #10256 | 添加 ExitOnOutOfMemoryError JVM 标志。 |
| 0.4.8 | 2022-02-01 | #9959 | 修复来自缓冲流消费者的空指针异常。 |
| 0.4.7 | 2022-01-29 | #9745 | 与 Sentry 集成。 |
| 0.4.6 | 2022-01-28 | #9623 | 添加 jdbc_url_params 支持,用于可选的 JDBC 参数 |
| 0.4.5 | 2021-12-29 | #9184 | 更新连接器字段标题/描述 |
| 0.4.4 | 2022-01-24 | #9743 | 修复了模式名称中的破折号错误 |
| 0.4.3 | 2022-01-20 | #9531 | 开始使用新的 S3StreamCopier 并公开 purgeStagingData 选项 |
| 0.4.2 | 2022-01-10 | #9141 | 修复重试中的重复行 |
| 0.4.1 | 2021-01-06 | #9311 | 更新在检查期间创建模式 |
| 0.4.0 | 2021-12-27 | #9063 | 更新规范化以生成永久表 |
| 0.3.24 | 2021-12-23 | #8869 | 更改暂存方法为 Byte-Buffered |
| 0.3.23 | 2021-12-22 | #9039 | 在 UI 中为 S3 加载方法添加 part_size 配置 |
| 0.3.22 | 2021-12-21 | #9006 | 更新 jdbc 模式命名以遵循 Snowflake 命名约定 |
| 0.3.21 | 2021-12-15 | #8781 | 更新检查方法以验证创建/删除内部暂存的权限;Java 17 的兼容性修复 |
| 0.3.20 | 2021-12-10 | #8562 | 移动类以进行更好的依赖管理;Java 17 的兼容性修复 |
| 0.3.19 | 2021-12-06 | #8528 | 将内部暂存设置为默认选择 |
| 0.3.18 | 2021-11-26 | #8253 | Snowflake 内部暂存支持 |
| 0.3.17 | 2021-11-08 | #7719 | 通过基于其字节大小而不是其计数来缓冲记录来改进对宽行的处理 |
| 0.3.15 | 2021-10-11 | #6949 | 每个流被拆分为包含 10,000 条记录的文件,用于使用 S3 或 GCS 进行复制 |
| 0.3.14 | 2021-09-08 | #5924 | 修复 AWS S3 暂存 COPY 将来自同一原始表中的不同表中的记录写入 |
| 0.3.13 | 2021-09-01 | #5784 | 将查询超时时间从 30 分钟增加到 3 小时 |
| 0.3.12 | 2021-07-30 | #5125 | 在 spec.json 中启用 additionalPropertities |
| 0.3.11 | 2021-07-21 | #3555 | 缓冲流消费者中的部分成功 |
| 0.3.10 | 2021-07-12 | #4713 | 使用 airbyte 标签标记流量,以启用 Snowflake 的优化机会 |