Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Eindeutige Dimensionswerte

Fokusmodus
Eindeutige Dimensionswerte - Amazon Timestream

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Möglicherweise haben Sie einen Anwendungsfall, in dem Sie Dashboards haben, in denen Sie die Einzelwerte von Dimensionen als Variablen verwenden möchten, um die Metriken zu untersuchen, die einem bestimmten Datensegment entsprechen. Der folgende Snapshot ist ein Beispiel, bei dem das Dashboard die Einzelwerte verschiedener Dimensionen wie Region, Zelle, Silo, Microservice und Availability_Zone vorab ausfüllt. Hier zeigen wir ein Beispiel dafür, wie Sie geplante Abfragen verwenden können, um die Berechnung dieser unterschiedlichen Werte dieser Variablen anhand der Messwerte, die Sie verfolgen, erheblich zu beschleunigen.

Zu Rohdaten

Sie können SELECT DISTINCT verwenden, um die unterschiedlichen Werte zu berechnen, die sich aus Ihren Daten ergeben. Wenn Sie beispielsweise die unterschiedlichen Werte der Region ermitteln möchten, können Sie die Abfrage in diesem Formular verwenden.

SELECT DISTINCT region FROM "raw_data"."devops" WHERE time > ago(1h) ORDER BY 1

Möglicherweise verfolgen Sie Millionen von Geräten und Milliarden von Zeitreihen. In den meisten Fällen beziehen sich diese interessanten Variablen jedoch auf Dimensionen mit niedrigerer Kardinalität, bei denen es sich um einige bis zehn Werte handelt. Die Berechnung von DISTINCT aus Rohdaten kann das Scannen großer Datenmengen erfordern.

Eindeutige Dimensionswerte vorab berechnen

Sie möchten, dass diese Variablen schnell geladen werden, damit Ihre Dashboards interaktiv sind. Darüber hinaus werden diese Variablen häufig bei jedem Ladevorgang des Dashboards berechnet, sodass sie auch kostengünstig sein sollten. Sie können die Suche nach diesen Variablen optimieren, indem Sie geplante Abfragen verwenden und sie in einer abgeleiteten Tabelle materialisieren.

Zunächst müssen Sie die Dimensionen identifizieren, für die Sie die DISTINCT-Werte oder Spalten berechnen müssen, die Sie bei der Berechnung des DISTINCT-Werts in den Prädikaten verwenden werden.

In diesem Beispiel können Sie sehen, dass das Dashboard unterschiedliche Werte für die Dimensionen Region, Zelle, Silo, Availability_Zone und Microservice auffüllt. Sie können also die folgende Abfrage verwenden, um diese eindeutigen Werte vorab zu berechnen.

SELECT region, cell, silo, availability_zone, microservice_name, min(@scheduled_runtime) AS time, COUNT(*) as numDataPoints FROM raw_data.devops WHERE time BETWEEN @scheduled_runtime - 15m AND @scheduled_runtime GROUP BY region, cell, silo, availability_zone, microservice_name

Hier sind einige wichtige Dinge zu beachten.

  • Sie können eine geplante Berechnung verwenden, um Werte für viele verschiedene Abfragen vorab zu berechnen. Beispielsweise verwenden Sie die vorherige Abfrage, um Werte für fünf verschiedene Variablen vorab zu berechnen. Sie benötigen also nicht für jede Variable einen. Sie können dasselbe Muster verwenden, um gemeinsame Berechnungen in mehreren Panels zu identifizieren und so die Anzahl der geplanten Abfragen zu optimieren, die Sie verwalten müssen.

  • Bei den Einzelwerten der Dimensionen handelt es sich nicht grundsätzlich um Zeitreihendaten. Sie konvertieren dies also mit dem @scheduled_runtime in Zeitreihen. Indem Sie diese Daten mit dem @scheduled_runtime -Parameter verknüpfen, können Sie auch verfolgen, welche Einzelwerte zu einem bestimmten Zeitpunkt erschienen sind, und so Zeitreihendaten daraus erstellen.

  • Im vorherigen Beispiel sehen Sie, wie ein Metrikwert verfolgt wird. In diesem Beispiel wird COUNT (*) verwendet. Sie können andere aussagekräftige Aggregate berechnen, wenn Sie sie für Ihre Dashboards verfolgen möchten.

