Todos los productos
Search
Centro de documentos

Tablestore:Specify custom time series identifiers and custom data fields as the primary key columns

Última actualización: Sep 22, 2026

De forma predeterminada, los identificadores de series temporales en el modelo TimeSeries se componen del nombre de la métrica, el origen de datos y las etiquetas. Usted puede especificar identificadores de series temporales personalizados según sus requisitos de negocio. En una tabla de series temporales, cada fila de datos se identifica de manera única mediante los identificadores de series temporales y la marca de tiempo. También es posible especificar campos de datos personalizados como columnas de clave principal para almacenar varias filas que compartan los mismos identificadores y la misma marca de tiempo, pero con datos distintos. Este tema describe cómo especificar identificadores de series temporales personalizados y campos de datos personalizados como columnas de clave principal de una tabla de series temporales.

Notas de uso

La especificación de identificadores de series temporales personalizados y campos de datos personalizados como columnas de clave principal está disponible en las siguientes regiones: China (Hangzhou), China (Shanghai), China (Beijing) y China (Zhangjiakou). Para utilizar esta función, cree una instancia para el modelo TimeSeries en alguna de estas regiones.

Escenarios

Especificar identificadores de series temporales personalizados

Este método es adecuado para escenarios que requieren posicionamiento temporal preciso, consultas por rango, análisis de tendencias y asociación de eventos. A continuación se describen estos casos:

  • Resolución de problemas y análisis de causa raíz

    En las operaciones de TI y el monitoreo de equipos industriales, los identificadores de series temporales personalizados ayudan a marcar con precisión el momento en que ocurren las fallas. Al combinarlos con otros datos de series temporales, como el estado del dispositivo y la información de registros, permiten localizar rápidamente las causas de los problemas para el análisis de causa raíz.

  • Análisis del comportamiento de los usuarios

    En las aplicaciones de internet, estos identificadores facilitan el análisis de los periodos de actividad, la duración de las sesiones y las rutas de comportamiento de los usuarios. Esto se logra al registrar la hora de inicio de sesión, el tiempo de visualización de las páginas y la secuencia de operaciones. Este enfoque basado en datos optimiza la experiencia del usuario y mejora las recomendaciones inteligentes de contenido.

  • Auditoría de transacciones financieras

    En el sector financiero, cada transacción requiere una marca de tiempo precisa. Los identificadores de series temporales personalizados garantizan la secuencia e integridad de las transacciones. Además, sirven para realizar análisis antifraude, como identificar patrones anómalos y rastrear flujos de fondos.

Al especificar identificadores de series temporales personalizados, usted agrupa, filtra y analiza los datos de manera flexible. Esto permite una gestión detallada y genera información más profunda en diversos escenarios de negocio.

Datos de series temporales de ejemplo

La siguiente tabla muestra datos de ejemplo para monitorear la temperatura y la humedad de dispositivos industriales.

  • Las columnas measurement, data_source, area y _tags son campos de los identificadores de series temporales personalizados. Estas columnas almacenan el nombre de la métrica, el origen de datos, la región y las etiquetas, respectivamente.

  • La columna _time almacena la marca de tiempo.

  • Las columnas temperature y humidity almacenan la temperatura y la humedad, respectivamente.

measurement

data_source

area

_tags

_time

temperature

humidity

temperature

sensorA001

production

["sensor_type=typeA",

"sensor_version=1.0"]

1712476514000000

24.5

temperature

sensorA002

production

["sensor_type=typeA",

"sensor_version=1.0"]

1712476524000000

24.5

temperature

sensorA002

maintenance

["sensor_type=typeA",

"sensor_version=1.1"]

1712476534000000

23.0

humidity

sensorB001

production

["sensor_type=typeB",

"sensor_version=1.0"]

1712476514000000

0.55

humidity

sensorB001

maintenance

["sensor_type=typeB",

"sensor_version=1.0"]

