Tous les produits
Search
Centre de documentation

Simple Log Service:Associer un LogStore à une table externe OSS

Dernière mise à jour :Aug 18, 2026

Lors de l'interrogation et de l'analyse des données de journal, il est souvent nécessaire de les croiser avec des données provenant de tables externes pour enrichir votre analyse. Cette rubrique explique comment exécuter une requête JOIN sur les données d'un LogStore Simple Log Service et d'une table externe dans Object Storage Service (OSS).

Prérequis

  • La collecte des données de journal est continue. Pour plus d'informations, consultez la rubrique Collecte de données.

  • Des index ont été créés pour les données de journal. Pour plus d'informations, consultez la rubrique Créer des index.

  • Un bucket OSS a été créé. Pour plus d'informations, consultez la rubrique Créer des buckets.

Contexte

Prenons l'exemple d'une entreprise de paiement souhaitant analyser l'influence de facteurs tels que l'âge, la région et le sexe des utilisateurs sur leurs habitudes de paiement. L'entreprise utilise Simple Log Service pour collecter en temps réel les journaux de comportement de paiement, qui incluent les méthodes de paiement et les montants. Elle stocke les données attributaires des utilisateurs, telles que la région, l'âge et le sexe, dans OSS. Pour répondre à ce scénario, le moteur de requête et d'analyse de Simple Log Service vous permet d'exécuter une requête JOIN sur les données d'un LogStore et d'une source de données externe, telle qu'une base de données MySQL ou OSS. Vous pouvez utiliser la syntaxe SQL JOIN pour combiner les données attributaires des utilisateurs avec les données comportementales afin d'analyser les métriques liées aux attributs des utilisateurs.

L'association des données de journal avec les données stockées dans OSS présente les avantages suivants :

  • Réduction des coûts : stockez les données rarement mises à jour dans OSS pour réduire les coûts de stockage. Lisez également les données via un réseau interne pour éviter les frais de trafic sortant.

  • Diminution de la charge opérationnelle : aucune migration des données vers un système de stockage unique n'est nécessaire.

  • Gain de temps : utilisez SQL pour analyser les données et obtenir des résultats en quelques secondes. Enregistrez également les requêtes fréquemment utilisées sous forme de graphiques pour accéder rapidement aux résultats.

