【问题标题】:Apache Zeppelin with Athena handling session token using jdbc InterpreterApache Zeppelin 与 Athena 使用 jdbc 解释器处理会话令牌
【发布时间】:2018-05-11 20:33:40
【问题描述】:
我正在尝试将 Athena 与 Apache Zeppelin 连接。我需要处理 secret_key、Access_key 和 Session_token。我很难建立与 Zeppelin JDBC 解释器的连接。
我正在按照this block 中提到的步骤进行操作,
如果有人可以帮助我建立与 AWS Session 令牌方法的连接,那将很有帮助。
谢谢
【问题讨论】:
标签:
amazon-web-services
jdbc
amazon-s3
apache-zeppelin
amazon-athena
【解决方案1】:
这方面的主要文档在这里:
https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html
我发现有 2 个驱动程序版本, -1.1.0 和 -1.0.1 。我只能让 Zeppelin 使用 1.1.0,并且该页面上的链接不会转到该文件,获得它的唯一方法是使用 aws s3 cp 命令
例如
aws s3 cp s3://athena-downloads/drivers/AthenaJDBC41-1.1.0.jar .
虽然我已经在该页面上提供了反馈,但它应该很快就会修复。
关于参数,您使用default.user并输入Access_Key,default.password并输入Secret_key。 default.driver 应该是 com.amazonaws.athena.jdbc.AthenaDriver
default.s3_staging_dir 实际上是写入 csv 结果的存储桶,因此需要与您的 athena 设置匹配。
没有提到您可以将会话令牌放在哪里,但是,您总是可以尝试将它放在 jdbc 连接字符串(在 default.url 参数值中)
例如
jdbc:awsathena://athena.{REGION}.amazonaws.com:443?SessionToken=blahblahsomethingrealsessiontokengoeshere
当然,将 {REGION} 替换为实际的 aws 区域并使用您的真实会话令牌。