是否可以将查询限制到某个Amazon Athena数据库,以便只针对该数据库运行查询?
我想像
jdbc:awsathena://athena.us-east-1.amazonaws.com:443/databasename
,以便查询
SELECT * FROM exampletable
是可能的。而不是
SELECT * FROM databasename.exampletable
感谢任何提示。
答案 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;