Consigli per l'utilizzo delle query dirette in Amazon Service OpenSearch - OpenSearch Servizio Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Consigli per l'utilizzo delle query dirette in Amazon Service OpenSearch

Questa pagina fornisce consigli per utilizzare le query dirette di Amazon OpenSearch Service per analizzare i dati da CloudWatch Logs, Amazon S3 e Amazon Security Lake. Queste best practice ti aiutano a ottimizzare le prestazioni e a garantire un'esecuzione efficiente delle query senza la necessità di inserire o duplicare i dati.

Suggerimenti generali

Si consiglia di effettuare le seguenti operazioni quando si utilizza la query diretta:

  • Utilizzate la COALESCE SQL funzione per gestire le colonne mancanti e assicurarvi che i risultati vengano restituiti.

  • Usa dei limiti per le tue query per assicurarti di non recuperare troppi dati.

  • Se prevedi di analizzare lo stesso set di dati più volte, crea una vista indicizzata in cui inserire e indicizzare completamente i dati, per poi eliminarli OpenSearch una volta completata l'analisi.

  • Elimina i job e gli indici di accelerazione quando non sono più necessari.

  • Le query contenenti nomi di campo identici ma diversi solo nel caso in cui (ad esempio field1 eFIELD1) non siano supportate.

    Ad esempio, le seguenti query non sono supportate:

    Select AWSAccountId, AwsAccountId from LogGroup Select a.@LogStream, b.@logStream from Table A INNER Join Table B ona.id = b.id

    Tuttavia, la seguente query è supportata perché il nome del campo (@logStream) è identico in entrambi i gruppi di log:

    Select a.@logStream, b.@logStream from Table A INNER Join Table B on a.id = b.id
  • Le funzioni e le espressioni devono operare sui nomi dei campi e far parte di un'SELECTistruzione con un gruppo di log specificato nella FROM clausola.

    Ad esempio, questa query non è supportata:

    SELECT cos(10) FROM LogGroup

    Questa interrogazione è supportata:

    SELECT cos(field1) FROM LogGroup

Raccomandazioni di Amazon S3

Se utilizzi Amazon OpenSearch Service per indirizzare i dati di query in Amazon S3, ti consigliamo anche quanto segue:

  • Inserisci dati in Amazon S3 utilizzando i formati di partizione di anno, mese, giorno e ora per velocizzare le query.

  • Quando crei indici ignoranti, usa i filtri Bloom per i campi con cardinalità elevata e min/max gli indici per i campi con intervalli di valori ampi. Per i campi ad alta cardinalità, prendi in considerazione l'utilizzo di un approccio basato sui valori per migliorare l'efficienza delle query.

  • Utilizzate Index State Management per mantenere lo spazio di archiviazione per le viste materializzate e gli indici di copertura.

CloudWatch Registra i consigli

Se utilizzi Amazon OpenSearch Service per indirizzare i dati delle query nei CloudWatch log, ti consigliamo anche quanto segue:

  • Quando cerchi più gruppi di log in una sola query, usa la sintassi appropriata. Per ulteriori informazioni, consulta Funzioni di gruppo multi-log.

  • Quando usi i comandi SQL o PPL, racchiudi alcuni campi tra i backtick per interrogarli correttamente. I backtick sono necessari per i campi con caratteri speciali (non alfabetici e non numerici). Ad esempio, racchiudi e inserisci i contrassegni. @message Operation.Export, Test::Field Non è necessario racchiudere colonne con nomi puramente alfabetici nei backtick.

    Query di esempio con campi semplici:

    SELECT SessionToken, Operation, StartTime FROM `LogGroup-A` LIMIT 1000;

    Query simile con backtick aggiunti:

    SELECT `@SessionToken`, `@Operation`, `@StartTime` FROM `LogGroup-A` LIMIT 1000;

Consigli di Security Lake

Se utilizzi Amazon OpenSearch Service per indirizzare i dati delle query in Security Lake, ti consigliamo anche quanto segue: