gpt4 book ai didi

aws-glue - 通过 AWS Glue Python 脚本连接到 Postgres

转载 作者:行者123 更新时间:2023-12-03 23:52:12 26 4
gpt4 key购买 nike

通过 AWS Glue 文档,我看不到任何关于如何通过“Python shell”类型的 Glue 作业连接到 Postgres RDS 的内容。我已经在 AWS Glue 中设置了 RDS 连接并验证我可以连接到我的 RDS。此外,在创建 Python 作业时,我可以看到我的连接并将其添加到脚本中。

如何使用添加到 Glue 作业的连接来运行一些原始 SQL?

提前致谢,

最佳答案

在glue etl (spark) 中有两种可能的方法来访问来自RDS 的数据:

第一个选项 :

  • 在 RDS 顶部创建胶水连接
  • 在第一步创建的这个胶水连接之上创建一个胶水爬行器
  • 运行爬虫以使用指向 RDS 表的数据库和表填充胶水目录。
  • 使用新创建的数据库和胶水目录中的表在胶水 etl 中创建一个动态框架。

  • 代码示例:
    from pyspark.context import SparkContext
    from awsglue.context import GlueContext
    glueContext = GlueContext(SparkContext.getOrCreate())
    DyF = glueContext.create_dynamic_frame.from_catalog(database="{{database}}", table_name="{{table_name}}")

    第二个选项

    使用 spark sql 创建数据框:
    url = "jdbc:postgresql://<rds_host_name>/<database_name>"
    properties = {
    "user" : "<username>",
    "password" : "<password>"
    }
    df = spark.read.jdbc(url=url, table="<schema.table>", properties=properties)

    笔记 :
  • 您需要通过 postgres jdbc jar 来使用 spark sql 创建数据库。
  • 我在胶水 etl 上尝试了第一种方法,在 python shell(开发端点)上尝试了第二种方法
  • 关于aws-glue - 通过 AWS Glue Python 脚本连接到 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55973491/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com