1712476524000000

0.50

Especificar campos de datos personalizados como columnas de clave principal

Utilice este método cuando necesite almacenar varias filas de datos de series temporales con los mismos identificadores y la misma marca de tiempo. Para lograrlo, especifique campos de datos personalizados como columnas de clave principal de su tabla de series temporales. A continuación se describen los escenarios aplicables:

  • Análisis de asociación de eventos

    En algunos escenarios de análisis complejos, es necesario asociar datos de series temporales mediante campos distintos a los identificadores. Al especificar campos de datos personalizados como columnas de clave principal, usted localiza rápidamente los datos de un dispositivo específico en marcas de tiempo concretas. Esta opción resulta útil para resolver problemas y analizar comportamientos.

  • Indexación multidimensional

    Para aplicaciones avanzadas de bases de datos de series temporales, los campos de datos personalizados mejoran la eficiencia de las consultas y los filtros multidimensionales. Este enfoque permite localizar con mayor precisión los datos relevantes, sobre todo al procesar grandes volúmenes de información.

  • Gestión de datos de series temporales multiinquilino

    Cuando proporciona servicios de almacenamiento de datos de series temporales a varios clientes, conviene especificar el ID de inquilino como una de las columnas de clave principal. De esta forma, se crea una clave principal compuesta junto con la marca de tiempo, lo que garantiza el aislamiento de datos y un acceso eficiente para cada inquilino.

Datos de series temporales de ejemplo

Al monitorear el uso de CPU de un servidor, se utilizan identificadores de series temporales para ubicar cada máquina. Sin embargo, cada servidor tiene varios núcleos. En este caso, usted puede especificar el ID del núcleo como columna de clave principal. La siguiente tabla muestra los datos de ejemplo.

  • Las columnas _m_name, _data_source y _tags son campos de los identificadores de series temporales personalizados. Estas columnas almacenan el nombre de la métrica, el origen de datos y las etiquetas, respectivamente.

  • La columna _time almacena la marca de tiempo.

  • La columna processor almacena el ID del núcleo del servidor. Este campo de datos se especifica como columna de clave principal.

  • La columna cpu_usage almacena el uso de CPU.

_m_name

_data_source

_tags

_time

processor

cpu_usage

cpu

host_1

["region=hangzhou"]

1712476524000000

0

10.0

cpu

host_1

["region=hangzhou"]

1712476524000000

1

10.0

cpu

host_1

["region=hangzhou"]

1712476524000000

2

10.0

Métodos

Usted puede especificar identificadores de series temporales personalizados y campos de datos personalizados como columnas de clave principal desde la consola de Tablestore o mediante los SDK de Tablestore.

Antes de configurar estos parámetros, asegúrese de cumplir con los siguientes requisitos previos:

  • Debe contar con una cuenta de Alibaba Cloud o un usuario de Resource Access Management (RAM) que tenga permisos de operación de Tablestore. Para obtener información sobre cómo otorgar estos permisos a un usuario de RAM, consulte Use a RAM policy to grant permissions to a RAM user.

    Si utiliza los SDK de Tablestore y no dispone de un par de accesskey, cree uno para la cuenta de Alibaba Cloud o el usuario de RAM. Para obtener más información, consulte Create an AccessKey.

    Aviso

    Si el par de accesskey de su cuenta de Alibaba Cloud se filtra, la seguridad de todos sus recursos quedará comprometida. Para proteger su cuenta, se recomienda usar el par de accesskey de un usuario de RAM. Evite crear y utilizar el par de accesskey de una cuenta de Alibaba Cloud.

  • Se requiere una instancia creada para el modelo TimeSeries. Para obtener más información, consulte Create an instance for the TimeSeries model.

    Importante

    Para especificar identificadores de series temporales personalizados y campos de datos personalizados como columnas de clave principal, debe crear la instancia del modelo TimeSeries en la región China (Hangzhou), China (Shanghai), China (Beijing) o China (Zhangjiakou).

  • Si utiliza los SDK de Tablestore, inicialice un objeto TimeseriesClient. Para obtener más información, consulte Initialize a Tablestore client.

