我在mySQL RDS中有一个数据表,并且创建了一个AWS Glue搜寻器。然后,我创建了一个PySpark ETL脚本[A],将抓取的数据作为JSON发送到S3,以便可以将S3数据连接到QuickSight [B]。
我预计每小时生产100万条以上的记录。我正在尝试查看AWS Glue是否可以仅对最新ID /电子邮件进行爬网,而不是对基于一列/一组列的整个RDS表进行爬网。我确实在博客或类似网站中看到了这一点,但这是用于S3爬网,而不是RDS爬网。
我还试图将Athena连接到QuickSight(即Glue爬行表),而不是在AWS Glue中完全需要PySpark ETL。如果我使用AWS Glue爬网该表,则该表不会在Athena中显示,因此将不会连接到QuickSight,并提供错误[1]。如果我进入Athena并从AWS Glue Crawler中选择create table,则该表仍不会显示在Athena中。
[A] PySpark ETL代码:
GROUP BY
[B] JSON清单文件:
select t1.productId, sum(t1.amount)
from table1 t1 join
table2 t2
on t1.productId = t2.productId and
t1.date >= t2.start_date and
t1.date <= t2.end_date
group by t1.productId;
错误:
[1]您的数据库生成了一个SQL异常。这可能是由于查询超时,资源限制,查询之前或查询期间意外的DDL更改以及其他数据库错误引起的。检查数据库设置和查询,然后重试。
[2]我们无法连接到此S3存储桶。确保您指定的任何S3存储桶都与用于创建此QuickSight帐户的AWS账户相关联。