Esecuzione di query sui dati di Amazon OpenSearch Service utilizzando il linguaggio Piped Processing Language (PPL) - Amazon OpenSearch Service

Esecuzione di query sui dati di Amazon OpenSearch Service utilizzando il linguaggio Piped Processing Language (PPL)

Il Piped Processing Language (PPL) è un linguaggio di query che consente di utilizzare una sintassi pipe (|) per eseguire una query sui dati archiviati in Amazon OpenSearch Service.

La sintassi PPL è costituita da comandi delimitati da un carattere pipe (|) dove i dati fluiscono da sinistra a destra attraverso ogni pipeline. Ad esempio, la sintassi PPL per trovare il numero di host con errori HTTP 403 o 503, aggregarli per host e ordinarli nell'ordine di impatto, è la seguente:

source = dashboards_sample_data_logs | where response='403' or response='503' | stats count(request) as request_count by host, response | sort -request_count

PPL richiede OpenSearch o Elasticsearch 7.9 o versioni successive. Le procedure dettagliate e le descrizioni dei comandi sono disponibili nella documentazione di OpenSearch.

Per iniziare, scegliere Query Workbench in OpenSearch Dashboards e selezionare PPL. Utilizzare l'operazione bulk per indicizzare alcuni dati di esempio:

PUT accounts/_bulk?refresh {"index":{"_id":"1"}} {"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"} {"index":{"_id":"6"}} {"account_number":6,"balance":5686,"firstname":"Hattie","lastname":"Bond","age":36,"gender":"M","address":"671 Bristol Street","employer":"Netagy","email":"hattiebond@netagy.com","city":"Dante","state":"TN"} {"index":{"_id":"13"}} {"account_number":13,"balance":32838,"firstname":"Nanette","lastname":"Bates","age":28,"gender":"F","address":"789 Mady Street","employer":"Quility","city":"Nogal","state":"VA"} {"index":{"_id":"18"}} {"account_number":18,"balance":4180,"firstname":"Dale","lastname":"Adams","age":33,"gender":"M","address":"467 Hutchinson Court","email":"daleadams@boink.com","city":"Orick","state":"MD"}

L'esempio seguente restituisce firstname e lastname per i documenti in un indice di account con age maggiore di 18:

search source=accounts | where age > 18 | fields firstname, lastname
Risposta di esempio
id firstname lastname
0 Amber Duke
1 Hattie Bond
2 Nanette Bates
3 Dale Adams

È possibile utilizzare un set completo di comandi di sola lettura come search, where, fields, rename, dedup, stats, sort, eval, head, top e rare. Per descrizioni ed esempi di ciascun comando, consultare Comandi.

Il plug-in PPL supporta tutte le funzioni SQL, compresi gli operatori matematici, trigonometrici, data-ora, stringa, aggregati e le espressioni avanzate. Per ulteriori informazioni, consultare Funzioni.