遍历AWS Glue文档,我看不到有关如何通过“ Python shell”类型的Glue作业连接到Postgres RDS的任何提及。我已经在AWS Glue中设置了RDS连接,并确认可以连接到RDS。另外,在创建Python作业时,我可以看到我的连接并将其添加到脚本中。
如何使用添加到Glue作业中的连接来运行一些原始SQL?
预先感谢
答案 0 :(得分:0)
有2种可能的方法可以通过胶水etl(火花)从RDS访问数据:
第一个选项:
代码示例:
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)
注意: