amazon-s3 - 使用 Athena 跨 S3 存储桶查询

标签 amazon-s3 amazon-athena data-lake

我正在尝试了解数据湖,大多数示例仅显示简单的用例。我想理解的是有效的“连接查询”。

例如,我有包含产品数据的文件(上传到 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/

相关文章:

javascript - 将 HTML 文件上传到 AWS S3,然后提供它而不是下载

scala - 使用 spark 和 scala 将文件写入 S3 非常慢。有什么更好的方法来优化它?

amazon-web-services - AWS Athena 上的偏移量

amazon-s3 - AWS Glue 数据目录作为 Databricks 等外部服务的 Metastore

amazon-web-services - AWS Data Lake 解决方案云形成模板中的访问 IP 参数是什么?

Django:使用 boto 将文件上传到 s3

amazon-web-services - S3静态网站索引文件

amazon-athena - AWS Wrangler Athena 和 S3 read_csv UnicodeDecodeError : 'utf-8' codec can't decode byte 0xff in position

amazon-web-services - Athena Presto 中 array_agg 的长度限制

json - 如何在 Azure Data Lake Analytics 上下文中分别使用 JSON 文件格式 usql