Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
unnest
Gunakan unnest
untuk meratakan daftar yang diambil sebagai masukan untuk menghasilkan beberapa catatan dengan satu catatan untuk setiap elemen dalam daftar. Berdasarkan jumlah item yang terkandung dalam bidang, perintah ini membuang catatan saat ini dan menghasilkan catatan baru. Setiap catatan mencakupunnested_field
, yang mewakili item. Semua bidang lainnya berasal dari catatan asli.
Input untuk unnest
adalahLIST
, yang berasal dari jsonParse
fungsi. Untuk informasi selengkapnya, lihat Jenis struktur. Tipe lain, sepertiMAP
, String
dannumbers
, diperlakukan sebagai daftar dengan satu item diunnest
.
Struktur perintah
Contoh berikut menjelaskan format perintah ini.
unnest field into unnested_field
Kueri contoh
Contoh berikut mem-parsing string objek JSON dan memperluas daftar peristiwa bidang.
fields jsonParse(@message) as json_message | unnest json_message.events into event | display event.name
Peristiwa log untuk kueri contoh ini bisa berupa string JSON sebagai berikut:
{ "events": [ { "name": "exception" }, { "name": "user action" } ] }
Dalam hal ini, kueri sampel menghasilkan dua catatan dalam hasil kueri, satu dengan event.name
as exception
dan yang lain dengan event.name
sebagai tindakan pengguna
Kueri contoh
Contoh berikut meratakan daftar dan kemudian menyaring item.
fields jsonParse(@message) as js | unnest js.accounts into account | filter account.type = "internal"
Kueri contoh
Contoh berikut meratakan daftar untuk agregasi.
fields jsonParse(trimmedData) as accounts | unnest accounts into account | stats sum(account.droppedSpans) as n by account.accountId | sort n desc | limit 10