本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
运行 SQL 查询
注意
只有当负责支付查询计算费用的成员以活跃成员的身份加入协作时,您才能运行查询。
作为可以查询的成员,您可以通过以下方式运行 SQL 查询:
-
使用 SQL 代码编辑器手动构建 SQL 查询。
-
使用经批准的 SQL 分析模板。
-
使用分析生成器用户界面无需编写 SQL 代码即可生成查询。
当可以查询的成员对协作中的表运行 SQL 查询时, AWS Clean Rooms 将扮演相关角色来代表他们访问这些表。 AWS Clean Rooms 根据需要将分析规则应用于输入查询及其输出。
分析规则和输出约束是自动强制执行的。 AWS Clean Rooms 仅返回符合定义的分析规则的结果。
AWS Clean Rooms 支持可能与其他查询引擎不同的 SQL 查询。有关规范,请参阅 AWS Clean Rooms SQL 参考。如果要对受差别隐私保护的数据表运行查询,您应该确保查询与 AWS Clean Rooms Differential Privacy 的通用查询结构兼容。
注意
使用 Clean Rooms 加密计算时,并非所有 SQL 操作都会生成有效的结果。例如,您可以对加密列执行 COUNT,但是对加密的数字执行 SUM 会导致错误。此外,查询还可能产生错误的结果。例如,SUM 密封列的查询会产生错误。但是,对密封列的 GROUP BY 查询似乎成功了,但生成的组与通过对 cleartext 的 GROUP BY 查询生成的组不同。
为查询计算费用付费的成员要对协作中运行的查询付费。
可以查询的成员可以选择多个可以接收结果的成员,以接收来自单个查询的结果。有关更多信息,请参阅 使用 SQL 代码编辑器查询配置表。有关接收查询结果的一般信息,请参见接收和使用分析结果。
先决条件
在运行 SQL 查询之前,请确保具备以下条件:
-
AWS Clean Rooms 合作中的活跃会员
-
访问协作中至少一个已配置的表
-
确认负责查询计算成本的成员是活跃的协作成员
有关如何通过直接调用 AWS Clean Rooms StartProtectedQuery API 操作或使用来查询数据或查看查询的信息 AWS SDKs,请参阅 AWS Clean Rooms API 参考。
有关查询日志记录的信息,请参阅分析登录 AWS Clean Rooms。
注意
如果您对加密数据表运行查询,则加密列的结果将被加密。
SQL 查询的 Spark 属性配置
AWS Clean Rooms 允许您在使用 Spark 分析引擎时通过为 SQL 查询配置支持的 Spark 属性来自定义 Spark 运行时行为。此功能仅适用于在中使用 Spark 分析引擎的分析 AWS Clean Rooms,不适用于 AWS Clean Rooms 分析引擎。这些属性允许您微调性能、内存使用情况和查询执行参数。借助此功能,您可以更好地控制基于 Spark 的查询的处理方式,从而可以根据您的特定工作负载要求进行优化。
现在,您可以直接从 AWS Clean Rooms 控制台调整诸如洗牌分区、广播加入阈值和自适应查询执行参数等设置,以进行 Spark 分析引擎分析。此功能对于复杂的查询或大型数据集特别有用,其中默认配置可能不是最佳配置。通过微调这些 Spark 属性,您可以提高查询性能、减少资源消耗,并更好地管理基于 Spark 的协作分析的内存使用情况。
要利用此功能,你可以在查询界面中找到一个新的 Spark 属性部分,用于 Spark 分析引擎分析。您可以从支持的属性列表中进行选择并指定自定义值。您也可以使用 StartProtectedQuery API 以编程方式配置 Spark 属性。此高级配置选项使数据分析师和工程师能够使用 Spark 分析引擎优化分析,从而提高效率和可扩展性。
有关 Spark 属性的更多信息,包括默认值,请参阅 Apache Spark 文档中的 Spark 属性
以下主题介绍如何使用 AWS Clean Rooms 控制台在协作中查询数据。