Especificar identificadores de series temporales personalizados

De forma predeterminada, los identificadores de series temporales en el modelo TimeSeries se componen del nombre de la métrica, el origen de datos y las etiquetas. En una tabla de series temporales, estos elementos corresponden a los campos _m_name, _data_source y _tags. Las etiquetas constan de varios pares clave-valor de tipo String.

Cuando los nombres de campo predeterminados no satisfacen sus necesidades de negocio, usted puede especificar identificadores personalizados que se adapten mejor a sus escenarios reales. Esto mejora la claridad y la eficiencia del procesamiento y análisis de datos. Por ejemplo, al monitorear el uso de CPU de un servidor, los identificadores le permiten ubicar cada núcleo. Después de configurarlos, aún puede usar los nombres predeterminados para las operaciones de datos.

Los identificadores de series temporales personalizados se especifican al crear la tabla de series temporales. Posteriormente, escriba los datos en la tabla con base en dichos identificadores. El proceso es el siguiente:

Usar la consola de Tablestore

  1. Al crear una tabla de series temporales, especifique los identificadores personalizados. Para obtener más información, consulte Manage time series tables.

  2. Escriba los datos en la tabla de series temporales con base en los identificadores personalizados.

    Durante la escritura de datos, los campos de los identificadores personalizados del cliente se envían al servidor de Tablestore como pares clave-valor. Primero, el servidor extrae el nombre de la métrica y el origen de datos de estos pares. Luego, utiliza los pares restantes como etiquetas de la serie temporal. Para obtener más información, consulte Write time series data.

    Importante

    Si los campos de los identificadores personalizados no incluyen el campo _tags al crear la tabla, pero quedan pares clave-valor sobrantes tras excluir el nombre de la métrica, el origen de datos y los campos personalizados durante la escritura, la operación fallará.

  3. Lea los datos de la tabla de series temporales.

    1. Cree una tabla de asignación SQL para la tabla de series temporales. Para obtener más información, consulte Create mapping tables in the multi-value model for time series tables.

      1. En la página Manage Time Series Table, haga clic en la pestaña Query by Executing SQL Statement.

      2. En el lado izquierdo de la pestaña Query by Executing SQL Statement, haga clic en el ícono + junto al nombre de la instancia del modelo TimeSeries.

      3. En el cuadro de diálogo Create Mapping Table, configure los parámetros. La siguiente tabla describe estos parámetros.

        Parámetro

        Descripción

        Table Name

        El nombre de la tabla de series temporales.

        Mapping Table Name

        El nombre de la tabla de asignación.

        Nota

        Cuando se crea una tabla de asignación SQL para una tabla de series temporales, el sistema agrega automáticamente el prefijo time series table name:: al nombre de la tabla de asignación.

        Enable Analytical Store

        La función analytical store se utiliza en escenarios donde necesita almacenar datos de series temporales por un periodo prolongado y analizarlos. Con esta función, usted guarda los datos a menor costo y ejecuta consultas y análisis de manera eficiente. Para obtener más información, consulte Analytical store.

        De forma predeterminada, la opción Enable Analytical Store está desactivada. Configure el parámetro según sus requisitos de negocio.

        • Si no desea usar un almacén analítico para guardar y analizar datos de series temporales, conserve la configuración predeterminada del parámetro Enable Analytical Store.

        • Si necesita almacenar datos de series temporales a menor costo o consultarlos y analizarlos de forma eficiente, asegúrese de haber creado un almacén analítico y de que la opción Enable Analytical Store esté activada.

        Importante
        • La función analytical store es compatible con las siguientes regiones: China (Hangzhou), China (Shanghai), China (Beijing) y China (Zhangjiakou). Para utilizarla, cree una instancia del modelo TimeSeries en alguna de estas regiones. Para obtener más información, consulte Create an instance for the TimeSeries model.

        • Si crea una tabla de asignación con la opción Enable Analytical Store activada, deberá eliminar dicha tabla al mismo tiempo que elimina el almacén analítico. De lo contrario, no podrá eliminar el almacén analítico correctamente.

      4. Haga clic en Generate SQL Statement. El sistema genera automáticamente la instrucción SQL para crear la tabla de asignación.

        Después de especificar identificadores de series temporales personalizados, indique dichos identificadores y los campos de datos personalizados al crear la tabla de asignación SQL. Estos elementos deben definirse como las columnas de clave principal de la nueva tabla.

      5. Haga clic en Execute SQL Statement(F8).

    2. Ejecute la instrucción SELECT para consultar los datos. Para obtener más información, consulte Query data.

      Introduzca la instrucción SQL en el editor de la consola y haga clic en Execute SQL Statement(F8).

      La siguiente instrucción SQL de ejemplo muestra cómo consultar la información de las series temporales cuyo valor de cpu_usage supera 90.0 en una tabla. Para ello, se utiliza la tabla de asignación denominada cpu::ts1:

      SELECT `host`, `processor`, `_tags` , `_time` FROM `cpu::ts1` WHERE cpu_usage > 90.0;

