将 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 关键字