

Untuk kemampuan serupa dengan Amazon Timestream LiveAnalytics, pertimbangkan Amazon Timestream untuk InfluxDB. Ini menawarkan konsumsi data yang disederhanakan dan waktu respons kueri milidetik satu digit untuk analitik waktu nyata. Pelajari lebih lanjut [di sini](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemetaan model data untuk kueri terjadwal
<a name="scheduledqueries-mappings"></a>

Timestream untuk LiveAnalytics mendukung pemodelan data yang fleksibel dalam tabelnya dan fleksibilitas yang sama ini berlaku untuk hasil kueri terjadwal yang diwujudkan ke Timestream lain untuk tabel. LiveAnalytics Dengan kueri terjadwal, Anda dapat menanyakan tabel apa pun, apakah itu memiliki data dalam catatan multi-ukuran atau catatan ukuran tunggal dan menulis hasil kueri menggunakan catatan multi-ukuran atau ukuran tunggal. 

Anda menggunakan spesifikasi kueri terjadwal untuk memetakan hasil kueri ke kolom yang sesuai di tabel turunan tujuan. TargetConfiguration Bagian berikut menjelaskan berbagai cara menentukan ini TargetConfiguration untuk mencapai model data yang berbeda dalam tabel turunan. Secara khusus, Anda akan melihat:
+ Cara menulis ke catatan multi-ukuran ketika hasil kueri tidak memiliki nama ukuran dan Anda menentukan nama ukuran target di TargetConfiguration.
+ Bagaimana Anda menggunakan nama ukuran dalam hasil kueri untuk menulis catatan multi-ukuran. 
+ Bagaimana Anda dapat mendefinisikan model untuk menulis beberapa catatan dengan atribut multi-ukuran yang berbeda.
+ Bagaimana Anda dapat mendefinisikan model untuk menulis ke catatan ukuran tunggal dalam tabel turunan.
+ Bagaimana Anda dapat menanyakan catatan and/or multi-ukuran catatan ukuran tunggal dalam kueri terjadwal dan hasilnya terwujud menjadi catatan ukuran tunggal atau catatan multi-ukuran, yang memungkinkan Anda memilih fleksibilitas model data.

## Contoh: Nama ukuran target untuk catatan multi-ukuran
<a name="scheduledqueries-mappings-targetmeasurename"></a>

Dalam contoh ini, Anda akan melihat bahwa kueri membaca data dari tabel dengan data multi-ukuran dan menulis hasilnya ke tabel lain menggunakan catatan multi-ukuran. Hasil kueri terjadwal tidak memiliki kolom nama ukuran alami. Di sini, Anda menentukan nama ukuran dalam tabel turunan menggunakan TargetMultiMeasureName properti di TargetConfiguration. TimestreamConfiguration. 

```
{
    "Name" : "CustomMultiMeasureName",
    "QueryString" : "SELECT region, bin(time, 1h) as hour, AVG(memory_cached) as avg_mem_cached_1h, MIN(memory_free) as min_mem_free_1h, MAX(memory_used) as max_mem_used_1h, SUM(disk_io_writes) as sum_1h, AVG(disk_used) as avg_disk_used_1h, AVG(disk_free) as avg_disk_free_1h, MAX(cpu_user) as max_cpu_user_1h, MIN(cpu_idle) as min_cpu_idle_1h, MAX(cpu_system) as max_cpu_system_1h FROM raw_data.devops_multi WHERE time BETWEEN bin(@scheduled_runtime, 1h) - 14h AND bin(@scheduled_runtime, 1h) - 2h AND measure_name = 'metrics' GROUP BY region, bin(time, 1h)",
    "ScheduleConfiguration" : {
        "ScheduleExpression" : "cron(0 0/1 * * ? *)"
    },
    "NotificationConfiguration" : {
        "SnsConfiguration" : {
            "TopicArn" : "******"
        }
    },
    "ScheduledQueryExecutionRoleArn": "******",
    "TargetConfiguration": {
        "TimestreamConfiguration": {
            "DatabaseName" : "derived",
            "TableName" : "dashboard_metrics_1h_agg_1",
            "TimeColumn" : "hour",
            "DimensionMappings" : [
                {
                    "Name": "region",
                    "DimensionValueType" : "VARCHAR"
                }
            ],
            "MultiMeasureMappings" : {
                "TargetMultiMeasureName": "dashboard-metrics",
                "MultiMeasureAttributeMappings" : [
                    {
                        "SourceColumn" : "avg_mem_cached_1h",
                        "MeasureValueType" : "DOUBLE",
                        "TargetMultiMeasureAttributeName" : "avgMemCached"
                    },
                    {
                        "SourceColumn" : "min_mem_free_1h",
                        "MeasureValueType" : "DOUBLE"
                    },
                    {
                        "SourceColumn" : "max_mem_used_1h",
                        "MeasureValueType" : "DOUBLE"
                    },
                    {
                        "SourceColumn" : "sum_1h",
                        "MeasureValueType" : "DOUBLE",
                        "TargetMultiMeasureAttributeName" : "totalDiskWrites"
                    },
                    {
                        "SourceColumn" : "avg_disk_used_1h",
                        "MeasureValueType" : "DOUBLE"
                    },
                    {
                        "SourceColumn" : "avg_disk_free_1h",
                        "MeasureValueType" : "DOUBLE"
                    },
                    {
                        "SourceColumn" : "max_cpu_user_1h",
                        "MeasureValueType" : "DOUBLE",
                        "TargetMultiMeasureAttributeName" : "CpuUserP100"
                    },
                    {
                        "SourceColumn" : "min_cpu_idle_1h",
                        "MeasureValueType" : "DOUBLE"
                    },
                    {
                        "SourceColumn" : "max_cpu_system_1h",
                        "MeasureValueType" : "DOUBLE",
                        "TargetMultiMeasureAttributeName" : "CpuSystemP100"
                    }  
                ]
            }
        }
    },
    "ErrorReportConfiguration": {
        "S3Configuration" : {
            "BucketName" : "******",
            "ObjectKeyPrefix": "errors",
            "EncryptionOption": "SSE_S3"
        }
    }
}
```

Pemetaan dalam contoh ini membuat satu catatan multi-ukuran dengan nama ukuran dasbor-metrik dan nama atribut, min\_mem\_free\_1h, max\_mem\_used\_1h,, avg\_disk\_used\_1h avgMemCached, avg\_disk\_free\_1h, P100, min\_cpu\_idle\_1h, P100. totalDiskWrites CpuUser CpuSystem Perhatikan penggunaan opsional TargetMultiMeasureAttributeName untuk mengganti nama kolom keluaran kueri ke nama atribut berbeda yang digunakan untuk perwujudan hasil.

Berikut ini adalah skema untuk tabel tujuan setelah kueri terjadwal ini terwujud. Seperti yang dapat Anda lihat dari Timestream for tipe LiveAnalytics atribut dalam hasil berikut, hasilnya diwujudkan menjadi catatan multi-ukuran dengan nama ukuran tunggal`dashboard-metrics`, seperti yang ditunjukkan dalam skema pengukuran.


| Kolom | Tipe | Timestream untuk jenis LiveAnalytics atribut | 
| --- | --- | --- | 
| region | varchar | UKURAN | 
| ukuran\_nama | varchar | UKURAN\_NAMA | 
| Waktu | timestamp | TIMESTAMP | 
| CpuSystemP100 | double | MULTI | 
| avgMemCached | double | MULTI | 
| min\_cpu\_idle\_1h | double | MULTI | 
| avg\_disk\_free\_1h | double | MULTI | 
| avg\_disk\_used\_1h | double | MULTI | 
| totalDiskWrites | double | MULTI | 
| max\_mem\_used\_1h | double | MULTI | 
| min\_mem\_free\_1h | double | MULTI | 
| CpuUserP100 | double | MULTI | 

Berikut ini adalah langkah-langkah terkait yang diperoleh dengan kueri SHOW MEASURES.


| ukuran\_nama | data\_type | Dimensi | 
| --- | --- | --- | 
| dasbor-metrik | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 

## Contoh: Menggunakan nama ukuran dari kueri terjadwal dalam catatan multi-ukuran
<a name="scheduledqueries-mappings-usingmeasurename"></a>

Dalam contoh ini, Anda akan melihat pembacaan kueri dari tabel dengan catatan ukuran tunggal dan mewujudkan hasilnya menjadi catatan multi-ukuran. Dalam hal ini, hasil kueri terjadwal memiliki kolom yang nilainya dapat digunakan sebagai nama ukuran dalam tabel target tempat hasil kueri terjadwal terwujud. Kemudian Anda dapat menentukan nama ukuran untuk catatan multi-ukuran di tabel turunan menggunakan MeasureNameColumn properti di TargetConfiguration. TimestreamConfiguration. 

```
{
    "Name" : "UsingMeasureNameFromQueryResult",
    "QueryString" : "SELECT region, bin(time, 1h) as hour, measure_name, AVG(CASE WHEN measure_name IN ('memory_cached', 'disk_used', 'disk_free') THEN measure_value::double ELSE NULL END) as avg_1h, MIN(CASE WHEN measure_name IN ('memory_free', 'cpu_idle') THEN measure_value::double ELSE NULL END) as min_1h, SUM(CASE WHEN measure_name IN ('disk_io_writes') THEN measure_value::double ELSE NULL END) as sum_1h, MAX(CASE WHEN measure_name IN ('memory_used', 'cpu_user', 'cpu_system') THEN measure_value::double ELSE NULL END) as max_1h FROM raw_data.devops WHERE time BETWEEN bin(@scheduled_runtime, 1h) - 14h AND bin(@scheduled_runtime, 1h) - 2h AND measure_name IN ('memory_free', 'memory_used', 'memory_cached', 'disk_io_writes', 'disk_used', 'disk_free', 'cpu_user', 'cpu_system', 'cpu_idle') GROUP BY region, measure_name, bin(time, 1h)",
    "ScheduleConfiguration" : {
        "ScheduleExpression" : "cron(0 0/1 * * ? *)"
    },
    "NotificationConfiguration" : {
        "SnsConfiguration" : {
            "TopicArn" : "******"
        }
    },
    "ScheduledQueryExecutionRoleArn": "******",
    "TargetConfiguration": {
        "TimestreamConfiguration": {
            "DatabaseName" : "derived",
            "TableName" : "dashboard_metrics_1h_agg_2",
            "TimeColumn" : "hour",
            "DimensionMappings" : [
                {
                    "Name": "region",
                    "DimensionValueType" : "VARCHAR"
                }
            ],
            "MeasureNameColumn" : "measure_name",
            "MultiMeasureMappings" : {
                "MultiMeasureAttributeMappings" : [
                    {
                        "SourceColumn" : "avg_1h",
                        "MeasureValueType" : "DOUBLE"
                    },
                    {
                        "SourceColumn" : "min_1h",
                        "MeasureValueType" : "DOUBLE",
                        "TargetMultiMeasureAttributeName": "p0_1h"
                    },
                    {
                        "SourceColumn" : "sum_1h",
                        "MeasureValueType" : "DOUBLE"
                    },
                    {
                        "SourceColumn" : "max_1h",
                        "MeasureValueType" : "DOUBLE",
                        "TargetMultiMeasureAttributeName": "p100_1h"
                    } 
                ]
            }
        }
    },
    "ErrorReportConfiguration": {
        "S3Configuration" : {
            "BucketName" : "******",
            "ObjectKeyPrefix": "errors",
            "EncryptionOption": "SSE_S3"
        }
    }
}
```

Pemetaan dalam contoh ini akan membuat catatan multi-ukuran dengan atribut avg\_1h, p0\_1h, sum\_1h, p100\_1h dan akan menggunakan nilai kolom ukuran\_name dalam hasil kueri sebagai nama ukuran untuk catatan multi-ukuran di tabel tujuan. Selain itu perhatikan bahwa contoh sebelumnya secara opsional menggunakan TargetMultiMeasureAttributeName with subset dari pemetaan untuk mengganti nama atribut. Misalnya, min\_1h diubah namanya menjadi p0\_1h dan max\_1h diubah namanya menjadi p100\_1h.

Berikut ini adalah skema untuk tabel tujuan setelah kueri terjadwal ini terwujud. Seperti yang dapat Anda lihat dari Timestream untuk jenis LiveAnalytics atribut dalam hasil berikut, hasilnya diwujudkan ke dalam catatan multi-ukuran. Jika Anda melihat skema ukuran, ada sembilan nama ukuran berbeda yang dicerna yang sesuai dengan nilai yang terlihat dalam hasil kueri.


| Kolom | Tipe | Timestream untuk jenis LiveAnalytics atribut | 
| --- | --- | --- | 
| region | varchar | UKURAN | 
| ukuran\_nama | varchar | UKURAN\_NAMA | 
| Waktu | timestamp | TIMESTAMP | 
| sum\_1h | double | MULTI | 
| p100\_1h | double | MULTI | 
| p0\_1h | double | MULTI | 
| avg\_1h | double | MULTI | 

Berikut ini adalah langkah-langkah terkait yang diperoleh dengan kueri SHOW MEASURES.


| ukuran\_nama | data\_type | Dimensi | 
| --- | --- | --- | 
| cpu\_idle | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| cpu\_sistem | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| cpu\_user | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| disk\_free | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| disk\_io\_write | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| disk\_used | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| memory\_cache | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| memory\_free | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| memory\_free | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 

## Contoh: Memetakan hasil ke catatan multi-ukuran yang berbeda dengan atribut yang berbeda
<a name="scheduledqueries-mappings-mappintresultstodiffrentmultimeasure"></a>

Contoh berikut menunjukkan bagaimana Anda dapat memetakan kolom yang berbeda dalam hasil kueri Anda ke dalam catatan multi-ukuran yang berbeda dengan nama ukuran yang berbeda. Jika Anda melihat definisi kueri terjadwal berikut, hasil kueri memiliki kolom berikut: wilayah, jam, avg\_mem\_cached\_1h, min\_mem\_free\_1h, max\_mem\_used\_1h, total\_disk\_io\_writes\_1h, avg\_disk\_used\_1h, avg\_disk\_free\_1h, max\_pu\_user\_\_1h, max\_cpu\_system\_1h, min\_cpu\_system\_1h. `region`dipetakan ke dimensi, dan `hour` dipetakan ke kolom waktu. 

 MixedMeasureMappings Properti di TargetConfiguration. TimestreamConfigurationmenentukan cara memetakan ukuran ke catatan multi-ukuran dalam tabel turunan. 

Dalam contoh khusus ini, avg\_mem\_cached\_1h, min\_mem\_free\_1h, max\_mem\_used\_1h digunakan dalam satu catatan multi-ukuran dengan nama ukuran mem\_aggregates, total\_disk\_io\_writes\_1h, avg\_disk\_used\_1h, avg\_disk\_free\_1h digunakan dalam catatan multi-ukuran lain dengan nama ukuran dari disk\_aggregates, dan akhirnya max\_cpu\_user\_1h, max\_cpu\_system\_1h, min\_cpu\_system\_1h digunakan dalam catatan multi-ukuran lain dengan nama ukuran cpu\_aggregates. 

Dalam pemetaan ini, Anda juga dapat secara opsional menggunakan TargetMultiMeasureAttributeName untuk mengganti nama kolom hasil kueri agar memiliki nama atribut yang berbeda di tabel tujuan. Misalnya, kolom hasil avg\_mem\_cached\_1h diganti namanya menjadi, total\_disk\_io\_writes\_1h diganti namanya menjadi total, dll. avgMemCached IOWrites 

Saat Anda mendefinisikan pemetaan untuk catatan multi-ukuran, Timestream untuk LiveAnalytics memeriksa setiap baris dalam hasil kueri dan secara otomatis mengabaikan nilai kolom yang memiliki nilai NULL. Akibatnya, dalam kasus pemetaan dengan beberapa nama ukuran, jika semua nilai kolom untuk grup tersebut dalam pemetaan adalah NULL untuk baris tertentu, maka tidak ada nilai untuk nama ukuran tersebut yang dicerna untuk baris tersebut. 

Misalnya, dalam pemetaan berikut, avg\_mem\_cached\_1h, min\_mem\_free\_1h, dan max\_mem\_used\_1h dipetakan untuk mengukur nama mem\_aggregates. Jika untuk baris hasil kueri tertentu, semua nilai kolom ini adalah NULL, Timestream for tidak LiveAnalytics akan menyerap mem\_aggregates ukuran untuk baris itu. Jika semua sembilan kolom untuk baris tertentu adalah NULL, maka Anda akan melihat kesalahan pengguna dilaporkan dalam laporan kesalahan Anda. 

```
{
    "Name" : "AggsInDifferentMultiMeasureRecords",
    "QueryString" : "SELECT region, bin(time, 1h) as hour, AVG(CASE WHEN measure_name = 'memory_cached' THEN measure_value::double ELSE NULL END) as avg_mem_cached_1h, MIN(CASE WHEN measure_name = 'memory_free' THEN measure_value::double ELSE NULL END) as min_mem_free_1h, MAX(CASE WHEN measure_name = 'memory_used' THEN measure_value::double ELSE NULL END) as max_mem_used_1h, SUM(CASE WHEN measure_name = 'disk_io_writes' THEN measure_value::double ELSE NULL END) as total_disk_io_writes_1h, AVG(CASE WHEN measure_name = 'disk_used' THEN measure_value::double ELSE NULL END) as avg_disk_used_1h, AVG(CASE WHEN measure_name = 'disk_free' THEN measure_value::double ELSE NULL END) as avg_disk_free_1h, MAX(CASE WHEN measure_name = 'cpu_user' THEN measure_value::double ELSE NULL END) as max_cpu_user_1h, MAX(CASE WHEN measure_name = 'cpu_system' THEN measure_value::double ELSE NULL END) as max_cpu_system_1h, MIN(CASE WHEN measure_name = 'cpu_idle' THEN measure_value::double ELSE NULL END) as min_cpu_system_1h FROM raw_data.devops WHERE time BETWEEN bin(@scheduled_runtime, 1h) - 14h AND bin(@scheduled_runtime, 1h) - 2h AND measure_name IN ('memory_cached', 'memory_free', 'memory_used', 'disk_io_writes', 'disk_used', 'disk_free', 'cpu_user', 'cpu_system', 'cpu_idle') GROUP BY region, bin(time, 1h)",
    "ScheduleConfiguration" : {
        "ScheduleExpression" : "cron(0 0/1 * * ? *)"
    },
    "NotificationConfiguration" : {
        "SnsConfiguration" : {
            "TopicArn" : "******"
        }
    },
    "ScheduledQueryExecutionRoleArn": "******",
    "TargetConfiguration": {
        "TimestreamConfiguration": {
            "DatabaseName" : "derived",
            "TableName" : "dashboard_metrics_1h_agg_3",
            "TimeColumn" : "hour",
            "DimensionMappings" : [
                {
                    "Name": "region",
                    "DimensionValueType" : "VARCHAR"
                }
            ],
            "MixedMeasureMappings" : [
                {
                    "MeasureValueType" : "MULTI",
                    "TargetMeasureName" : "mem_aggregates",
                    "MultiMeasureAttributeMappings" : [
                        {
                            "SourceColumn" : "avg_mem_cached_1h",
                            "MeasureValueType" : "DOUBLE",
                            "TargetMultiMeasureAttributeName": "avgMemCached"
                        },
                        {
                            "SourceColumn" : "min_mem_free_1h",
                            "MeasureValueType" : "DOUBLE"
                        },
                        {
                            "SourceColumn" : "max_mem_used_1h",
                            "MeasureValueType" : "DOUBLE",
                            "TargetMultiMeasureAttributeName": "maxMemUsed"
                        }
                    ]
                },
                {
                    "MeasureValueType" : "MULTI",
                    "TargetMeasureName" : "disk_aggregates",
                    "MultiMeasureAttributeMappings" : [
                        {
                            "SourceColumn" : "total_disk_io_writes_1h",
                            "MeasureValueType" : "DOUBLE",
                            "TargetMultiMeasureAttributeName": "totalIOWrites"
                        },
                        {
                            "SourceColumn" : "avg_disk_used_1h",
                            "MeasureValueType" : "DOUBLE"
                        },
                        {
                            "SourceColumn" : "avg_disk_free_1h",
                            "MeasureValueType" : "DOUBLE"
                        }
                    ]
                },
                {
                    "MeasureValueType" : "MULTI",
                    "TargetMeasureName" : "cpu_aggregates",
                    "MultiMeasureAttributeMappings" : [
                        {
                            "SourceColumn" : "max_cpu_user_1h",
                            "MeasureValueType" : "DOUBLE"
                        },
                        {
                            "SourceColumn" : "max_cpu_system_1h",
                            "MeasureValueType" : "DOUBLE"
                        },
                        {
                            "SourceColumn" : "min_cpu_idle_1h",
                            "MeasureValueType" : "DOUBLE",
                            "TargetMultiMeasureAttributeName": "minCpuIdle"
                        }
                    ]
                }
            ]
        }
    },
    "ErrorReportConfiguration": {
        "S3Configuration" : {
            "BucketName" : "******",
            "ObjectKeyPrefix": "errors",
            "EncryptionOption": "SSE_S3"
        }
    }
}
```

Berikut ini adalah skema untuk tabel tujuan setelah kueri terjadwal ini terwujud.


| Kolom | Tipe | Timestream untuk jenis LiveAnalytics atribut | 
| --- | --- | --- | 
| region | varchar | UKURAN | 
| ukuran\_nama | varchar | UKURAN\_NAMA | 
| Waktu | timestamp | TIMESTAMP | 
| minCpuIdle | double | MULTI | 
| max\_cpu\_system\_1h | double | MULTI | 
| max\_cpu\_user\_1h | double | MULTI | 
| avgMemCached | double | MULTI | 
| maxMemUsed | double | MULTI | 
| min\_mem\_free\_1h | double | MULTI | 
| avg\_disk\_free\_1h | double | MULTI | 
| avg\_disk\_used\_1h | double | MULTI | 
| total IOWrites | double | MULTI | 

Berikut ini adalah langkah-langkah terkait yang diperoleh dengan kueri SHOW MEASURES.


| ukuran\_nama | data\_type | Dimensi | 
| --- | --- | --- | 
| cpu\_agregat | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| disk\_agregat | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| mem\_agregat | multi | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 

## Contoh: Memetakan hasil ke catatan ukuran tunggal dengan nama ukuran dari hasil kueri
<a name="scheduledqueries-mappings-mappintresultstosinglemeasurerecords"></a>

Berikut ini adalah contoh dari query terjadwal yang hasilnya diwujudkan ke dalam catatan ukuran tunggal. Dalam contoh ini, hasil kueri memiliki kolom ukuran\_name yang nilainya akan digunakan sebagai nama ukuran dalam tabel target. Anda menggunakan MixedMeasureMappings atribut di TargetConfiguration. TimestreamConfiguration untuk menentukan pemetaan kolom hasil kueri ke ukuran skalar di tabel target. 

Dalam definisi contoh berikut, hasil kueri diharapkan sembilan nilai ukur\_name yang berbeda. Anda mencantumkan semua nama ukuran ini dalam pemetaan dan menentukan kolom mana yang akan digunakan untuk nilai ukuran tunggal untuk nama ukuran tersebut. Misalnya, dalam pemetaan ini, jika nama ukuran memory\_cached terlihat untuk baris hasil tertentu, maka nilai di kolom avg\_1h digunakan sebagai nilai untuk ukuran ketika data ditulis ke tabel target. Anda dapat secara opsional menggunakan TargetMeasureName untuk memberikan nama ukuran baru untuk nilai ini. 

```
{
    "Name" : "UsingMeasureNameColumnForSingleMeasureMapping",
    "QueryString" : "SELECT region, bin(time, 1h) as hour, measure_name, AVG(CASE WHEN measure_name IN ('memory_cached', 'disk_used', 'disk_free') THEN measure_value::double ELSE NULL END) as avg_1h, MIN(CASE WHEN measure_name IN ('memory_free', 'cpu_idle') THEN measure_value::double ELSE NULL END) as min_1h, SUM(CASE WHEN measure_name IN ('disk_io_writes') THEN measure_value::double ELSE NULL END) as sum_1h, MAX(CASE WHEN measure_name IN ('memory_used', 'cpu_user', 'cpu_system') THEN measure_value::double ELSE NULL END) as max_1h FROM raw_data.devops WHERE time BETWEEN bin(@scheduled_runtime, 1h) - 14h AND bin(@scheduled_runtime, 1h) - 2h AND measure_name IN ('memory_free', 'memory_used', 'memory_cached', 'disk_io_writes', 'disk_used', 'disk_free', 'cpu_user', 'cpu_system', 'cpu_idle') GROUP BY region, bin(time, 1h), measure_name",
    "ScheduleConfiguration" : {
        "ScheduleExpression" : "cron(0 0/1 * * ? *)"
    },
    "NotificationConfiguration" : {
        "SnsConfiguration" : {
            "TopicArn" : "******"
        }
    },
    "ScheduledQueryExecutionRoleArn": "******",
    "TargetConfiguration": {
        "TimestreamConfiguration": {
            "DatabaseName" : "derived",
            "TableName" : "dashboard_metrics_1h_agg_4",
            "TimeColumn" : "hour",
            "DimensionMappings" : [
                {
                    "Name": "region",
                    "DimensionValueType" : "VARCHAR"
                }
            ],
            "MeasureNameColumn" : "measure_name",
            "MixedMeasureMappings" : [
                {
                    "MeasureName" : "memory_cached",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "avg_1h",
                    "TargetMeasureName" : "AvgMemCached"
                },
                {
                    "MeasureName" : "disk_used",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "avg_1h"
                },
                {
                    "MeasureName" : "disk_free",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "avg_1h"
                },
                {
                    "MeasureName" : "memory_free",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "min_1h",
                    "TargetMeasureName" : "MinMemFree"
                },
                {
                    "MeasureName" : "cpu_idle",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "min_1h"
                },
                {
                    "MeasureName" : "disk_io_writes",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "sum_1h",
                    "TargetMeasureName" : "total-disk-io-writes"
                },
                {
                    "MeasureName" : "memory_used",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "max_1h",
                    "TargetMeasureName" : "maxMemUsed"
                },
                {
                    "MeasureName" : "cpu_user",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "max_1h"
                },
                {
                    "MeasureName" : "cpu_system",
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "max_1h"
                }
            ]
        }
    },
    "ErrorReportConfiguration": {
        "S3Configuration" : {
            "BucketName" : "******",
            "ObjectKeyPrefix": "errors",
            "EncryptionOption": "SSE_S3"
        }
    }
}
```

Berikut ini adalah skema untuk tabel tujuan setelah kueri terjadwal ini terwujud. Seperti yang Anda lihat dari skema, tabel menggunakan catatan ukuran tunggal. Jika Anda mencantumkan skema ukuran untuk tabel, Anda akan melihat sembilan ukuran yang ditulis berdasarkan pemetaan yang disediakan dalam spesifikasi.


| Kolom | Tipe | Timestream untuk jenis LiveAnalytics atribut | 
| --- | --- | --- | 
| region | varchar | UKURAN | 
| ukuran\_nama | varchar | UKURAN\_NAMA | 
| Waktu | timestamp | TIMESTAMP | 
| ukuran\_nilai: :ganda | double | UKURAN\_NILAI | 

Berikut ini adalah langkah-langkah terkait yang diperoleh dengan kueri SHOW MEASURES.


| ukuran\_nama | data\_type | Dimensi | 
| --- | --- | --- | 
| AvgMemCached | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| MinMemFree | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| cpu\_idle | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| cpu\_sistem | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| cpu\_user | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| disk\_free | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| disk\_used | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| maxMemUsed | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| total-disk-io-writes | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 

## Contoh: Memetakan hasil ke catatan ukuran tunggal dengan kolom hasil kueri sebagai nama ukuran
<a name="scheduledqueries-mappings-mappintresultstsolumnsasmeasurename"></a>

Dalam contoh ini, Anda memiliki kueri yang hasilnya tidak memiliki kolom nama ukuran. Sebagai gantinya, Anda menginginkan nama kolom hasil kueri sebagai nama ukuran saat memetakan output ke catatan ukuran tunggal. Sebelumnya ada contoh di mana hasil serupa ditulis ke catatan multi-ukuran. Dalam contoh ini, Anda akan melihat cara memetakannya ke catatan ukuran tunggal jika itu sesuai dengan skenario aplikasi Anda. 

Sekali lagi, Anda menentukan pemetaan ini menggunakan MixedMeasureMappings properti di TargetConfiguration. TimestreamConfiguration. Dalam contoh berikut, Anda melihat bahwa hasil query memiliki sembilan kolom. Anda menggunakan kolom hasil sebagai nama ukuran dan nilai sebagai nilai ukuran tunggal. 

Misalnya, untuk baris tertentu dalam hasil kueri, nama kolom avg\_mem\_cached\_1h digunakan sebagai nama kolom dan nilai yang terkait dengan kolom, dan avg\_mem\_cached\_1h digunakan sebagai nilai ukuran untuk catatan ukuran tunggal. Anda juga dapat menggunakan TargetMeasureName untuk menggunakan nama ukuran yang berbeda di tabel target. Misalnya, untuk nilai di kolom sum\_1h, pemetaan menentukan untuk menggunakan total\_disk\_io\_writes\_1h sebagai nama ukuran dalam tabel target. Jika nilai kolom adalah NULL, maka ukuran yang sesuai diabaikan. 

```
{
    "Name" : "SingleMeasureMappingWithoutMeasureNameColumnInQueryResult",
    "QueryString" : "SELECT region, bin(time, 1h) as hour, AVG(CASE WHEN measure_name = 'memory_cached' THEN measure_value::double ELSE NULL END) as avg_mem_cached_1h, AVG(CASE WHEN measure_name = 'disk_used' THEN measure_value::double ELSE NULL END) as avg_disk_used_1h, AVG(CASE WHEN measure_name = 'disk_free' THEN measure_value::double ELSE NULL END) as avg_disk_free_1h, MIN(CASE WHEN measure_name = 'memory_free' THEN measure_value::double ELSE NULL END) as min_mem_free_1h, MIN(CASE WHEN measure_name = 'cpu_idle' THEN measure_value::double ELSE NULL END) as min_cpu_idle_1h, SUM(CASE WHEN measure_name = 'disk_io_writes' THEN measure_value::double ELSE NULL END) as sum_1h, MAX(CASE WHEN measure_name = 'memory_used' THEN measure_value::double ELSE NULL END) as max_mem_used_1h, MAX(CASE WHEN measure_name = 'cpu_user' THEN measure_value::double ELSE NULL END) as max_cpu_user_1h, MAX(CASE WHEN measure_name = 'cpu_system' THEN measure_value::double ELSE NULL END) as max_cpu_system_1h FROM raw_data.devops WHERE time BETWEEN bin(@scheduled_runtime, 1h) - 14h AND bin(@scheduled_runtime, 1h) - 2h AND measure_name IN ('memory_free', 'memory_used', 'memory_cached', 'disk_io_writes', 'disk_used', 'disk_free', 'cpu_user', 'cpu_system', 'cpu_idle') GROUP BY region, bin(time, 1h)",
    "ScheduleConfiguration" : {
        "ScheduleExpression" : "cron(0 0/1 * * ? *)"
    },
    "NotificationConfiguration" : {
        "SnsConfiguration" : {
            "TopicArn" : "******"
        }
    },
    "ScheduledQueryExecutionRoleArn": "******",
    "TargetConfiguration": {
        "TimestreamConfiguration": {
            "DatabaseName" : "derived",
            "TableName" : "dashboard_metrics_1h_agg_5",
            "TimeColumn" : "hour",
            "DimensionMappings" : [
                {
                    "Name": "region",
                    "DimensionValueType" : "VARCHAR"
                }
            ],
            "MixedMeasureMappings" : [
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "avg_mem_cached_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "avg_disk_used_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "avg_disk_free_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "min_mem_free_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "min_cpu_idle_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "sum_1h",
                    "TargetMeasureName" : "total_disk_io_writes_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "max_mem_used_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "max_cpu_user_1h"
                },
                {
                    "MeasureValueType" : "DOUBLE",
                    "SourceColumn" : "max_cpu_system_1h"
                }
            ]
        }
    },
    "ErrorReportConfiguration": {
        "S3Configuration" : {
            "BucketName" : "******",
            "ObjectKeyPrefix": "errors",
            "EncryptionOption": "SSE_S3"
        }
    }
}
```

Berikut ini adalah skema untuk tabel tujuan setelah kueri terjadwal ini terwujud. Seperti yang Anda lihat bahwa tabel target menyimpan catatan dengan nilai ukuran tunggal tipe ganda. Demikian pula, skema ukuran untuk tabel menunjukkan sembilan nama ukuran. Perhatikan juga bahwa nama ukuran total\_disk\_io\_writes\_1h hadir sejak pemetaan mengganti nama sum\_1h menjadi total\_disk\_io\_writes\_1h.


| Kolom | Tipe | Timestream untuk jenis LiveAnalytics atribut | 
| --- | --- | --- | 
| region | varchar | UKURAN | 
| ukuran\_nama | varchar | UKURAN\_NAMA | 
| Waktu | timestamp | TIMESTAMP | 
| ukuran\_nilai: :ganda | double | UKURAN\_NILAI | 

Berikut ini adalah langkah-langkah terkait yang diperoleh dengan kueri SHOW MEASURES.


| ukuran\_nama | data\_type | Dimensi | 
| --- | --- | --- | 
| avg\_disk\_free\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| avg\_disk\_used\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| avg\_mem\_cached\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| max\_cpu\_system\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| max\_cpu\_user\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| max\_mem\_used\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| min\_cpu\_idle\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| min\_mem\_free\_1h | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 
| total-disk-io-writes | double | [{'dimension\_name': 'wilayah', 'data\_type': 'varchar'}] | 