我正在使用 AWS Glue Spark 和 python 作业将数据从 s3 同步到本地 Sql Server,并使用 AWS Wrangler 和附加的 pyodbc 轮文件。当我运行我的工作时,我收到此错误“ModuleNotFoundError:您需要分别安装 pyodbc AWS Data Wrangler 包以及sqlserver
使用 sqlserver 模块的额外内容”。
需要有关如何分别使用 AWS Data Wrangler 软件包安装 pyodbc 的帮助。
我尝试导入 pyodbc 的另一种方法是从 importlib.util.find_spec("pyodbc") 但也得到相同的错误。
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
import importlib
import awswrangler as wr
from awswrangler import _data_types
from awswrangler import _databases as _db_utils
from awswrangler import exceptions
from awswrangler import sqlserver
__all__ = ["connect", "read_sql_query", "read_sql_table", "to_sql"]
_pyodbc_found = importlib.util.find_spec("pyodbc")
if _pyodbc_found:
import pyodbc
args = getResolvedOptions(sys.argv, ['JOB_NAME'])
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)
con = wr.sqlserver.connect(connection="glue_to_onprem_test_1", jdbc_driver_version=3.0)
df = wr.sqlserver.read_sql_query(sql="SELECT TOP 10 * FROM dbo.GlueDataSync", con=con)
con.close()