提问者:小点点

为什么我的AWS胶水爬虫没有创建任何表?


我正在尝试使用AWS胶水ETLMySQL数据库RDSS3,以便我可以使用SageMaker或Athena等服务中的数据。此时,我不关心转换,这是一个原型,我只想将DB转储到S3以开始测试各种工具链。

  • 我已经建立了一个Glue数据库,并成功测试了与RDS的连接
  • 我正在使用AWS提供GlueIAM服务角色
  • 我的S3存储桶有正确的前缀aws-glue-*
  • 我使用Glue数据库、AWSGlue服务角色和上面的S3存储桶创建了一个爬虫,选项如下:
    • 数据存储中的架构更新:更新数据曲库中的表定义
    • 数据存储中的对象删除:从数据曲库中删除表和分区。

    当我运行爬虫时,它在大约60秒内完成,但它不会在数据库中创建任何表。

    我尝试将管理员策略添加到胶水服务角色以消除IAM访问问题,结果是相同的。

    此外,CloudWatch日志为空。为测试连接和爬虫创建日志组,但都不包含任何条目。

    我不知道如何进一步解决这个问题,关于AWS胶水的信息似乎很稀少。


共2个答案

匿名用户

想通了。我在爬虫的包含路径中出现了语法错误。确保连接是数据源(在这种情况下RDS)并且包含路径列出了您想要的数据目标,例如myDatabase/%(我忘记了/%)。

您可以将百分比(%)字符替换为模式或表。对于支持模式的数据库,请键入MyDatabase/MySchema/%以将MySchema中的所有表与MyDatabase匹配。Oracle和MySQL不支持路径中的模式,而是键入MyDatabase/%。有关哪些JDBC数据存储支持模式的信息,请参阅使用爬虫对表进行编目。

匿名用户

Ryan Fisher是正确的,因为它是一个错误。我不会将其归类为语法错误。当我遇到这个问题时,是因为“包含路径”不包含sql服务器热情地提供给您的默认模式。

我有这个:database_name/table_name

当需要时:database_name/dbo/table_name