Usar los SDK de Tablestore

Importante
  • Usted puede especificar identificadores de series temporales personalizados con Tablestore SDK for Java V5.17.1 o posterior, la versión más reciente de Tablestore SDK for Go, o Tablestore SDK for Python V6.1.0 o posterior. Asegúrese de utilizar una versión correcta del SDK al configurar estos identificadores.

  • Si escribe datos de series temporales con base en identificadores personalizados y no desea agregar un nombre de métrica ni un origen de datos, deje vacío el campo correspondiente.

En este ejemplo se utiliza Tablestore SDK for Java.

  1. Al crear una tabla de series temporales, especifique los identificadores personalizados.

    El siguiente código de ejemplo muestra cómo crear una tabla de series temporales sin almacén analítico y especificar identificadores personalizados:

    private static void createTimeseriesTable(TimeseriesClient client) {
        TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta("");
        timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(-1));
        // Specify custom time series identifiers. The host field stores the metric name, the processor field stores the data source, and the _tags field stores the tags.
        timeseriesTableMeta.addTimeseriesKey("host");
        timeseriesTableMeta.addTimeseriesKey("processor");
        timeseriesTableMeta.addTimeseriesKey("_tags");
        CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
        request.setEnableAnalyticalStore(false);
        client.createTimeseriesTable(request);
    }
  2. Escriba los datos en la tabla de series temporales con base en los identificadores personalizados.

    Durante la escritura de datos, los campos de los identificadores personalizados del cliente se envían al servidor de Tablestore como pares clave-valor. Primero, el servidor extrae el nombre de la métrica y el origen de datos de estos pares. Luego, utiliza los pares restantes como etiquetas de la serie temporal.

    Importante

    Si los campos de los identificadores personalizados no incluyen el campo _tags al crear la tabla, pero quedan pares clave-valor sobrantes tras excluir el nombre de la métrica, el origen de datos y los campos personalizados durante la escritura, la operación fallará.

    El siguiente código de ejemplo muestra cómo escribir tres filas de datos de series temporales en una tabla con base en los identificadores personalizados.

    private static void putTimeseriesData(TimeseriesClient client) {
        long timeInUs = System.currentTimeMillis() * 1000;
        List rows = new ArrayList();
        for (int i = 0; i < 3; i++) {
            Map tags = new HashMap<>();
            // Add fields of the custom time series identifiers.
            tags.put("host", "host_" + i);
            tags.put("processor", String.valueOf(i));
            // Key-value pairs that do not correspond to custom time series identifiers are used as tags of the time series.
            tags.put("region", "hangzhou");
             TimeseriesKey timeseriesKey = new TimeseriesKey("", "", tags);
            TimeseriesRow row = new TimeseriesRow(timeseriesKey, timeInUs);
            row.addField("cpu_usage", ColumnValue.fromDouble(10.0));
            row.addField("cpu_sys", ColumnValue.fromDouble(5.0));
            rows.add(row);
        }
        String tableName = "";
        PutTimeseriesDataRequest putTimeseriesDataRequest = new PutTimeseriesDataRequest(tableName);
        putTimeseriesDataRequest.setRows(rows);
        client.putTimeseriesData(putTimeseriesDataRequest);
    }

    La siguiente tabla muestra los datos de la tabla de series temporales después de escribirlos correctamente.

    host

    processor

    _tags

    _time

    cpu_usage

    cpu_sys

    host_0

    0

    ["region=hangzhou"]

    1712476524000000

    10.0

    5.0

    host_1

    1

    ["region=hangzhou"]

    1712476524000000

    10.0

    5.0

    host_2

    2

    ["region=hangzhou"]

    1712476524000000

    10.0

    5.0

  3. Ejecute instrucciones SQL para leer los datos de la tabla de series temporales.

    1. Cree una tabla de asignación SQL para la tabla de series temporales. Para obtener más información, consulte Create mapping tables in the multi-value model for time series tables.

      Después de especificar identificadores de series temporales personalizados, defina los campos de dichos identificadores y el campo de marca de tiempo como columnas de clave principal al crear la tabla de asignación SQL.

      Configuraciones de ejemplo:

      CREATE TABLE `cpu::ts1` (
          `host` VARCHAR(1024),
          `processor` VARCHAR(1024),
          `_tags` VARCHAR(1024),
          `_time` BIGINT(20),
          `cpu_usage` DOUBLE,
          `cpu_sys` DOUBLE,
          PRIMARY KEY(`host`,`processor`,`_tags`,`_time`)
      );
    2. Ejecute la instrucción SELECT para consultar los datos. Para obtener más información, consulte Query data.

      La siguiente instrucción SQL de ejemplo muestra cómo consultar la información de las series temporales cuyo valor de cpu_usage supera 90.0 en una tabla. Para ello, se utiliza la tabla de asignación denominada cpu::ts1:

      SELECT `host`, `processor`, `_tags` , `_time` FROM `cpu::ts1` WHERE cpu_usage > 90.0;

