Campaign:从Adobe Campaign到数据库的数据传输缓慢(DBX)
本文介绍了从Adobe Campaign到数据库的数据传输速度显着低于预期的性能问题。 当Campaign无法使用批量加载机制,而是回退到速度较慢的逐行插入策略时,会发生此行为。
描述 description
在某些Adobe Campaign工作流中,写入数据库的数据可能会非常慢,即使其他数据库传输路径也能正常执行。
典型症状包括:
- 从Adobe Campaign或联合数据源传输到数据库所花费的时间比预期要长得多。
- 反向或备用数据流仍可以正常执行。
- 该问题可在多个工作流或环境中重现。
- 工作流或审核日志包含类似于以下内容的警告:
找不到用于批量加载的存储帐户。 使用默认批量加载策略
此警告表示Campaign找不到批量加载路径所需的链接存储配置。 因此,连接器回退到ODBC上的默认逐行插入方法。
解决方法 resolution
将数据从Adobe Campaign写入数据库时发现的数据传输速度较慢,这是未配置链接云存储帐户(Azure Blob或AWS S3)的Databricks外部帐户直接造成的。
根本原因
当Campaign将数据写入数据库时,它会尝试使用依赖链接的云存储帐户作为中间临时区域的批量加载路径。 该流程的设计如下所示:
- Campaign会将出站数据序列化为压缩的CSV文件。
- Campaign将这些文件上传到链接的云存储帐户(Azure Blob或S3)。
- Campaign发出Databricks COPY INTO命令,指示数据库直接从云存储中摄取暂存文件。
- 数据库以本机速度并行读取文件。
当未配置链接的存储帐户时,Campaign无法使用此批量加载路径。 系统记录以下警告:
找不到用于批量加载的存储帐户。 使用默认批量加载策略
此警告在工作流的审核日志中可见。 在此警告之后,Campaign回退到通过ODBC连接发送单个行级INSERT语句。 每一行都需要一个到Databricks SQL Warehouse的单独网络来回,这会导致性能随数据量线性降低。
此回退行为不是降级的“较慢模式” — 它不适用于生产规模的数据卷。 它只是作为最后手段存在。
因此,将链接的存储帐户(Azure Blob或AWS S3)添加到Databricks外部帐户将解决此性能问题。 配置存储帐户后,Campaign将使用COPY INTO批量加载路径,这是Databricks推荐的数据摄取机制。
recommendation-more-help
experience-cloud-kcs-help-kbarticles