簡體   English   中英

SQL 服務器連接與 AWS GLUE Python 3 工作

[英]SQL Server connection with AWS GLUE Python 3 Job

我已經編寫了一個 python 作業,該作業使用 sqlAlchemy 來查詢 SQL 服務器數據庫,但是當使用外部庫和 AWS Glue 時,您需要將這些庫包裝在一個雞蛋文件中。 這會導致 sqlAlchemy package 出現問題,因為它使用 pyodbc package,據我了解它還有其他依賴項。

我試圖嘗試在 Python Glue 作業中找到連接到 SQL 服務器數據庫的方法,但到目前為止,我能找到的最接近的建議表明我編寫了一個不合適的 Spark 作業。

有沒有人在 Python 3 膠水作業中連接到 SQL 服務器的經驗? 如果是這樣,我可以使用示例代碼片段 + 包嗎?

是的,我實際上設法通過捆綁包括傳遞依賴項在內的依賴項來做類似的事情。

請按照以下步驟操作:

1 - 創建一個腳本,將所有代碼和依賴項壓縮到 zip 文件並上傳到 S3:

python3 -m pip install -r requirements.txt --target custom_directory
python3 -m zipapp custom_directory/
mv custom_directory.pyz custom_directory.zip

上傳這個 zip 而不是雞蛋或輪子。

2 - 創建一個驅動程序來執行我們剛剛在步驟 1 中壓縮的 python 源程序。

import sys

if len(sys.argv) == 1:
    raise SyntaxError("Please provide a module to load.")
sys.path.append(sys.argv[1])

from your_module import your_function
sys.exit(your_function())

3 - 然后您可以使用以下方式提交您的工作:

spark-submit --py-files custom_directory.zip your_program.py

看:

如何將所有 python 代碼捆綁到單個 zip 文件中?

我似乎無法讓 Spark 上的 --py-files 工作

暫無
暫無

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

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