Tópicos adicionais
A seguir estão algumas maneiras de ajustar as aplicações que usam o Hive para acessar o DynamoDB.
Período de novas tentativas
Por padrão, o Hive executará novamente um trabalho do Hadoop se ele não tiver retornado quaisquer resultados do DynamoDB em até dois minutos. Você pode ajustar esse intervalo, modificando o parâmetro dynamodb.retry.duration
:
SET dynamodb.retry.duration=2;
O valor deve ser um número inteiro diferente de zero, representando o número de minutos no intervalo de repetição. O padrão de dynamodb.retry.duration
é 2 (minutos).
Solicitações de dados em paralelo
Várias solicitações de dados, seja de mais de um usuário ou de mais de um aplicativo, para uma única tabela pode esgotar o throughput provisionado de leitura e diminuir o desempenho.
Duração do processo
A consistência dos dados no DynamoDB depende da ordem de operações de leitura e gravação em cada nó. Embora uma consulta do Hive esteja em andamento, outra aplicação pode carregar novos dados para a tabela do DynamoDB ou modificar ou excluir dados existentes. Nesse caso, os resultados da consulta do Hive podem não refletir as alterações feitas nos dados enquanto a consulta estava em execução.
Tempo de solicitação
Programa consultas do Hive que acessam uma tabela do Dynamo quando há menor demanda na tabela do DynamoDB melhora a performance. Por exemplo, se a maioria dos usuários da sua aplicação vive em São Francisco, talvez você opte por exportar os dados diariamente às 4h (PST), ou seja, quando a maioria dos usuários está dormindo e não está atualizando registros em seu banco de dados do DynamoDB.