我正在尝试使用Athena View作为我的AWS Glue Job的数据源。我在尝试运行Glue作业时收到的错误消息是关于视图的分类的。我可以定义为什么? 谢谢
答案 0 :(得分:2)
您可以使用Athena JDBC driver。这种方法绕过了目录,因为只有Athena(而截至2019年1月25日,Glue才可以)直接访问视图。
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为Athena创建Glue Connection,因为您无法指定驱动程序位置的S3路径。
出处:AWS支持完全帮助我完成了这项工作。