如何从 AWS Glue Python Shell 连接到 RDS 实例?

Rak*_*uha 4 python amazon-web-services amazon-rds aws-glue

我正在尝试从 AWS Glue 访问 RDS 实例,我在 EC2 实例中运行了一些 Python 脚本,并且我目前使用 PYODBC 进行连接,但是在尝试为胶水安排作业时,我无法导入 PYODBC,因为 AWS 本身不支持它胶水,不确定驱动程序如何在胶水外壳中工作。

ya2*_*410 7

来自:在 AWS Glue公告中介绍 Python Shell 作业:

AWS Glue 中的 Python shell 作业支持与 Python 2.7 兼容的脚本,并预加载了 Boto3、NumPy、SciPy、pandas 等库。

模块列表不包括pyodbc模块,因为它依赖于它不能提供自定义.egg文件 libodbc.so.2pyodbc.so库。

我认为你有两个选择:

  1. 从 Glue 的控制台创建到您的数据库的jdbc 连接,并使用 Glue 的内部方法对其进行查询。这当然需要更改代码。
  2. 请改用 Lambda 函数。您需要将pyodbc 和所需的库以及您的代码打包到一个 zip 文件中。有人已经为 AWS Lambda 编译了这些库,请参阅此处

希望能帮助到你

  • 不幸的是,psycopg2 没有预装在 Glue 的 python shell 中。但是你可以使用 jdbc connection + pandas (2认同)
  • 不适用于 Glue 的 python shell。但是在“安全配置、脚本库和作业参数”>“Python 库路径”和“依赖 jars 路径”下使用 Glue 的 Spark 作业(Python/Scala)是可能的 (2认同)