AWS Glue 可以逐行处理记录吗

Posted

技术标签:

【中文标题】AWS Glue 可以逐行处理记录吗【英文标题】:Can AWS Glue process records row wise 【发布时间】:2018-01-25 08:19:15 【问题描述】:

我需要将记录从一个红移集群处理到另一行。我们希望按行处理,因为我们希望以不同的方式处理失败/无效记录。另一个好处是我们希望避免在一条记录失败的情况下进行批量重新处理。那么,想检查一下 AWS Glue 是否适合这种情况?如果这不适合任何其他提供行处理功能的工具?

【问题讨论】:

在 Redshift 上按行处理记录对于任何大量数据的效率都将非常低。 【参考方案1】:

AWS 胶水允许您在转换过程中实施自己的 PySpark 脚本。

Pyspark 允许实现对每一行运行的函数。

有很多方法可以做到这一点,例如:

def f_udf(x):
    return (x + 1)
df2 = df.withColumn("result", max_udf(df.col1))

thi 对 df 的每一行运行函数 f_udf 并生成 df2。

AWS Glue 特定文档可在此处找到

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-dynamic-frame.html#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-map

【讨论】:

以上是关于AWS Glue 可以逐行处理记录吗的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 Athena View 作为 AWS Glue 作业的来源吗?

我们可以将 AWS Glue 视为 EMR 的替代品吗?

我们可以将AWS Glue视为EMR的替代品吗?

AWS Glue 可以通过 SFTP 连接到远程服务器吗?

AWS Glue PySpark 无法计算记录

我可以使用AWS Glue将S3上的json数据转换为柱状格式并将其推送到Redshift吗?