2024-05-15 10:10:00 发布
网友
我试图在插入之前截断一个postgres目的表,通常,我试图利用GLUE中已经创建的连接来启动外部函数。在
有人能做到吗?在
我尝试过DROP/ TRUNCATE场景,但无法使用Glue中已经创建的连接,而是使用纯Python PostgreSQL驱动程序pg8000。在
DROP/ TRUNCATE
__init__.py
Python lib path
然后您可以简单地创建一个连接并执行SQL。在
import sys from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.dynamicframe import DynamicFrame from awsglue.job import Job import pg8000 args = getResolvedOptions(sys.argv, [ 'JOB_NAME', 'PW', 'HOST', 'USER', 'DB' ]) # ... # Create Spark & Glue context job = Job(glueContext) job.init(args['JOB_NAME'], args) # ... config_port = 5432 conn = pg8000.connect( database=args['DB'], user=args['USER'], password=args['PW'], host=args['HOST'], port=config_port ) query = "TRUNCATE TABLE {0};".format(".".join([schema, table])) cur = conn.cursor() cur.execute(query) conn.commit() cur.close() conn.close()
在遵循自然人回应的第(4)步之后
sc.addPyFile("/home/glue/downloads/python/pg8000.zip")
import pg8000
在一个开发端点为我工作(齐柏林笔记本)
更多信息:https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-libraries.html
我尝试过
DROP/ TRUNCATE
场景,但无法使用Glue中已经创建的连接,而是使用纯Python PostgreSQL驱动程序pg8000。在__init__.py
Python lib path
中的zip文件)。勾选“服务器端加密”框。在
然后您可以简单地创建一个连接并执行SQL。在
在遵循自然人回应的第(4)步之后
sc.addPyFile("/home/glue/downloads/python/pg8000.zip")
import pg8000
在一个开发端点为我工作(齐柏林笔记本)
更多信息:https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-libraries.html
相关问题 更多 >
编程相关推荐