有没有办法在 AWS 胶上使用 Apache Hudi?

问题描述

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

任何可以帮助这里作为起点的博客/文章

解决方法

所以我不完全确定您的用例,但是这个 article 可能对您有帮助。

这是关于如何通过 Glue 自定义连接器连接到 Hudi。

,

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

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

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

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

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