Power BI 能连接 DynamoDB 吗?
不能直连。Power BI 没有原生的 DynamoDB 连接器,因为 AWS 本身就没有为 DynamoDB 提供 ODBC 或 JDBC 驱动。你得间接连接:通过 Amazon Athena 查询这张表——走联邦查询,或者把数据导出到 S3——并使用 Athena 的 ODBC 连接器;或者用 CData 之类的第三方 ODBC 驱动。
为什么没有直连的连接器
DynamoDB 是一个 NoSQL 的、由 API 驱动的服务,不是一个 SQL 端点,而且 AWS 没有为它提供 ODBC/JDBC 驱动。Power BI 的数据源期待的是 SQL 风格的连接方式,所以需要一座桥。
方案一:经由 Amazon Athena
Athena 可以用它的联邦查询连接器来查询 DynamoDB,也可以查询你从 DynamoDB 导出到 Amazon S3 的数据。然后 Power BI 用 Athena ODBC 连接器以 Import 或 DirectQuery 模式连上 Athena。
方案二:第三方 ODBC 驱动
CData 之类的厂商出售能直接与 DynamoDB 对话的 ODBC 驱动和 Power BI 连接器,把它暴露成一个类 SQL 的数据源。
方案三:把数据导出去
把 DynamoDB 导出到 S3(或 CSV),再把文件加载进 Power BI——做时点报表时最简单。
一次 DirectQuery 刷新实际要花多少钱
Athena 连接器不是一个焊在 DynamoDB 上的 SQL 引擎。它调用的就是你自己会调的那些 API,而 AWS 的连接器参考对这什么时候会变成扫描说得很具体:
Athena DynamoDB 连接器支持并行扫描,并会尝试把谓词作为其 DynamoDB 查询的一部分下推。一个带
X个不同取值的哈希键谓词,会产生对 DynamoDB 的X次 query 调用。其他所有谓词场景都会产生Y次 scan 调用,其中Y是根据你的表大小及其预置吞吐量启发式地确定的。
所以一个按分区键过滤的报表视觉对象会变成一次 Query。其余的都会变成扫描。那八个确实会下推的运算符(AND、EQUAL、NOT_EQUAL、LESS_THAN、LESS_THAN_OR_EQUAL、GREATER_THAN、GREATER_THAN_OR_EQUAL、IS_NULL)下推成的是一个过滤表达式,而 DynamoDB 是在读完项目之后才应用它的。下推削减的是过线的数据量,不是你付的钱。
给它标个价。DynamoDB 会按它评估过的项目的累计大小,把一次 Query 或 Scan 向上取整到 4 KB,于是扫描一个 GiB 就是 262,144 个强一致性读取单元,或者 131,072 个最终一致性读取单元。按我们定价计算器背后的 us-east-1 按需费率、每个读取请求单元 $0.000000125 计算:
| 表大小 | 一次全量扫描 | 每小时刷新,持续 30 天 | 每 15 分钟刷新 |
|---|---|---|---|
| 5 GB | $0.08 | $58.98 | $235.93 |
| 20 GB | $0.33 | $235.93 | $943.72 |
| 50 GB | $0.82 | $589.82 | $2,359.30 |
这只是读取单元。Athena、连接器的 Lambda 函数和它的 S3 溢出桶还要另外计费,而且这个下限可能高于数据量本身:"Empty tables and very large tables which have a sparse amount of partition keys might see some additional RCUs charged beyond the amount of data scanned."
以上说的是按计划执行的 Import 模式。一个被十个人一直开着的 DirectQuery 报表,每点一下都会把那些扫描重跑一遍。
深入了解
参见把 DynamoDB 导出为 CSV。至于那些 SQL 形状的问题本身——JOIN、GROUP BY、聚合——DynoTable 的 SQL Workbench能直接针对你的表运行它们,不需要任何 ODBC 桥。下载 DynoTable 来查询和导出你的表数据。
参考资料
- Use the Amazon Athena Power BI connector — Amazon Athena User Guide
- Amazon Athena DynamoDB connector — Amazon Athena User Guide
- DynamoDB data export to Amazon S3: how it works — Amazon DynamoDB Developer Guide
- DynamoDB read and write operations — Amazon DynamoDB Developer Guide
最后核实于 2026-07-13,依据上方链接的 AWS 官方文档。
连接器行为与扫描成本表核实于 2026-07-28:引用的句子来自当天取回的 Athena 连接器参考与 DynamoDB Scan 页面,金额则使用我们同步的定价表中的 us-east-1 按需读取费率(AWS 定价 API 于 2026-07-22 发布)。