Apache Zeppelin 与 Athena 使用 jdbc 解释器处理会话令牌

Posted

技术标签:

【中文标题】Apache Zeppelin 与 Athena 使用 jdbc 解释器处理会话令牌【英文标题】:Apache Zeppelin with Athena handling session token using jdbc Interpreter 【发布时间】:2018-05-11 20:33:40 【问题描述】:

我正在尝试将 Athena 与 Apache Zeppelin 连接。我需要处理 secret_key、Access_key 和 Session_token。我很难建立与 Zeppelin JDBC 解释器的连接。 我正在按照this block 中提到的步骤进行操作,

如果有人可以帮助我建立与 AWS Session 令牌方法的连接,那将很有帮助。

谢谢

【问题讨论】:

【参考方案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 区域并使用您的真实会话令牌。

【讨论】:

以上是关于Apache Zeppelin 与 Athena 使用 jdbc 解释器处理会话令牌的主要内容,如果未能解决你的问题,请参考以下文章

在 Zeppelin 中保存 AWS Athena 查询的结果

将 d3.js 与 Apache Zeppelin 一起使用

Apache Zeppelin 与 Ignite 集成时出现“无法启动 Ignite 节点”错误

交互式数据分析工具之Apache Zeppelin

在 Zeppelin 上使用 Apache Livy 解释器时,Matplotlib 不绘图

「大数据系列」:Apache zeppelin 多目标笔记本