Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais aqui.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Mapeamentos de modelos de dados para carregamento em lote
O seguinte discute o esquema para mapeamentos de modelos de dados e fornece um exemplo.
Esquema de mapeamentos do modelo de dados
A sintaxe da solicitação CreateBatchLoadTask e um objeto BatchLoadTaskDescription retornado por uma chamada para o DescribeBatchLoadTask inclui um objeto DataModelConfiguration que inclui o DataModel para carregamento em lote. Ele DataModel define mapeamentos dos dados de origem armazenados no formato CSV em um local do S3 para um Timestream de destino para banco de dados e tabela. LiveAnalytics
O TimeColumn campo indica a localização dos dados de origem para o valor a ser mapeado para a time coluna da tabela de destino no Timestream for. LiveAnalytics O TimeUnit especifica a unidade para o TimeColumn, e pode ser qualquer opção dentre MILLISECONDS, SECONDS, MICROSECONDS ou NANOSECONDS. Também há mapeamentos para dimensões e medidas. Os mapeamentos de dimensões são compostos por colunas de origem e campos de destino.
Para obter mais informações, consulte DimensionMapping. Os mapeamentos para medidas têm duas opções, MixedMeasureMappings e MultiMeasureMappings.
Para resumir, a DataModel contém mapeamentos de uma fonte de dados em um local do S3 para um Timestream de destino para a tabela a seguir. LiveAnalytics
-
Tempo
-
Dimensões
-
Medidas
Se possível, recomendamos que você mapeie os dados de medida para registros de várias medidas no Timestream for. LiveAnalytics Para obter informações sobre os benefícios de registros de várias medidas, consulte Registros de várias medidas.
Se várias medidas nos dados de origem forem armazenadas em uma linha, você poderá mapear essas várias medidas para registros de várias medidas no Timestream para uso. LiveAnalytics MultiMeasureMappings Se houver valores que devem ser mapeados para um registro de medida única, você pode usar MixedMeasureMappings.
Tanto MixedMeasureMappings quanto MultiMeasureMappings incluem MultiMeasureAttributeMappings. Registros de várias medidas são suportados, independentemente da necessidade de registros de medida única.
Se somente registros de destino de várias medidas forem necessários no Timestream for LiveAnalytics, você poderá definir mapeamentos de medidas na estrutura a seguir.
CreateBatchLoadTask
MeasureNameColumn
MultiMeasureMappings
TargetMultiMeasureName
MultiMeasureAttributeMappings array
nota
Recomendamos utilizar MultiMeasureMappings sempre que possível.
Se forem necessários registros de destino de medida única no Timestream for LiveAnalytics, você poderá definir mapeamentos de medida na estrutura a seguir.
CreateBatchLoadTask
MeasureNameColumn
MixedMeasureMappings array
MixedMeasureMapping
MeasureName
MeasureValueType
SourceColumn
TargetMeasureName
MultiMeasureAttributeMappings array
Quando você usa MultiMeasureMappings, a matriz MultiMeasureAttributeMappings é sempre necessária. Quando você usa a matriz MixedMeasureMappings, se MeasureValueType for MULTI para um determinado MixedMeasureMapping, MultiMeasureAttributeMappings é necessário para este MixedMeasureMapping. Caso contrário, MeasureValueType indica o tipo de medida para o registro de medida única.
De qualquer forma, há uma matriz de MultiMeasureAttributeMapping disponível. Você define os mapeamentos para registros de várias medidas em cada MultiMeasureAttributeMapping da seguinte forma:
SourceColumn-
A coluna nos dados de origem que está localizada no Amazon S3.
TargetMultiMeasureAttributeName-
O nome do nome de várias medidas de destino na tabela de destino. Essa entrada é necessária quando
MeasureNameColumnnão é fornecido. SeMeasureNameColumnfor fornecido, o valor dessa coluna será utilizado como nome de várias medidas. MeasureValueType-
Um dentre
DOUBLE,BIGINTBOOLEAN,VARCHARouTIMESTAMP.
Mapeamentos de modelos de dados com exemplo MultiMeasureMappings
Este exemplo demonstra o mapeamento para registros de várias medidas, a abordagem preferida, que armazena cada valor de medida em uma coluna dedicada. Você pode baixar um exemplo de CSV em Amostra CSV. A amostra tem os seguintes cabeçalhos para mapear para uma coluna de destino em um Timestream for table. LiveAnalytics
-
time -
measure_name -
region -
location -
hostname -
memory_utilization -
cpu_utilization
Identifique as colunas time e measure_name no arquivo CSV. Nesse caso, eles são mapeados diretamente para o Timestream para colunas de LiveAnalytics tabelas com os mesmos nomes.
-
timeé mapeado paratime -
measure_nameé mapeado parameasure_name(ou o valor escolhido)
Ao usar a API, você especifica time no campo TimeColumn e um valor de unidade de tempo compatível, como MILLISECONDS no TimeUnit campo. Eles são correspondentes ao Nome da coluna de origem e à Entrada de hora do registro de data e hora no console. Você pode agrupar ou particionar registros usando o measure_name, que é definido com a chave MeasureNameColumn.
Na amostra, region, location e hostname são dimensões. As dimensões são mapeadas em uma matriz de objetos DimensionMapping.
Para medidas, o valor se TargetMultiMeasureAttributeName tornará uma coluna na tabela Timestream for LiveAnalytics . Você pode manter o mesmo nome, como neste exemplo. Ou você pode especificar um novo nome. MeasureValueType é um dentre DOUBLE, BIGINT, BOOLEAN, VARCHAR ou TIMESTAMP.
{ "TimeColumn": "time", "TimeUnit": "MILLISECONDS", "DimensionMappings": [ { "SourceColumn": "region", "DestinationColumn": "region" }, { "SourceColumn": "location", "DestinationColumn": "location" }, { "SourceColumn": "hostname", "DestinationColumn": "hostname" } ], "MeasureNameColumn": "measure_name", "MultiMeasureMappings": { "MultiMeasureAttributeMappings": [ { "SourceColumn": "memory_utilization", "TargetMultiMeasureAttributeName": "memory_utilization", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "cpu_utilization", "TargetMultiMeasureAttributeName": "cpu_utilization", "MeasureValueType": "DOUBLE" } ] } }
Mapeamentos de modelos de dados com exemplo MixedMeasureMappings
Recomendamos que você use essa abordagem somente quando precisar mapear registros de medida única no Timestream para. LiveAnalytics