Tous les produits
Search
Centre de documentation

Simple Log Service:Fonction d'exploration de motifs (analyse détaillée des données tabulaires)

Dernière mise à jour :Aug 18, 2026

La fonction d'exploration de motifs analyse des échantillons comportant plusieurs attributs selon des conditions spécifiques. Elle détecte des modèles distincts qui influencent le partitionnement des données, ce qui vous aide à identifier rapidement les causes des écarts entre les conditions.

diff_patterns

Cette fonction compare deux jeux de données de même structure pour identifier les modèles d'attributs discrets (dimensions) divergents. Elle est conçue pour comparer les modèles (ensembles d'éléments fréquents) présents dans des données tabulaires.

Syntaxe

diff_patterns($TABLE, $HEADER, $SPLIT_COLUMN, $TEST_VAL, $CONTROL_VAL, $METRIC_COLUMN, $WEIGHT_COLUMN, $PARAM)

Paramètres

Important

Lorsque vous utilisez la fonction de statistiques de différence de motifs, assurez-vous que la colonne $SPLIT_COLUMN contient des lignes pour les valeurs $TEST_VAL et $CONTROL_VAL. La fonction ne peut pas effectuer de comparaison si les données du groupe test ou du groupe témoin sont manquantes.

Paramètre

Type de données

Obligatoire

Description

$TABLE

row<array<T>, array<E>, ..., array<F>>

Oui

Table d'entrée pour la fonction diff_patterns. Chaque colonne représente une dimension pour l'analyse détaillée.

$HEADER

array<varchar>

Oui

Noms des colonnes. Ces noms correspondent aux colonnes de $TABLE. Le nombre de noms d'en-tête doit correspondre au nombre de colonnes de la table.

$SPLIT_COLUMN

varchar

Oui

Nom de la colonne cible utilisée pour distinguer les groupes. La catégorie de tag prend actuellement uniquement en charge le type chaîne.

$TEST_VAL

varchar

Oui

Valeur dans $SPLIT_COLUMN correspondant au groupe test.

Assurez-vous que $TEST_VAL existe dans $SPLIT_COLUMN. Sinon, il est impossible de distinguer les deux groupes. Généralement, $TEST_VAL correspond à une valeur anormale.

$CONTROL_VAL

varchar

Oui

Valeur dans $SPLIT_COLUMN correspondant au groupe témoin.

Assurez-vous que $CONTROL_VAL existe dans $SPLIT_COLUMN. Sinon, il est impossible de distinguer les deux groupes. $CONTROL_VAL correspond à une valeur normale.

$METRIC_COLUMN

double/int

Non

Colonne de métrique. La valeur par défaut est '', ce qui signifie qu'aucune colonne de métrique n'est spécifiée.

Si vous souhaitez analyser l'impact des combinaisons de dimensions sur une métrique spécifique en plus des groupes de données, spécifiez une colonne de métrique. Par exemple, si une colonne « qps » enregistre votre métrique, l'algorithme peut calculer les écarts de cette métrique pour diverses combinaisons de dimensions.

$WEIGHT_COLUMN

varchar

Non

Colonne de pondération. La valeur par défaut est '' , ce qui signifie qu'aucune colonne de pondération n'est spécifiée.

Si ce paramètre n'est pas défini, toutes les lignes sont supposées avoir le même poids. Si une colonne de pondération est définie, tous les calculs prennent en compte les poids. Par exemple, une ligne avec un poids de 2 est traitée comme si elle apparaissait deux fois par rapport aux lignes ayant un poids de 1.

$PARAM

varchar

Non

Pour plus d'informations, consultez Détails du paramètre param.

Détails du paramètre param

Paramètre

Description

Type

Obligatoire

Par défaut

Valeurs valides

minimum_support_fraction

Support minimal d'un motif de sortie dans le groupe test. Par exemple, si un motif apparaît avec une fréquence de 0,1 dans le groupe test, son support est de 0,1. Ce paramètre contrôle le nombre de motifs de sortie en ajustant la sensibilité.

double

Non

0,05

(0, 1)

allow_sample

Indique si l'échantillonnage est autorisé pour les calculs.

bool

Non

true

[true, false]

agg_op

Un motif filtre plusieurs lignes de données. La fonction calcule ensuite la valeur agrégée de ces lignes dans METRIC_COLUMN. Ce paramètre spécifie l'opération d'agrégation à utiliser. Si METRIC_COLUMN n'est pas spécifié, la valeur par défaut est 1 pour le groupe test et 0 pour le groupe témoin.

string

Non

"avg"

["sum", "avg", "max", "min", "count", "p95"]

shapley_value_min_fraction

Fraction minimale de la valeur de Shapley pour une condition. Ce paramètre contrôle le nombre de conditions dans un motif.

double

Non

0,1

(0, 1)

