DynamoDB Connector

Athena使用Lambda作为与其他数据源的连接器,当athena查询其他数据源时,Athena调用Lambda代码以实现联合查询。

创建dynamodb数据源

点击Create data source

image-20230428070404956

选择DynamoDB类型:

image-20230428070428823

为数据源命名为dynamodb_db,然后点击创建一个Lambda, 这将打开一个指向Lambda 控制台的新窗口:

img

跳转到Lambda应用:

image-20231130152709292

Lambda的一些配置如下:

Property Value
Application name AthenaDynamoDBConnector
SpillBucket athena-federation-workshop-145197526627
AthenaCatalogName dynamo
DisableSpillEncryption false
LambdaMemory 3008
LambdaTimeout 900
SpillPrefix athena-spill-dynamo

image-20231130152920064

点击部署,创建完成lambda后,回到之前的页面。刷新lambda列表,选择刚才创建的lambda:

img

最后点击创建数据源。

创建完成后,数据源显示在athena页面:

image-20231130153142737

测试

data source列表里显示了dynamodb_db source, 选择dynamodb_db时,它把DynamoDB的表都查询出来了;

image-20231130154522304

在Query editor中运行以下查询:

select * from "lambda:dynamo".default.part limit 10;

查询结果:

image-20231130154219913

查询出来的数据和DynamoDB中的原始数据是统一的:

image-20231130154421577