跳转到内容
首页PT · EN · ES · JA · ZH

出现问题时

流水线成功结束,但数据湖是空的

Section titled “流水线成功结束,但数据湖是空的”

这是最常见的现象,而且几乎总是配置问题,而非错误。

缺少配置不会导致流水线失败。 没有勾选任何数据库时,快照依然会被导出,Parquet 依然 会写入 S3,而复制作业会静默地忽略它们。

按可能性从高到低排列:

原因 如何确认
没有勾选任何数据库 控制台总览页会显示告警
集群中出现了新的数据库 同上,并会显示数据库名称
快照事件已关闭 同上——这种情况下连导出都不会运行
表过滤规则排除了所有表 Bancos(数据库)中查看已勾选的表数量

复制作业的日志同样会记录被忽略的内容:

IGNORADO: 56 arquivos do banco "pagila" -- ele nao esta marcado
para ingestao, entao nada dele chega ao datalake.

如果这张表原本存在却不再出现,请在 Partições(分区)中检查是否存在针对它的配置, 且同时满足 替换直接复制 已开启、分区处于 禁用 状态。在这种组合下,复制会跳过该表, 分区器也不会运行——没有任何环节写入它。

重新启用分区,或关闭“替换直接复制”,即可解决。

Execuções(执行记录)中打开该次执行,可以按顺序查看各个阶段。失败的阶段会附带 错误信息和日志。

最常见的原因有:

  • 分区过程中内存不足 — 分区列上不同取值过多的表。请参阅 该用几个层级
  • 跨账号权限问题 — 如果没有完成跨账号安装的第 3 步, 导出会在写入存储桶时失败。
  • 超时 — 每个作业的上限是一小时。配置了排序的超大表是最可能的原因。

一张表失败不会拖垮其他表:流水线容忍分区环节中的个别失败,爬网程序会对已写入的数据进行 编目。

如果出现一个取值为 123partition_0 列,说明当前安装的版本早于展平 RDS 分片目录的那个版本。请更新软件包并重新处理。

有两种可能的原因:

在 Postgres 中已分区的表。 RDS 会同时导出父表和每个子分区。当前版本会识别并忽略子 分区;如果你看到 payment_p2024_01 之类的表与 payment 并存,请更新软件包。

分区未开启“替换直接复制”。 默认情况下,分区表会有意出现两次——整表复制的版本和分区 版本。如果只需要分区版本,请开启该选项。

除 localhost 外,Cognito 会拒绝 http 的回调 URL。如果控制台以 http 提供服务,登录会 在开始之前就失败。请执行 setup-https.sh

如果浏览器提示证书不受信任,那是自签名证书——功能可用,但要消除提示,请通过 CERTIFICATE_ARN 使用你自己的证书。

负载均衡器是 内部 的,这是有意设计:控制台不对公网开放。你可以从 VPC 内部、通过 VPN,或者通过 Session Manager 隧道访问。

确认是哪个版本产生了某个结果

Section titled “确认是哪个版本产生了某个结果”

每个作业在启动时都会记录自身版本,执行记录会保存这些信息。在 Execuções(执行记录) 的详情中可以看到各组件的版本——当行为在两次更新之间发生变化时,这很有用。