问题描述
尝试探索 apach hudi 以使用 S3 作为源进行增量加载,然后最终通过 AWS 粘合作业将输出保存到 S3 中的其他位置。
解决方法
所以我不完全确定您的用例,但是这个 article 可能对您有帮助。
这是关于如何通过 Glue 自定义连接器连接到 Hudi。
,还有另一种可能的方式(根据罗伯特的回答),将自定义罐子包含到粘合作业中。然后这些将加载到您的胶水作业中,并在任何其他 hadoop/spark 环境中可用。
实现这种方法所需的步骤如下(至少这些适用于我的 pyspark 工作,如果您发现一些信息没有耗尽或遇到一些麻烦,请纠正我,我会更新我的答案):
注意 1:以下是批量写入,没有针对 hudi 流进行测试
注意 2:Glue 作业类型:Spark,Glue 版本:2.0,ETL 语言:python
- 获取hudi所需的所有jar包并将它们放入S3:
- hudi-spark-bundle_2.11
- httpclient-4.5.9
- spark-avro_2.11
- 在创建粘合作业(见注 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)
- 根据 hudi docs 中提供的文档创建您的脚本并享受!
最后一点: 确保为您的粘合作业分配适当的权限