Especificar campos de datos personalizados como columnas de clave principal

En una tabla de series temporales, cada fila de datos se identifica de manera única mediante los identificadores de series temporales y la marca de tiempo. Por lo tanto, dos filas no pueden compartir los mismos identificadores y la misma marca de tiempo.

Si necesita almacenar varias filas con los mismos identificadores y la misma marca de tiempo, especifique campos de datos personalizados como columnas de clave principal de la tabla. Por ejemplo, al monitorear el uso de CPU de un servidor, los identificadores ubican cada máquina, pero cada servidor tiene varios núcleos. En este caso, usted puede especificar el ID del núcleo como columna de clave principal.

Primero, especifique los campos de datos personalizados como columnas de clave principal al crear la tabla de series temporales. Después, indique los valores de estos campos al escribir los datos en la tabla. El proceso es el siguiente:

Usar la consola de Tablestore

  1. Al crear una tabla de series temporales, especifique los campos de datos personalizados como columnas de clave principal. Para obtener más información, consulte Manage time series tables.

  2. Escriba los datos de series temporales en la tabla.

    Al escribir datos en una tabla de series temporales, los campos definidos como columnas de clave principal no pueden quedar vacíos. Si especifica campos de datos personalizados como columnas de clave principal, podrá almacenar varias filas con los mismos identificadores y la misma marca de tiempo. Para obtener más información, consulte Write time series data.

  3. Lea los datos de la tabla de series temporales.

    1. Cree una tabla de asignación SQL para la tabla de series temporales. Para obtener más información, consulte Create mapping tables in the multi-value model for time series tables.

      1. En la página Manage Time Series Table, haga clic en la pestaña Query by Executing SQL Statement.

      2. En el lado izquierdo de la pestaña Query by Executing SQL Statement, haga clic en el ícono + junto al nombre de la instancia del modelo TimeSeries.

      3. En el cuadro de diálogo Create Mapping Table, configure los parámetros. La siguiente tabla describe estos parámetros.

        Parámetro

        Descripción

        Table Name

        El nombre de la tabla de series temporales.

        Mapping Table Name

        El nombre de la tabla de asignación.

        Nota

        Cuando se crea una tabla de asignación SQL para una tabla de series temporales, el sistema agrega automáticamente el prefijo time series table name:: al nombre de la tabla de asignación.

        Enable Analytical Store

        La función analytical store se utiliza en escenarios donde necesita almacenar datos de series temporales por un periodo prolongado y analizarlos. Con esta función, usted guarda los datos a menor costo y ejecuta consultas y análisis de manera eficiente. Para obtener más información, consulte Analytical store.

        De forma predeterminada, la opción Enable Analytical Store está desactivada. Configure el parámetro según sus requisitos de negocio.

        • Si no desea usar un almacén analítico para guardar y analizar datos de series temporales, conserve la configuración predeterminada del parámetro Enable Analytical Store.

        • Si necesita almacenar datos de series temporales a menor costo o consultarlos y analizarlos de forma eficiente, asegúrese de haber creado un almacén analítico y de que la opción Enable Analytical Store esté activada.

        Importante
        • La función analytical store es compatible con las siguientes regiones: China (Hangzhou), China (Shanghai), China (Beijing) y China (Zhangjiakou). Para utilizarla, cree una instancia del modelo TimeSeries en alguna de estas regiones. Para obtener más información, consulte Create an instance for the TimeSeries model.

        • Si crea una tabla de asignación con la opción Enable Analytical Store activada, deberá eliminar dicha tabla al mismo tiempo que elimina el almacén analítico. De lo contrario, no podrá eliminar el almacén analítico correctamente.

      4. Haga clic en Generate SQL Statement. El sistema genera automáticamente la instrucción SQL para crear la tabla de asignación.

        Después de especificar campos de datos personalizados como columnas de clave principal de una tabla de series temporales, defínelos junto con los identificadores al crear la tabla de asignación SQL. Estos elementos deben establecerse como las columnas de clave principal de la nueva tabla.

      5. Haga clic en Execute SQL Statement(F8).

    2. Ejecute la instrucción SELECT para consultar los datos. Para obtener más información, consulte Query data.

      Introduzca la instrucción SQL en el editor de la consola y haga clic en Execute SQL Statement(F8).

      La siguiente instrucción SQL de ejemplo muestra cómo consultar la información de las series temporales cuyo valor de cpu_usage supera 90.0 en una tabla. Para ello, se utiliza la tabla de asignación denominada cpu::ts1:

      SELECT `host`, `processor`, `_tags` , `_time` FROM `cpu::ts1` WHERE cpu_usage > 90.0;