Procédure

  1. Créez un fichier CSV et téléchargez-le dans OSS.

    Important

    Vous pouvez associer plusieurs fichiers OSS. La taille maximale d'un seul fichier est de 50 Mo. Les fichiers compressés ne sont pas pris en charge. Les expressions régulières ne sont pas prises en charge dans les paramètres.

    1. Créez un fichier nommé user.csv et collez-y le contenu suivant.

      userid,nick,gender,province,age
      1,User A,male,Shanghai,18
      2,User B,female,Zhejiang,19
      3,User C,male,Guangdong,18
    2. Téléchargez le fichier user.csv dans OSS. Pour plus d'informations, consultez la rubrique Télécharger des objets.

  2. Connectez-vous à la console Simple Log Service.

  3. Dans la section Projects, cliquez sur le projet souhaité.

    image

  4. Sous l'onglet Log Storage > Logstores, cliquez sur le LogStore souhaité.

    image

  5. Saisissez une instruction de requête et d'analyse, puis sélectionnez une plage de temps.

    Utilisez une instruction SQL pour définir une table externe virtuelle qui mappe un objet OSS. Dans cet exemple, la table externe est nommée user_meta1.

    * | create table user_meta1 ( userid bigint, nick varchar, gender varchar, province varchar, age bigint) with ( endpoint='oss-cn-hangzhou-internal.aliyuncs.com',accessid='<your AccessKey ID>',accesskey='<your AccessKey secret>',bucket='testoss',objects=ARRAY['user.csv'],type='oss')

    Si la requête renvoie un result de true, l'instruction a été exécutée avec succès.

    Dans l'instruction de requête, définissez le nom de la table externe, le schéma de la table et d'autres paramètres. Utilisez la clause WITH pour spécifier les détails de connexion à OSS et les informations sur le fichier cible. Le tableau suivant décrit les paramètres.

    Paramètre

    Description

    Exemple

    Nom de la table externe

    Le nom de la table externe. Il s'agit du nom de la table virtuelle.

    user_meta1

    Schéma

    Définit les propriétés de la table, y compris les noms des colonnes et les types de données. Les types de colonne pris en charge sont bigint, boolean, double et varchar.

    (userid bigint, nick varchar, gender varchar, province varchar, age bigint)

    Endpoint

    L'endpoint pour accéder à OSS. Pour plus d'informations, consultez la rubrique Régions et endpoints.

    Important

    Vous devez utiliser un endpoint interne. Les endpoints publics ne sont pas pris en charge.

    oss-cn-hangzhou-internal.aliyuncs.com

    Accessid

    L'AccessKey ID et l'AccessKey secret de votre compte Alibaba Cloud. Nous vous recommandons d'utiliser la paire de clés d'accès d'un utilisateur RAM disposant des autorisations nécessaires pour accéder aux données OSS. Pour savoir comment accorder des autorisations à un utilisateur RAM, consultez la rubrique Accorder des autorisations à un utilisateur RAM. Pour savoir comment obtenir une paire de clés d'accès, consultez la rubrique Paire de clés d'accès.

    LTAI

    Accesskey

    yourAccessKeySecret

    Bucket

    Le nom du bucket OSS qui stocke le fichier CSV.

    examplebucket

    Objects

    Les fichiers ou répertoires cibles dans le bucket. Le paramètre objects est de type ARRAY et peut contenir plusieurs fichiers ou répertoires. Notez les points suivants :

    • Lorsque vous spécifiez un répertoire, celui-ci doit se terminer par un /. Si vous spécifiez un répertoire tel que test_dir/, la table externe est associée à tous les fichiers CSV présents dans ce répertoire OSS sous le bucket correspondant.

    • Limitation : le nombre total de fichiers ne peut pas dépasser 100.

    • 'user.csv'

    • 'test_dir/'

    • 'user.csv','test_dir/','my_dir/'

    Type

    Définissez la valeur sur oss, ce qui indique que le type de table externe est Object Storage Service (OSS).

    oss

  6. Vérifiez que le magasin externe est défini.

    Exécutez l'instruction suivante. Si le résultat renvoyé correspond au contenu de la table que vous avez précédemment définie, le magasin externe est correctement défini. Dans cette instruction, user_meta1 représente le magasin externe que vous avez défini. Adaptez-le selon votre situation réelle.

    * | select * from user_meta1

    Par exemple, si le résultat contient des champs tels que userid, nick, gender, province et age ainsi que leurs données correspondantes, le magasin externe est défini avec succès.

  7. Exécutez une requête JOIN sur le LogStore et la table externe OSS.

    Exécutez l'instruction de requête et d'analyse suivante pour associer l'ID de journal dans Simple Log Service à l'userid dans le fichier OSS afin d'enrichir les informations du journal. Dans l'instruction, test_accesslog est le nom du LogStore, l est l'alias du LogStore et user_meta1 est la table du magasin externe que vous avez définie. Remplacez-les par vos valeurs réelles.

    * | select * from test_accesslog l join user_meta1 u on l.userid = u.userid

    Exemples de requêtes JOIN :

    • Comptez les requêtes d'accès par sexe.

      * | select u.gender, count(1) from test_accesslog l join user_meta1 u on l.userid = u.userid group by u.gender

      性别访问

    • Comptez les requêtes d'accès par tranche d'âge.

      * | select u.age, count(1) from test_accesslog l join user_meta1 u on l.userid = u.userid group by u.age

      年龄访问

    • Analysez les tendances d'accès au fil du temps par tranche d'âge.

      * | select date_trunc('minute',__time__) as minute, count(1) ,u.age from test_accesslog l join user_meta1 u on l.userid = u.userid group by u.age,minute

      时间访问