为什么我的AWS Glue搜寻器不创建任何表?

时间:2019-01-10 19:19:01

标签: amazon-web-services aws-glue

我正在尝试使用AWS Glue将RDS中的MySQL数据库ETL转换为S3,以便可以使用SageMaker或Athena等服务中的数据。目前,我不在乎转换,这只是一个原型,我只想将数据库转储到S3即可开始测试各种工具链。

  • 我已经建立了一个Glue数据库并成功测试了与RDS的连接
  • 我正在使用AWS提供的Glue IAM服务角色
  • 我的S3存储桶具有正确的前缀aws-glue-*
  • 我使用以下选项通过Glue数据库,AWSGlue服务角色和S3存储桶创建了搜寻器:
    • 数据存储中的架构更新:更新数据目录中的表定义
    • 删除数据存储中的对象:从数据目录中删除表和分区。

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

我尝试将Admin策略添加到eliminate IAM access issues的胶水服务角色中,结果是相同的。

此外,CloudWatch日志为空。为测试连接和搜寻器创建了日志组,但两个日志组都不包含任何条目。

我不确定如何进一步解决此问题,有关AWS Glue的信息似乎很少。

2 个答案:

答案 0 :(得分:0)

弄清楚了。我的搜寻器的“包含路径”中出现语法错误。确保连接是数据源(在这种情况下为RDS),并且包含路径列出了所需的数据目标,例如mydatabase/%(我忘记了/%)。

  

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

enter image description here

答案 1 :(得分:0)

就错误而言,Ryan Fisher是正确的。我不会将其归类为语法错误。当我遇到这个问题时,是因为“包含路径”没有包含sql server精心为您提供的默认架构。

我有这个:database_name / table_name

何时需要:database_name / dbo / table_name