Chame a operação CreateTimeseriesTable para criar uma tabela de séries temporais. Durante a criação, defina o tempo de vida (TTL) dos dados na tabela, as configurações de metadados das séries temporais, os identificadores personalizados e os campos de dados personalizados como colunas de chave primária. Também é possível criar um índice Lastpoint e um analytical store. O analytical store permite analisar rapidamente os dados de séries temporais, enquanto o índice Lastpoint recupera com agilidade os dados do ponto mais recente das séries temporais da tabela.
Pré-requisitos
-
Crie uma instância para o modelo TimeSeries. Para obter mais informações, consulte Criar uma instância para o modelo TimeSeries.
ImportantePara utilizar o recurso de analytical store ou índice Lastpoint, crie a instância do modelo TimeSeries em uma região que ofereça suporte a esses recursos.
Inicialize um cliente. Para obter mais informações, consulte Inicializar um cliente do Tablestore.
Observações de uso
-
O nome da nova tabela de séries temporais não pode ser igual ao de uma tabela de dados existente.
NotaUtilize a operação ListTimeseriesTable para consultar os nomes das tabelas de séries temporais em uma instância. Para obter mais informações, consulte Consultar os nomes das tabelas de séries temporais.
Crie apenas um analytical store por tabela de séries temporais.
A soma total de índices Lastpoint e analytical stores criados para uma tabela de séries temporais não pode exceder 10.
Especifique até quatro campos de dados como colunas de chave primária de uma tabela de séries temporais.
Defina até seis campos como identificadores personalizados de séries temporais em uma tabela.
Operação
public class CreateTimeseriesTableRequest implements Request {
/**The schema information of the time series table.*/
private TimeseriesTableMeta timeseriesTableMeta;
/**The analytical store information.*/
private List<TimeseriesAnalyticalStore> analyticalStores = new ArrayList<TimeseriesAnalyticalStore>();
/**Whether to enable the analytical store feature.*/
private boolean enableAnalyticalStore = true;
}
Parâmetros
|
Parâmetro |
Descrição |
|
TimeseriesTableMeta |
Configurações da tabela de séries temporais.
|
|
enableAnalyticalStore |
Define se o analytical store padrão deve ser criado. Valor padrão: true, o que indica a criação do analytical store padrão. Após criar um analytical store, utilize-o para armazenar dados de séries temporais a baixo custo, além de consultar e analisar esses dados. Para obter mais informações, consulte Analytical store para séries temporais. Caso não deseje criar um analytical store, defina este parâmetro como false. |
|
analyticalStores |
Configurações do analytical store, compostas pelos seguintes itens:
|
Exemplos
Criar uma tabela de séries temporais sem um analytical store
O código de exemplo a seguir demonstra como criar uma tabela de séries temporais chamada test_timeseries_table, na qual os dados nunca expiram:
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
// Specify that the default analytical store is not created.
request.setEnableAnalyticalStore(false);
client.createTimeseriesTable(request);
}
Criar uma tabela de séries temporais e um analytical store
Ao criar uma tabela de séries temporais, você pode criar o analytical store padrão ou um personalizado.
Criar uma tabela de séries temporais e o analytical store padrão
O código de exemplo a seguir mostra como criar uma tabela de séries temporais chamada test_timeseries_table, onde os dados nunca expiram, juntamente com o analytical store padrão. Neste exemplo, o nome do analytical store padrão é fixado como default_analytical_store e os dados contidos nele nunca expiram.
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
client.createTimeseriesTable(request);
}
Criar uma tabela de séries temporais e um analytical store personalizado
O código de exemplo abaixo ilustra a criação de uma tabela de séries temporais chamada test_timeseries_table, com dados que nunca expiram, simultaneamente a um analytical store personalizado. Neste cenário, o nome do analytical store personalizado é test_analytical_store e seus dados também nunca expiram.
private static void createTimeseriesTable(TimeseriesClient client) {
// Specify the name and TTL of the time series table.
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
// Specify the custom analytical store configurations.
List<TimeseriesAnalyticalStore> analyticalStores = new ArrayList<TimeseriesAnalyticalStore>();
analyticalStores.add(new TimeseriesAnalyticalStore("test_analytical_store"));
request.setAnalyticalStores(analyticalStores);
client.createTimeseriesTable(request);
}
Especificar identificadores personalizados de séries temporais e campos de dados personalizados como colunas de chave primária de uma tabela de séries temporais
O Tablestore SDK for Java V5.17.1 ou posterior permite especificar identificadores personalizados de séries temporais e campos de dados personalizados como colunas de chave primária. Ao configurar esses elementos como chave primária, certifique-se de utilizar a versão correta do Tablestore SDK for Java. Para obter mais informações, consulte Histórico de versões do Tablestore SDK for Java.
O exemplo de código a seguir demonstra como criar uma tabela de séries temporais onde os identificadores consistem em pk1 e pk2, e os campos de dados field1 (Integer), field2 (String) e field3 (Binary) são definidos como colunas de chave primária:
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
timeseriesTableMeta.addTimeseriesKey("pk1");
timeseriesTableMeta.addTimeseriesKey("pk2");
timeseriesTableMeta.addFieldPrimaryKey("field1", PrimaryKeyType.INTEGER);
timeseriesTableMeta.addFieldPrimaryKey("field2", PrimaryKeyType.STRING);
timeseriesTableMeta.addFieldPrimaryKey("field3", PrimaryKeyType.BINARY);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
client.createTimeseriesTable(request);
}
Criar uma tabela de séries temporais e um índice Lastpoint
O recurso de índice Lastpoint é suportado a partir do Tablestore SDK for Java V5.17.1. Ao utilizar esse recurso, verifique se está usando a versão adequada do Tablestore SDK for Java. Para obter mais informações, consulte Histórico de versões do Tablestore SDK for Java.
O código de exemplo abaixo mostra como criar uma tabela de séries temporais e, simultaneamente, um índice Lastpoint chamado index1 para essa tabela:
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
request.addLastpointIndex(new CreateTimeseriesTableRequest.LastpointIndex("index1"));
client.createTimeseriesTable(request);
}
Referências
Após criar uma tabela de séries temporais, grave e leia dados nela. Para obter mais informações, consulte Gravar dados de séries temporais e Consultar dados de séries temporais.
Para armazenar dados de séries temporais com baixo custo e realizar consultas e análises rápidas, crie um analytical store para a tabela de séries temporais. Para obter mais informações, consulte Criar um analytical store.
Para modificar o TTL dos dados em uma tabela de séries temporais, consulte Modificar as configurações de uma tabela de séries temporais.
Para consultar os nomes de todas as tabelas de séries temporais em uma instância, consulte Consultar os nomes das tabelas de séries temporais.
Para obter detalhes sobre como consultar as informações de uma tabela de séries temporais, consulte Consultar informações de uma tabela de séries temporais.
Caso precise excluir uma tabela de séries temporais desnecessária, consulte Excluir uma tabela de séries temporais.
Para fazer backup dos dados de séries temporais do Tablestore de forma econômica ou exportá-los como arquivos para dispositivos locais, use o serviço Data Integration do DataWorks para sincronizar os dados do Tablestore com o Object Storage Service (OSS) para armazenamento ou download. Para obter mais informações, consulte Sincronizar dados do Tablestore para o OSS.
Para conectar o Tablestore ao Grafana e visualizar dados de séries temporais, consulte Conectar ao Grafana.
Se você usa o Realtime Compute for Apache Flink para computação e análise de dados, armazene os resultados nas tabelas de séries temporais do Tablestore. Para obter mais informações, consulte Tutorial (modelo TimeSeries).