Im Folgenden finden Sie eine Konfiguration für eine geplante Berechnung unter Verwendung der vorherigen Abfrage. In diesem Beispiel ist sie so konfiguriert, dass sie alle 15 Minuten mit dem Zeitplanausdruck cron (0/15 * * *? *).

{ "Name": "PT15mHighCardPerUniqueDimensions", "QueryString": "SELECT region, cell, silo, availability_zone, microservice_name, min(@scheduled_runtime) AS time, COUNT(*) as numDataPoints FROM raw_data.devops WHERE time BETWEEN @scheduled_runtime - 15m AND @scheduled_runtime GROUP BY region, cell, silo, availability_zone, microservice_name", "ScheduleConfiguration": { "ScheduleExpression": "cron(0/15 * * * ? *)" }, "NotificationConfiguration": { "SnsConfiguration": { "TopicArn": "******" } }, "TargetConfiguration": { "TimestreamConfiguration": { "DatabaseName": "derived", "TableName": "hc_unique_dimensions_pt15m", "TimeColumn": "time", "DimensionMappings": [ { "Name": "region", "DimensionValueType": "VARCHAR" }, { "Name": "cell", "DimensionValueType": "VARCHAR" }, { "Name": "silo", "DimensionValueType": "VARCHAR" }, { "Name": "availability_zone", "DimensionValueType": "VARCHAR" }, { "Name": "microservice_name", "DimensionValueType": "VARCHAR" } ], "MultiMeasureMappings": { "TargetMultiMeasureName": "count_multi", "MultiMeasureAttributeMappings": [ { "SourceColumn": "numDataPoints", "MeasureValueType": "BIGINT" } ] } } }, "ErrorReportConfiguration": { "S3Configuration" : { "BucketName" : "******", "ObjectKeyPrefix": "errors", "EncryptionOption": "SSE_S3" } }, "ScheduledQueryExecutionRoleArn": "******" }

Berechnung der Variablen aus der abgeleiteten Tabelle

Sobald bei der geplanten Berechnung die Einzelwerte in der abgeleiteten Tabelle hc_unique_dimensions_pt15m vormaterialisiert wurden, können Sie die abgeleitete Tabelle verwenden, um die Einzelwerte der Dimensionen effizient zu berechnen. Im Folgenden finden Sie Beispielabfragen zur Berechnung der Einzelwerte und zur Verwendung anderer Variablen als Prädikate in diesen Einzelwertabfragen.

Region

SELECT DISTINCT region FROM "derived"."hc_unique_dimensions_pt15m" WHERE time > ago(1h) ORDER BY 1

Zelle

SELECT DISTINCT cell FROM "derived"."hc_unique_dimensions_pt15m" WHERE time > ago(1h) AND region = '${region}' ORDER BY 1

Silo

SELECT DISTINCT silo FROM "derived"."hc_unique_dimensions_pt15m" WHERE time > ago(1h) AND region = '${region}' AND cell = '${cell}' ORDER BY 1

Mikroservice

SELECT DISTINCT microservice_name FROM "derived"."hc_unique_dimensions_pt15m" WHERE time > ago(1h) AND region = '${region}' AND cell = '${cell}' ORDER BY 1

Availability Zone

SELECT DISTINCT availability_zone FROM "derived"."hc_unique_dimensions_pt15m" WHERE time > ago(1h) AND region = '${region}' AND cell = '${cell}' AND silo = '${silo}' ORDER BY 1
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.