小编krc*_*hun的帖子

AWS Glue to Redshift:是否可以替换,更新或删除数据?

以下是关于我如何设置的一些要点:

  • 我有上传到S3的CSV文件和一个Glue爬虫设置来创建表和模式.
  • 我有一个Glue作业设置,它使用JDBC连接将数据从Glue表写入我们的Amazon Redshift数据库.Job还负责映射列并创建redshift表.

通过重新运行作业,我在redshift中获得重复的行(正如预期的那样).但是,有没有办法在插入新数据之前替换或删除行,使用密钥或胶水中的分区设置?

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

from awsglue.dynamicframe import DynamicFrame
from awsglue.transforms import SelectFields

from pyspark.sql.functions import lit

## @params: [TempDir, JOB_NAME]
args = getResolvedOptions(sys.argv, ['TempDir','JOB_NAME'])

sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)

columnMapping = [
    ("id", "int", "id", "int"),
    ("name", "string", "name", "string"),
]

datasource1 = glueContext.create_dynamic_frame.from_catalog(database = "db01", table_name = …
Run Code Online (Sandbox Code Playgroud)

jdbc amazon-web-services pyspark aws-glue

22
推荐指数
4
解决办法
1万
查看次数

标签 统计

amazon-web-services ×1

aws-glue ×1

jdbc ×1

pyspark ×1