我是否可以将Athena View用作AWS胶水作业的来源? [英] Can I use Athena View as a source for a AWS Glue Job?

查看:12
本文介绍了我是否可以将Athena View用作AWS胶水作业的来源?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用雅典娜视图作为我的AWS胶水作业的数据源。我在尝试运行Glue作业时收到的错误消息与视图的分类有关。我能把它定义为什么呢? 谢谢您

Error Message Appearing

推荐答案

您可以使用Athena JDBC driver。这种方法绕过了目录,因为只有Athena(而不是2019年1月25日的Glue)可以直接访问视图。

  1. 下载驱动程序并将JAR存储到S3存储桶中。
  2. 在作业定义中将驱动程序的S3路径指定为dependent jar
  3. 使用以下代码将数据加载到动态框架中(使用IAM用户 使用permission to run Athena queries)。
from awsglue.dynamicframe import DynamicFrame
# ...
athena_view_dataframe = (
    glueContext.read.format("jdbc")
    .option("user", "[IAM user access key]")
    .option("password", "[IAM user secret access key]")
    .option("driver", "com.simba.athena.jdbc.Driver")
    .option("url", "jdbc:awsathena://athena.us-east-1.amazonaws.com:443")
    .option("dbtable", "my_database.my_athena_view")
    .option("S3OutputLocation","s3://bucket/temp/folder") # CSVs/metadata dumped here on load
    .load()
    )

athena_view_datasource = DynamicFrame.fromDF(athena_view_dataframe, glueContext, "athena_view_source")

驱动程序文档(pdf)提供IAM用户身份验证的替代方案(例如SAML、自定义提供程序)。

此方法的主要副作用是加载会导致查询结果以CSV格式转储到S3OutputLocation键指定的存储桶中。

我不相信您可以通过JDBC创建到雅典娜的Glue Connection,因为您无法指定驱动程序位置的S3路径。

致词:AWS支持完全帮助我使其正常工作。

这篇关于我是否可以将Athena View用作AWS胶水作业的来源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