Exemples

  • Analyse de requête :

    L'indicateur set session enable_remote_functions=true est requis car cette fonctionnalité est en aperçu public. Vous devez ajouter cet indicateur manuellement. Cette exigence sera supprimée dans les versions futures.
    * | set session enable_remote_functions=true ;
    with t0 as (select  JSON_EXTRACT_SCALAR(entity, '$.platform') AS platform,  JSON_EXTRACT_SCALAR(entity, '$.region') AS region, cast(value as double) as value, if((value > 100), 'true', 'false') as anomaly_label from log), 
    t1 as ( select array_agg(platform) as platform, array_agg(region) as region, array_agg(anomaly_label) as anomaly_label, array_agg(value) as value from t0),
    t2 as (select row(platform, region, anomaly_label, value) as table_row from t1),
    t3 as (select diff_patterns(table_row, ARRAY['platform', 'region', 'anomaly_label', 'value'],'anomaly_label', 'true', 'false', 'value') as ret from t2)
    select * from t3
  • Sorties :

    [["\"platform\"='Amazon Prime'","\"platform\"='Console'","\"platform\"='VR'","\"platform\"='Mobile'","\"platform\"='PC'","\"platform\"='Hulu'","\"platform\"='Netflix' AND \"region\"='Asia'","\"platform\"='YouTube'","\"platform\"='Disney+' AND \"region\"='South America'"],[18720,56921,44516,47520,44640,8640,4320,15840,4320],[0,4999,7324,5760,4320,0,0,1440,0],[0.05248902272841978,0.15960083668399478,0.12481844742405635,0.13324136538752713,0.1251661311216164,0.024225702797732206,0.012112851398866103,0.04441378846250904,0.012112851398866103],[0.0,0.0032988991351195829,0.004833194091941553,0.003801092022062172,0.0028508190165466289,0.0,0.0,0.000950273005515543,0.0],[0.05248902272841978,0.1563019375488752,0.1199852533321148,0.12944027336546497,0.12231531210506977,0.024225702797732206,0.012112851398866103,0.0434635154569935,0.012112851398866103],[608.6946996258738,552.6152340898742,501.3011076154948,525.0147121416072,580.8151715760738,409.282718625793,631.6115865793741,603.7699053925991,526.960199868643],[0.0,58.46518308219622,55.396758003518488,49.12926473747681,44.68946999270535,0.0,0.0,20.76262974302821,0.0],null]

Détails de la valeur de retour

Paramètre

Type

Description

Exemple

$RET.patterns

array<varchar>

Modèles de table, qui sont des ensembles d'éléments fréquents.

["\"platform\"='Amazon Prime'","\"platform\"='Console'","\"platform\"='VR'","\"platform\"='Mobile'","\"platform\"='PC'","\"platform\"='Hulu'","\"platform\"='Netflix' AND \"region\"='Asia'","\"platform\"='YouTube'","\"platform\"='Disney+' AND \"region\"='South America'"]

$RET.test_supports

array<bigint>

Fréquence du modèle correspondant dans le groupe test.

[18720,56921,44516,47520,44640,8640,4320,15840,4320],[0,4999,7324,5760,4320,0,0,1440,0]

$RET.control_supports

array<bigint>

Fréquence du modèle correspondant dans le groupe témoin.

Par comparaison, les résultats qui apparaissent en premier dans la sortie de diff_patterns ont une fréquence beaucoup plus élevée dans le groupe test (groupe anormal) que dans le groupe témoin (groupe normal).

0,4999,7324,5760,4320,0,0,1440,0]

$RET.test_ratio

array<double>

Ratio du modèle correspondant dans le groupe test (label=1) par rapport à l'ensemble total des données de test.

[0.05248902272841978,0.15960083668399478,0.12481844742405635,0.13324136538752713,0.1251661311216164,0.024225702797732206,0.012112851398866103,0.04441378846250904,0.012112851398866103]

$RET.control_ratio

array<double>

Ratio du modèle correspondant dans le groupe témoin (label=0) par rapport à l'ensemble de validation total.

[0,0,0.0032988991351195829,0.004833194091941553,0.003801092022062172,0.0028508190165466289,0,0,0,0,0.000950273005515543,0,0]

$RET.difference

array<double>

Différence entre les données du groupe test et celles du groupe témoin.

[0.05248902272841978,0.1563019375488752,0.1199852533321148,0.12944027336546497,0.12231531210506977,0.024225702797732206,0.012112851398866103,0.0434635154569935,0.012112851398866103]

$RET.test_average_metric

array<double>

Valeur moyenne de METRIC_COLUMN pour les données correspondant au motif. Si METRIC_COLUMN est '', cette valeur de retour n'a pas de sens.

[608.6946996258738,552.6152340898742,501.3011076154948,525.0147121416072,580.8151715760738,409.282718625793,631.6115865793741,603.7699053925991,526.960199868643]

$RET.control_average_metric

array<double>

Valeur moyenne de METRIC_COLUMN pour les données ne correspondant pas au motif. Si METRIC_COLUMN est '', cette valeur de retour n'a pas de sens.

[0,0,58.46518308219622,55.396758003518488,49.12926473747681,44.68946999270535,0,0,0,0,20.76262974302821,0,0]

$RET.error_msg

varchar/null

Message d'erreur. Si aucune erreur ne se produit, la valeur de retour est null.

null