【问题标题】:Boto3 Glue in AWS Glue ETL JobAWS Glue ETL 作业中的 Boto3 Glue
【发布时间】:2021-08-09 16:12:39
【问题描述】:

我正在运行 AWS Glue ETL 作业 (Pyspark),我在其中创建了 Glue 的 boto3 客户端来启动爬虫并执行其他一些 PySpark 处理。问题是 Glue 作业在调用 start_crawler 后继续运行。它既不给出任何错误,也不结束或启动爬虫。我的代码 sn-p 如下:

import sys
import boto3
import time

glue_client = boto3.client('glue', region_name = 'us-east-1')
crawler_name = 'test_crawler'
    
print('Starting crawler...')
print(crawler_name)
glue_client.start_crawler(Name=crawler_name)

如果我在 Python Shell Glue 作业中执行相同的代码,它会成功启动爬虫并终止作业。我在这里做错了什么还是我需要做一些特定的 w.r.t Glue ETL 工作?

编辑:我的 Glue 作业附加了一个 Glue 连接,我用它来连接到 RDS。如果我删除它,那么这段代码可以正常工作。但我需要这个连接才能连接到 RDS。有什么帮助吗?

【问题讨论】:

  • 能不能把爬虫块去掉,测试一下能不能用RDS读写?
  • 这可能是由于 VPC 设置,RDS 应该在导致连接超时的 VPC 内。此链接可能会有所帮助aws.amazon.com/blogs/big-data/…

标签: python-3.x pyspark aws-glue aws-glue-data-catalog


【解决方案1】:

这不是对您问题的回答,而只是一个提示。 我认为在同一工作中启动爬虫并不是一个好主意。您无法控制爬虫何时完成以及它是否完成得好。 我要做的是创建一个 AWS Step Function 并创建工作流,首先是粘合作业,完成后,下一步将是爬虫。这样您就可以控制和监控流程。

【讨论】:

  • 爬虫只是一个例子。任何胶水/athena boto3 调用都不起作用。
猜你喜欢
  • 2018-01-30
  • 2019-01-29
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
相关资源
最近更新 更多