首页 > 解决方案 > 有没有办法在 AWS 胶水上使用 Apache Hudi?

问题描述

尝试探索 apach hudi 以使用 S3 作为源进行增量加载,然后最终通过 AWS 粘合作业将输出保存到 S3 中的不同位置。

有什么博客/文章可以作为起点提供帮助吗?

标签: apache-sparkamazon-s3aws-glueapache-hudi

解决方案


还有另一种可能的方法(根据罗伯特的回答),将自定义罐子包含到胶水作业中。然后这些将被加载到您的胶水作业中,并可以在任何其他 hadoop/spark 环境中使用。

实现此方法所需的步骤如下(至少这些适用于我的 pyspark 工作,如果您发现一些信息没有用尽或遇到一些麻烦,请纠正我,我会更新我的答案):

注 1:以下是批量写入,未针对 hudi 流进行测试
注 2:胶水作业类型:Spark,胶水版本:2.0,ETL 语言:python

  1. 获取 hudi 所需的所有相应 jar 并将它们放入 S3:
    • hudi-spark-bundle_2.11
    • httpclient-4.5.9
    • 火花avro_2.11
  2. 创建粘合作业时(见注 2),指定:
    • 依赖 jars 路径= 从点号开始的 jar 的逗号分隔路径。1(例如 s3://your-bucket/some_prefix/hudi-spark-bundle...jar,s3://your-bucket/some_prefix/http...jar,s3://your-bucket/some_prefix/spark -avro ....罐子)
  3. 根据hudi 文档中提供的文档创建您的脚本并尽情享受吧!

最后一点:确保为您的胶水作业分配适当的权限


推荐阅读