簡體   English   中英

AWS Glue ETL 作業中的 Boto3 Glue

[英]Boto3 Glue in AWS Glue ETL Job

我正在運行 AWS Glue ETL 作業 (Pyspark),我在其中創建了 Glue 的 boto3 客戶端來啟動爬蟲並執行其他一些 PySpark 處理。 問題是調用start_crawler后 Glue 作業繼續運行。 它既不給出任何錯誤,也不結束或啟動爬蟲。 我的代碼片段如下:

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 Job 中執行相同的代碼,它會成功啟動爬蟲並終止作業。 我在這里做錯了什么還是我需要做一些特定的 w.r.t Glue ETL 工作?

編輯:我的 Glue 作業附加了一個 Glue 連接,我用它來連接到 RDS。 如果我刪除它,那么這段代碼可以正常工作。 但我需要這個連接才能連接到 RDS。 有什么幫助嗎?

這不是您的問題的答案,而只是一個提示。 我認為在同一工作中啟動爬蟲並不是一個好主意。 您無法控制爬蟲何時完成以及它是否完成得好。 我要做的是創建一個 AWS Step Function 並創建工作流,首先是粘合作業,完成后,下一步將是爬蟲。 這樣您就可以控制和監控該過程。

我遇到了同樣的錯誤,並將我的 ETL 作業移至 aws glue 3.0,現在 boto3 客戶端正在為我工作。 讓我知道這是否不能解決您的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM