Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Utiliser des recherches pour interroger les données de la table
Lorsque vous téléchargez une table de recherche au format CSV, vous pouvez utiliser la fonction lookup() pour accéder à ces données dans votre requête NRQL . Vous pouvez utiliser la table de recherche pour vous aider à analyser les données télémétriques et personnaliser vos regroupements de données.
Syntaxe de requête de base
La requête de recherche suivante montre la syntaxe de base de cette fonction en utilisant une table nommée storeNames et en sélectionnant toutes les données de cette table :
FROM lookup(storeNames)
SELECT*
Cette requête sélectionne un attribut spécifique de cette même table :
FROM lookup(storeNames)
SELECT store_ID, store_name, description
Limites de requête
Les tables de recherche prennent en charge un LIMIT plus élevé lors de l'interrogation que les autres types de données NRQL . Vous pouvez définir un LIMIT allant jusqu'à 20 000 lorsque vous utilisez une table de recherche dans une requête, une sous-requête et une agrégation imbriquée.
Conseil
Lorsque vous utilisez une table de recherche dans une sous-requête, la requête externe LIMIT est liée à la valeur maximale standard, sauf si elle utilise également une table de recherche.
Limitations techniques
Vous ne pouvez pas utiliser de données de recherche avec la condition d'alerte NRQL .
Vous ne pouvez interroger une table de recherche qu'à partir du compte dans lequel vous avez téléchargé la table de recherche.
Les clauses NRQL suivantes ne sont pas prises en charge avec la requête de recherche :
TIMESERIES
COMPARE WITH
EXTRAPOLATE
Note: Vous pouvez utiliser ces clauses si vous incluez la requête de recherche dans une requête interne. Voir cette requête pour un exemple.
Exemples de recherche
table de recherche vous permet d'utiliser des requêtes qui combinent des données avec vos données télémétriques stockées dans New Relic.
Voici quelques exemples de requêtes :
Cette requête évite de coder en dur une longue liste d'hôtes en interrogeant les noms d'hôtes contenus dans une table de recherche :
FROM Log
SELECTcount(*)
WHERE hostname IN(FROM lookup(myHosts)SELECT uniques(myHost))
L'utilisation de la requête JOIN peut rendre vos données plus faciles à comprendre. Par exemple, cette requête pour un type d'événement personnalisé utilise la table storeNames pour afficher les noms des magasins ainsi que les ventes totales.
FROM StoreEvent
JOIN(FROM lookup(storeNames)SELECT store_ID as storeId, storeName AS name LIMIT10000)ON shopId = storeId
SELECT shopId, storeName, totalSales
Cela autorise une limite de 10 000 car la table de recherche prend en charge une limite plus élevée que les autres types de données NRQL , comme mentionné dans la section limites de requête .
Cette requête mappe les valeurs shopId à une valeur storeCategory plus large en utilisant une clause JOIN sur les données de la table de recherche. Cela vous permet d'effectuer des agrégations sur StoreEvent enregistrements en fonction de ces catégories plus larges et d'extraire de nouvelles informations détaillées de vos données.
FROM StoreEvent
JOIN(FROM lookup(storeCategories)SELECT store_ID as storeId, storeCategory)ON shopId = storeId
SELECTsum(totalSales) FACET storeCategory
Voici une requête qui traduit les codes d’état en résumés lisibles de l’état :
Cette requête montre comment plusieurs fonctionnalités NRQL peuvent fonctionner ensemble pour obtenir des informations commerciales à partir d'une requête de données log . La requête ci-dessous :
Extrait des informations sur les éléments du log des messages à l'aide de aparse()
Utilise JOIN sur les données de la table de recherche pour obtenir des noms d'éléments conviviaux
Génère un tableau de noms d'éléments et le nombre d'éléments stockés
WITH aparse(message,'POST to carts: * body: {"itemId":"*","unitPrice":*}%')AS(URL, ItemID, Price)