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

Error connecting SQL Workbench/J to Amazon Athena

我在通过JDBC 连接器。此外,这两个帮助资源的说明似乎有所不同:

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

错误信息如下:

[Simba]JDBC Connection Refused: [Simba]JDBC Required Connection Key(s): AwsRegion; [Simba]JDBC Optional Connection Key(s): AwsCredentialsProviderArguments, AwsCredentialsProviderClass, BinaryColumnLength, ComplexTypeColumnLength, ConnectTimeout, MaxCatalogNameLength, MaxColumnNameLength, MaxErrorRetry, MaxSchemaNameLength, MaxTableNameLength, ProxyHost, ProxyPort, ProxyPWD, ProxyUID, S3OutputEncOption, Schema, SocketTimeout, StringColumnLength, UseAwsLogger

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];...

这是我的做法

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

更新版本2.07

Bucket 现在是 S3OutputLocation 而不是 s3_staging_dir: