我正在尝试了解数据湖,大多数示例仅显示简单的用例。我想理解的是有效的“连接查询”。
例如,我有包含产品数据的文件(上传到 S3-Product-Data)和包含产品年销售额的数据库(上传到 S3-Product-Sales)。 AWS Lakes/Athena 如何进行跨这两个环境运行的查询?
当然需要一些东西来链接它们。我只是不确定查询会是什么样子,也不知道 Athena 在幕后会做什么来合并数据(并提高性能)。
最佳答案
您要做的就是在 Athena 中创建一个表,该表引用包含产品数据的文件,以及另一个引用包含年销售额的文件的表。之后,您可以运行合并表的 SQL。
SQL 的具体外观取决于您的数据、它有哪些列等。如果您的产品数据有 product_id
列,并且您的销售数据也有,您可以像这样连接它们(当然,列名都是虚构的):
SELECT product_name, SUM(sales.sold_for) AS total_revenue
FROM products
LEFT JOIN sales USING (product_id)
关于amazon-s3 - 使用 Athena 跨 S3 存储桶查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56989074/