从 AWS EMR 查询 DynamoDB table 时,Hive 中是否总是需要两个 table(本地、外部)?

Are two tables (native, external) always required in Hive for querying a DynamoDB table from AWS EMR?

从 AWS EMR 查询 DynamoDB table 是否总是需要两个配置单元 table(本机、外部)?

我使用映射到 DynamoDB [=31] 的外部配置单元 table 创建了本地配置单元 table(CTAS,将 table 创建为 select) =].我对外部 table 的(读取)查询时间很慢,它耗尽了读取吞吐量,而本机 table 速度很快,并且没有消耗读取吞吐量。

我的问题:

  1. 这是标准的 practice/best 做法吗,即创建一个映射到 dynamodb table 的外部 table,然后创建一个 CTAS 并针对所有的 CTAS 进行查询阅读查询用例?

  2. Dynamodb 上的 GSI 在哪里或如何出现在 Hive 方面?出于这种好奇心,我尝试将我的外部配置单元 table 列映射到 dynamodb GSI 和一些预期会看到 NULL 的内容。 所以,回到 #2 问题,想知道 GSI 如何与本机或外部配置单元一起使用 table?

谢谢,

答案是否定的
但是,根据我的观察,如果蜂巢本机 table 数据由引用 DynamoDb table 的蜂巢外部 table 支持(CTAS):如果您正在查询本机蜂巢,则不考虑读取数据table 来自 EMR。如果你考虑到 hive native table 的定期更新(刷新数据)。