Usar los SDK de Tablestore

Importante

Usted puede especificar campos de datos personalizados como columnas de clave principal con Tablestore SDK for Java V5.17.1 o posterior, la versión más reciente de Tablestore SDK for Go, o Tablestore SDK for Python V6.1.0 o posterior. Asegúrese de utilizar una versión correcta del SDK al configurar estos campos.

En este ejemplo se utiliza Tablestore SDK for Java.

  1. Al crear una tabla de series temporales, especifique los campos de datos personalizados como columnas de clave principal.

    El siguiente código de ejemplo muestra cómo crear una tabla de series temporales sin almacén analítico y especificar campos de datos personalizados como columnas de clave principal:

    private static void createTimeseriesTable(TimeseriesClient client) {
        TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta("");
        timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(-1));
        // Specify custom data fields as the primary key columns.
        timeseriesTableMeta.addFieldPrimaryKey("processor", PrimaryKeyType.INTEGER);
        CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
        request.setEnableAnalyticalStore(false);
        client.createTimeseriesTable(request);
    }
  2. Escriba los datos de series temporales en la tabla.

    Al escribir datos en una tabla de series temporales, los campos definidos como columnas de clave principal no pueden quedar vacíos. Si especifica campos de datos personalizados como columnas de clave principal, podrá almacenar varias filas con los mismos identificadores y la misma marca de tiempo.

    El siguiente código de ejemplo muestra cómo escribir tres filas de datos con los mismos identificadores de series temporales y la misma marca de tiempo en una tabla:

    private static void putTimeseriesData(TimeseriesClient client) {
        long timeInUs = System.currentTimeMillis() * 1000;
        List rows = new ArrayList();
        for (int i = 0; i < 3; i++) {
            Map tags = new HashMap<>();
            tags.put("region", "hangzhou");
             TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
            TimeseriesRow row = new TimeseriesRow(timeseriesKey, timeInUs);
            // The data fields that are specified as the primary key columns cannot be left empty.
            row.addField("processor", ColumnValue.fromLong(i));
            row.addField("cpu_usage", ColumnValue.fromDouble(10.0));
            row.addField("cpu_sys", ColumnValue.fromDouble(5.0));
            rows.add(row);
        }
        String tableName = "<TIMESERIES_TABLE_NAME>";
        PutTimeseriesDataRequest putTimeseriesDataRequest = new PutTimeseriesDataRequest(tableName);
        putTimeseriesDataRequest.setRows(rows);
        client.putTimeseriesData(putTimeseriesDataRequest);
    }

    La siguiente tabla muestra los datos de la tabla de series temporales después de escribirlos correctamente.

    _m_name

    _data_source

    _tags

    _time

    processor

    cpu_usage

    cpu_sys

    cpu

    host_0

    ["region=hangzhou"]

    1712476524000000

    0

    10.0

    5.0

    cpu

    host_1

    ["region=hangzhou"]

    1712476524000000

    1

    10.0

    5.0

    cpu

    host_2

    ["region=hangzhou"]

    1712476524000000

    2

    10.0

    5.0

  3. Ejecute instrucciones SQL para leer los datos de la tabla de series temporales.

    1. Cree una tabla de asignación SQL para la tabla de series temporales. Para obtener más información, consulte Create mapping tables in the multi-value model for time series tables.

      Después de especificar campos de datos personalizados como columnas de clave principal de una tabla de series temporales, defínelos junto con los identificadores al crear la tabla de asignación SQL. Estos elementos deben establecerse como las columnas de clave principal de la nueva tabla.

      Configuraciones de ejemplo:

      CREATE TABLE `cpu::ts1` (
          `_m_name` VARCHAR(1024),
          `_data_source`  VARCHAR(1024),
          `_tags` VARCHAR(1024),
          `_time` BIGINT(20),
          `processor` BIGINT,
          `cpu_usage` DOUBLE,
          `cpu_sys` DOUBLE,
          PRIMARY KEY(`_m_name`,`_data_source`,`_tags`,`_time`,`processor`)
      );
    2. Ejecute la instrucción SELECT para consultar los datos. Para obtener más información, consulte Query data.

      La siguiente instrucción SQL de ejemplo muestra cómo consultar la información de las series temporales cuyo valor de cpu_usage supera 90.0 en una tabla. Para ello, se utiliza la tabla de asignación denominada cpu::ts1:

      SELECT `_m_name`, `_data_source`, `_tags` , `_time`, `processor` FROM `cpu::ts1` WHERE cpu_usage > 90.0;