【发布时间】:2021-05-02 09:34:00
【问题描述】:
我正在测试这个架构:Kinesis Firehose → S3 → Glue → Athena。现在我使用的是 Kinesis 生成的虚拟数据,每行如下所示:{"ticker_symbol":"NFLX","sector":"TECHNOLOGY","change":-1.17,"price":97.83}
但是,有两个问题。首先,Glue Crawler 为每个文件创建一个单独的表。我读过如果架构匹配 Glue 应该只提供一个表。正如您在下面的屏幕截图中所见,架构是相同的。在 Crawler options 中,我尝试在 Create a single schema for each S3 path 上打勾,但没有任何变化。
文件也位于同一路径中,这导致我遇到第二个问题:查询这些表时,Athena 不显示任何数据。这可能是因为文件共享一个文件夹 - 我已经阅读过它here,第 1 点,并测试了几次。如果我从 S3 文件夹中删除除一个文件之外的所有文件并进行爬网,Athena 会显示数据。
我可以强制 Kinesis 将每个文件放在一个单独的文件夹中,或者强制 Glue 将这些数据记录在一个表中吗?
【问题讨论】:
标签: amazon-web-services aws-glue amazon-athena amazon-kinesis aws-glue-data-catalog