AWS 拥有两个冰山 REST 目录: 每个人实际服务的内容

2026年9月4日1 次浏览来源:Dev.to阅读原文

本条逐个比较了两艘Apache Iceberg REST编目执行AWS飞船——AWS Glue和Amazon S3 Tables——测量每个飞船的实际服务.

一个Python探测器把一个相同的请求套件发给双方,并将原始反应存储为证据. https://github.com/xbill9/lakehouse-iceberg-2026 AWS舰载两艘"冰山"REST目录.

两者均由管理,均由SigV4签名,两者均执行相同的已公布规格.

如果你在他们之间做出选择, 或者写一个必须与之作对的客户, 有趣的问题在于他们之间的分歧。

它们得分相同,在13个地方表现不同。

以下所有结果均于2026-09-03测得.

什么是冰山里士顿星表?

Iceberg表是一个Parquet文件的目录,加上一个JSON元数据文件的链条,记录那些现在属于表格的文件.

有些东西必须持有当前元数据文件的指针,通过互换来做出承诺原子.

这是目录。

REST目录是该工作的一款HTTP API,所以一个引擎需要一个驱动程序而不是每个目录一个.

规格存在于"冰山"寄存器中并定义了35个操作.

这个探测器探测到其中25个,占71%。

在这个点上,你应该有一个 AWS 账户, 和足够特权的证书 来创建 Glue 数据库, 一个 S3 桶和一个 S3 表格 桶 Python

  1. 13 , 并且可供 SigV4 签名下面的每件事都用 count root 测量, 因此这里没有结果是一个权限 artefact 。
    两个终点在哪里?
    它们是不同的服务 不同的签名名称。
    AWS Glue Amazon S3 Tables Endpoint SigV4 签名名称 仓库 账号 id 表格桶 ARN 签名 ARN 是 Where the First Hour Goes SigV4 签名准确的查询字符串,所以您签名的URL必须是您发送的 URL 。
    构建 URL 然后让一个 HTTP 客户端重新编码参数 单独生成一个不同的条形字符串 : 建一出并发一出. '默认在这里也是错误的,因为SigV4想要而不是.
    两者均被固定后,同一请求到达了服务并返回一个真实的答案:一个403签名错误和一个404无这样的小包在日志中看起来同样像失败.
    其中只有一个是关于目录的.
    带AWS Glue Glue 拒绝, 没有明确的表格位置: 此套房中的其他目录都从仓库中推断出来 。
    胶片没有。
    带出亚马逊 S3 表 两个束缚只有在你击中它们时才会浮出水面.
    命名空间名称 拒绝大写, 一个时间标记的抓取名称空间将包含: 并要求体内: 使用默认写入器查看表失败 。
    注意该错误中的桶名不是您创建的- S3 Tables 将数据存储在它自己管理的桶中 。
    Prefixes Do Not Look Alike Every client 读取从后期的URL的路由前缀并放入其中.
    这两个服务返回非常不同的形状: Catalog 前缀作为返回的 Glue S3 Tables Glue 返回两个路径段.
    S3 表返回一个%- 编码的 ARN 。
    一个假设一个段的客户端,或者重新编码它交接的内容的客户端,既不会生成URL服务路由.
    AWS Glue Amazon S3 Tables 读取探测器服务于9/15 9.15 写取探测器服务于10/17 10/17 未测试 1 1个字段为26/30 27/30 端点,无一被宣布。
    那张桌子是这篇文章里最不有趣的东西。
    这两项执行按不同路线得出了相同的总数。
    没有人告诉你它支持什么 规格让服务器发布自己的表面:端点:服务器支持的端点列表. ——"更广义比较"中的七个目录中的五个公布了该数组.
    AWS目录也没有: 球场是可选的,所以这不是一个规格紫外线
分享