Athena使用Lambda作为与其他数据源的连接器,当athena查询其他数据源时,Athena调用Lambda代码以实现联合查询。
点击Create data source
:
选择DynamoDB类型:
为数据源命名为dynamodb_db
,然后点击创建一个Lambda, 这将打开一个指向Lambda 控制台的新窗口:
跳转到Lambda应用:
Lambda的一些配置如下:
Property | Value |
---|---|
Application name | AthenaDynamoDBConnector |
SpillBucket | athena-federation-workshop-145197526627 |
AthenaCatalogName | dynamo |
DisableSpillEncryption | false |
LambdaMemory | 3008 |
LambdaTimeout | 900 |
SpillPrefix | athena-spill-dynamo |
点击部署,创建完成lambda后,回到之前的页面。刷新lambda列表,选择刚才创建的lambda:
最后点击创建数据源。
创建完成后,数据源显示在athena页面:
data source列表里显示了dynamodb_db
source, 选择dynamodb_db
时,它把DynamoDB的表都查询出来了;
在Query editor中运行以下查询:
select * from "lambda:dynamo".default.part limit 10;
查询结果:
查询出来的数据和DynamoDB中的原始数据是统一的: