我已经发现这是可能的,但是对于红移,怎么可能用Spark或胶水目录来做不同的事情呢?我在使用AWS Glue笔记本加载表之前尝试截断表时遇到了一个问题。
tsm1rwdh1#
我分享了在将表加载到AWS Glue notebook之前截断表的代码片段。此代码有助于确保在加载新数据之前清除目标表中的任何现有数据。
sdf =spark.sql(sql)conf = glueContext.extract_jdbc_conf("conn-dlh-datos-fed")(sdf.write .mode('overwrite') .format("jdbc") .option("url", conf['url']) .option("connschema", "<db>") .option("user", conf['user']).option("dbtable", "<schema>.<table>") .option('truncate','true') .option("password", conf['password']) .save())
sdf =spark.sql(sql)
conf = glueContext.extract_jdbc_conf("conn-dlh-datos-fed")
(sdf.write
.mode('overwrite')
.format("jdbc")
.option("url", conf['url'])
.option("connschema", "<db>")
.option("user", conf['user'])
.option("dbtable", "<schema>.<table>")
.option('truncate','true')
.option("password", conf['password'])
.save()
)
字符串或者可替代地:
sdf=spark.sql(sql)conf = glueContext.extract_jdbc_conf("conn-dlh-datos-fed")(sdf.write .mode('overwrite') .format("jdbc") .option("url", f"{conf['url']}/{conf['url'].split('//')[1].split('.')[0]}?user={conf['user']}&password={conf['password']}&ReadOnly=false") .option("dbtable", "<schema>.<table>") .option('truncate','true') .save())
sdf=spark.sql(sql)
.option("url", f"{conf['url']}/{conf['url'].split('//')[1].split('.')[0]}?user={conf['user']}&password={conf['password']}&ReadOnly=false")
型请注意,我在拆分url conf时得到的db name完整的URL是:'jdbc:postgresql://<db>.xxx.us-east-1.rds.amazonaws.com:5432/<db>?user=<user>&password=<pass>&ReadOnly=false'原来的解决方案可以找到这个:stackoverflow
'jdbc:postgresql://<db>.xxx.us-east-1.rds.amazonaws.com:5432/<db>?user=<user>&password=<pass>&ReadOnly=false'
1条答案
按热度按时间tsm1rwdh1#
我分享了在将表加载到AWS Glue notebook之前截断表的代码片段。此代码有助于确保在加载新数据之前清除目标表中的任何现有数据。
字符串
或者可替代地:
型
请注意,我在拆分url conf时得到的db name
完整的URL是:
'jdbc:postgresql://<db>.xxx.us-east-1.rds.amazonaws.com:5432/<db>?user=<user>&password=<pass>&ReadOnly=false'
原来的解决方案可以找到这个:stackoverflow