使用jdbc url限制对特定Amazon Athena数据库的查询

时间:2017-06-01 14:01:49

标签: amazon-web-services jdbc amazon amazon-athena

是否可以将查询限制到某个Amazon Athena数据库,以便只针对该数据库运行查询?

我想像

jdbc:awsathena://athena.us-east-1.amazonaws.com:443/databasename

,以便查询

SELECT * FROM exampletable

是可能的。而不是

SELECT * FROM databasename.exampletable

感谢任何提示。

3 个答案:

答案 0 :(得分:4)

可以使用以下JDBC url:

create proc dbo.p_Update_dynamicdate
as
Begin

    Declare @date as datetime, @count as int
    set @date =getdate()
    set @count =1

    truncate table dynamicdate --Delete old data

    while @count<=15 
    Begin
        insert into dynamicdate(Ddate)  
        select Dateadd(d,@count,getdate())
        set @count=@count+1
    End

End

如果使用此网址进行连接,则每次访问表格时都不需要添加数据库名称。

答案 1 :(得分:0)

在通过JDBC连接时无法使用Athena设置数据库。这在Athena docs here中列出。

以下是在Athena语句中描述数据库名称空间的代码段。

  

JDBC使用默认数据库,但您也可以创建数据库并使用它们。在这种情况下,您应该在编写查询时使用数据库标识符作为表名的命名空间前缀,以区分默认数据库和自定义数据库中的表。

答案 2 :(得分:0)

您可以在jdbc URL中指定以下架构属性;

jdbc:awsathena://athena.[Region].amazonaws.com:443;User=[AccessKey];Password=[SecretKey];S3OutputLocation=[Output];Schema=[databasename];

然后您可以执行以下查询而无需数据库名称;

SELECT * FROM exampletable;