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.
unnest
Wird verwendetunnest
, um eine als Eingabe verwendete Liste zu vereinfachen, sodass mehrere Datensätze mit einem einzigen Datensatz für jedes Element in der Liste erstellt werden. Basierend auf der Anzahl der Elemente, die ein Feld enthält, verwirft dieser Befehl den aktuellen Datensatz und generiert neue Datensätze. Jeder Datensatz enthält denunnested_field
, der ein Element darstellt. Alle anderen Felder stammen aus dem ursprünglichen Datensatz.
Die Eingabe für unnest
istLIST
, die aus der jsonParse
Funktion stammt. Weitere Informationen finden Sie unter Strukturtypen. Alle anderen TypenMAP
, wie z. B. String
undnumbers
, werden als Liste mit einem Element behandeltunnest
.
Befehlsstruktur
Das folgende Beispiel beschreibt das Format dieses Befehls.
unnest field into unnested_field
Beispielabfrage
Im folgenden Beispiel wird eine JSON-Objektzeichenfolge analysiert und eine Liste von Feldereignissen erweitert.
fields jsonParse(@message) as json_message | unnest json_message.events into event | display event.name
Das Protokollereignis für diese Beispielabfrage könnte eine JSON-Zeichenfolge wie folgt sein:
{ "events": [ { "name": "exception" }, { "name": "user action" } ] }
In diesem Fall erzeugt die Beispielabfrage zwei Datensätze im Abfrageergebnis, einen mit event.name
als exception
und einen mit event.name
einer Benutzeraktion
Beispielabfrage
Im folgenden Beispiel wird eine Liste reduziert und anschließend Elemente herausgefiltert.
fields jsonParse(@message) as js | unnest js.accounts into account | filter account.type = "internal"
Beispielabfrage
Im folgenden Beispiel wird eine Liste zur Aggregation reduziert.
fields jsonParse(trimmedData) as accounts | unnest accounts into account | stats sum(account.droppedSpans) as n by account.accountId | sort n desc | limit 10