使用 AWS Glue 数据目录在 Kubernetes(非 EMR)上运行 Spark

Or *_*cov 5 amazon-web-services apache-spark aws-glue aws-glue-data-catalog

我正在 EKS 上运行 Spark 作业,这些作业是从 Jupyter 笔记本提交的。

我们将所有表都放在 S3 存储桶中,它们的元数据位于 Glue 数据目录中。

我想使用 Glue 数据目录作为这些 Spark 作业的 Hive 元存储。我发现当 Spark 在 EMR 中运行时可以这样做:https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html

但是 Spark 可以在 EKS 上运行吗?

我已经看到 aws 发布的代码: https: //github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore 但我不明白是否需要修补 Hive jar为了我想做的事。另外,我需要 hive-site.xml 文件来将 Spark 连接到元存储,如何从 Glue 数据目录获取此文件?

小智 2

我找到了解决方案。

我使用以下说明创建了一个新的 Spark 图像:https://github.com/viaduct-ai/docker-spark-k8s-aws

最后在我的工作 yaml 文件中,我添加了一些配置

sparkConf:
   ...
    spark.hadoop.fs.s3a.impl: "org.apache.hadoop.fs.s3a.S3AFileSystem"
    spark.hadoop.fs.s3.impl: "org.apache.hadoop.fs.s3a.S3AFileSystem"
Run Code Online (Sandbox Code Playgroud)