将 SQL Workbench/J 连接到 Amazon Athena 时出错

Posted

技术标签:

【中文标题】将 SQL Workbench/J 连接到 Amazon Athena 时出错【英文标题】:Error connecting SQL Workbench/J to Amazon Athena 【发布时间】:2017-12-27 21:26:53 【问题描述】:

我在通过 JDBC 连接器将 SQL Workbench/J 连接到 Amazon Athena 时遇到了很多问题。此外,这两个帮助资源的说明似乎有所不同:

    http://docs.aws.amazon.com/athena/latest/ug/athena-sql-workbench.html https://s3.amazonaws.com/athena-downloads/drivers/JDBC/docs/Simba+Athena+JDBC+Driver+Install+and+Configuration+Guide.pdf

这是错误信息:

[Simba]JDBC 连接被拒绝:[Simba]JDBC 所需连接键:AwsRegion; [Simba]JDBC 可选连接键:AwsCredentialsProviderArguments、AwsCredentialsProviderClass、BinaryColumnLength、ComplexTypeColumnLength、ConnectTimeout、MaxCatalogNameLength、MaxColumnNameLength、MaxErrorRetry、MaxSchemaNameLength、MaxTableNameLength、ProxyHost、ProxyPort、ProxyPWD、ProxyUID、S3OutputEncOption、Schema、SocketTimeout、StringColumnLength、UseAwsLogger

【问题讨论】:

【参考方案1】:

documentation at #1 is deprecated,您可能会从两个指南中的不同文件名中收集到。自从从他们自己开发的 JDBC 驱动程序切换到他们从 Simba OEM 的驱动程序之后,亚马逊还没有完全清理他们的文档。

您没有提供您正在使用的 JDBC URL,因此我无法提供具体的更正,但您收到的错误消息似乎很清楚——您显然没有正确构建您的 JDBC URL。它缺少强制性的AwsRegion 设置。

注意您正在使用的 PDF guide for the JDBC driver 中的 URL 语法 --

jdbc:awsathena://AwsRegion=[Region];UID=[AccessKey];PWD=[SecretKey];S3OutputLocation=[Output];[Property1]=[Value1];[Property2]=[Value2];...

【讨论】:

【参考方案2】:

这是我的做法

    确保您已安装Java8 下载最新Athena jar 在sql工作台上新建一个驱动 添加jdbc连接和用户名/密码 location 将是您登录帐户的位置以及 url 中的设置因此我的 url 是:jdbc:awsathena://athena.us-east-2.amazonaws.com:443 用户名= 访问密钥 ID; Password= 秘密访问密钥 那么不要忘记扩展属性!将 s3_staging_dir 设置为您为 Athena 结果创建的存储桶,否则您将需要查看默认存储桶的创建内容。此存储桶必须以 aws-athena-query-results 开头

更新 2.07 版

Bucket 现在是 S3OutputLocation 而不是 s3_staging_dir:

【讨论】:

谢谢!这很有帮助。请务必使用 :443 !在我添加之前,我的没有工作。

以上是关于将 SQL Workbench/J 连接到 Amazon Athena 时出错的主要内容,如果未能解决你的问题,请参考以下文章

sql workbench/j 不会在数据库资源管理器中显示任何对象

SQL Workbench/J:运行 SQL 文件

如何在 SQL Workbench/J 中自定义 SQL 关键字

如何在 SQL Workbench/J 中配置 sql 查询快捷方式?

如何在 sql workbench / j 中添加计算列

如何在 SQL Workbench/J 上提高导入速度