Aller au contenu principal

Stockage cloud

info

Aperçu

Lakewatch est en Aperçu privé. Pour demander l'accès, contactez l'équipe de votre compte Databricks.

Utilisez la méthode d’ingestion Stockage cloud pour ingérer des fichiers à partir d’un magasin d’objets cloud pris en charge. Lakewatch lit la source avec Auto Loader.

Cette page vous explique comment créer une source de données de stockage cloud. Pour gérer une source de données après sa création, consultez la page Créer et gérer des sources de données.

Lakewatch ingère depuis Google Cloud Storage via un volume Unity Catalog ou un emplacement externe.

Prérequis​

Avant de créer la source de données, assurez-vous de respecter les conditions suivantes :

  • Source dans Unity Catalog : Configurez votre stockage en tant que volume Unity Catalog ou emplacement externe. Comme Unity Catalog régit l'accès à la source, il s'agit du chemin recommandé. Pour la configuration, voir Gérer les emplacements externes.
  • Accès « run-as » à la source : l’ identité d’exécution de la source de données doit être capable de lire la source : le privilège READ FILES sur l’emplacement externe, ou READ VOLUME sur le volume. Accordez-le sur l’emplacement externe ou le volume dans Unity Catalog, pas sur l’identité elle-même. Pour obtenir des instructions, consultez la page Gérer les emplacements externes ou Privilèges pour les volumes Unity Catalog. Lakewatch effectue l’ingestion en tant qu’identité d’exécution, et non en tant que votre compte utilisateur. Par conséquent, votre accès au niveau du compte aux données n’est pas suffisant. L’accès que l’identité hérite d’un catalogue ou d’un schéma parent, ou d’un groupe, répond également à cette exigence.

Préparer vos données pour l'ingestion​

Chaque source de données Lakewatch ingère à partir d'un seul répertoire et lit tous les fichiers en utilisant un seul format de fichier . Avant de créer une source de données, organisez votre stockage cloud afin que chaque répertoire que vous prévoyez d'ingérer contienne :

  • Format de fichier unique : tous les fichiers doivent être du même format ( par exemple, tous en JSON, tous en Parquet ou tous en CSV). Les fichiers dans différents formats provoquent des erreurs d’analyse.
  • Un type de source : les fichiers doivent provenir du même système source et partager un schéma compatible (par exemple, tous les logs AWS CloudTrail ou tous les événements de détection CrowdStrike). Les variations mineures de schéma dans le même format sont traitées automatiquement, mais le mélange de schémas fondamentalement différents dans un répertoire n'est pas pris en charge.

Exemple de structure de répertoire :

Text
s3://my-security-bucket/
├── cloudtrail/ ← Datasource 1 (JSON)
│ ├── 2025/01/01/
│ │ ├── event1.json.gz
│ │ └── event2.json.gz
│ └── 2025/01/02/
│ └── event3.json.gz
├── vpc-flow-logs/ ← Datasource 2 (Parquet)
│ ├── region=us-east-1/
│ │ └── flowlogs.parquet
│ └── region=us-west-2/
│ └── flowlogs.parquet
└── waf-logs/ ← Datasource 3 (JSON)
└── waf-events.json

Chaque répertoire de premier niveau devient une source de données LakeWatch distincte. Les sous-répertoires sont parcourus automatiquement, y compris les chemins partitionnés de style Hive (comme region=us-east-1/), que Lakewatch détecte et mappe en tant que colonnes de partition.

Créer la source de données​

Dans Sources de données , cliquez sur Ajouter une source de données et sélectionnez Source de données personnalisée . Sur la page de création, définissez le Type de source sur votre emplacement de stockage, puis remplissez les champs suivants :

  • Nom de la source de données : saisissez un nom unique pour la source de données (par exemple, Cloudflare_WAF).

  • Emplacement des données : saisissez le chemin d'accès au répertoire contenant vos données (par exemple, s3://my-bucket/cloudtrail/, dbfs:/mnt/logs/ ou /Volumes/catalog/schema/volume/). Le chemin doit pointer vers un répertoire et non vers un fichier individuel. Pour ingérer uniquement les fichiers correspondant à un modèle, vous pouvez inclure un modèle glob dans le chemin. Par exemple, s3://my-bucket/logs/{2025,2026}/*.json.gz. Les caractères pris en charge sont *, ?, {, }, [ et ]. Pour obtenir tous les détails sur la syntaxe, consultez la documentation sur le filtrage des chemins du chargeur automatique Databricks.

  • Format de fichier : format utilisé par Lakewatch pour analyser les données source : JSON, JSONL, Parquet, CSV, XML ou texte. Cliquez sur Déduire avec Genie pour que Genie suggère le format à partir d'un échantillon de vos données.

  • Ingestion de données : choisissez quelle part de la source ingérer. Ce choix ne prend effet qu'au premier start.

    • Nouvelles données (default) : n’ingérer que les fichiers arrivés après le premier démarrage de la source de données. Les fichiers déjà présents à cet emplacement sont ignorés.
    • Toutes les données : ingérez les fichiers déjà présents à l'emplacement, puis continuez avec les fichiers qui arrivent ultérieurement.
  • Paramètres avancés : Développez cette section facultative pour configurer :

    • Nom de la table de sortie brute : nom de la table brute dans laquelle Lakewatch écrit les événements source avant l'exécution des analyseurs. Lakewatch le crée dans votre environnement ; le nom est obligatoire.
    • Performances optimisées : utilisez un compute aux performances optimisées pour une ingestion plus rapide (activé) ou un compute standard (désactivé). default, utilise le paramètre de compute d'ingestion de Workspace.

Découverte de fichiers et identifiants​

Lakewatch détecte automatiquement les nouveaux fichiers. Si l'emplacement externe Unity Catalog de la source a configuré des événements de fichier, Lakewatch les utilise ; sinon, il liste le répertoire. Il n’y a aucun paramètre de notification de fichier à configurer dans Lakewatch.

Lorsque la source est un volume ou un emplacement externe Unity Catalog, Lakewatch s’authentifie par son intermédiaire. Il n’y a pas d’entrée séparée pour les identifiants ou le Secret Scope. Vérifiez que l’ identité d’exécution peut lire l’objet Unity Catalog et son identifiant de stockage sous-jacent.

Prévisualiser les données​

Une fois que vous avez défini l'emplacement des données et le format du fichier, examinez l' aperçu des données en bas de la page. Il montre les données brutes telles que Lakewatch les écrit : une colonne data contenant chaque enregistrement et une colonne _metadata. Lakewatch échantillonne un fichier à partir de l' emplacement de données configuré.

L’échantillon affecte uniquement la prévisualisation ; lorsque la source de données s’exécute, elle ingère les données à partir de sa source configurée.

Gestion de la colonne d’heure​

La colonne time est critique pour les clusters, les filigranes en streaming et la performance des queries. Lakewatch la détecte et l’extrait automatiquement lors de la configuration, y compris lorsque le timestamp est imbriqué dans une structure VARIANT. Avant d'écrire chaque ligne dans la table brute, Lakewatch remplace les valeurs time nulles par le Timestamp d'ingestion (lw_meta.ingestion_time), de sorte que la colonne time de la table brute ne soit jamais nulle ; il définit lw_meta.missing_timestamp sur true pour ces lignes afin que vous puissiez distinguer les heures d'événements d'origine des fallback au moment de l'ingestion.

Joindre des analyseurs et créer la source de données​

Sur le même formulaire de création, faites défiler jusqu’à la section Parsers :

  1. Attacher des parseurs. Attachez un ou plusieurs analyseurs pour schématiser les données : un analyseur intégré correspondant à votre source ou un analyseur que vous avez créé. Si votre source délivre des enregistrements enveloppés, définissez également l’option Désencapsulation , décrite dans Désencapsuler des enregistrements enveloppés. Pour comprendre comment la correspondance des analyseurs fonctionne et les colonnes produites par les analyseurs, consultez la section Attacher des analyseurs.
  2. Créer la source de données. Cliquez sur Créer la source de données . La source de données commence à s’exécuter immédiatement selon son calendrier de traitement ; pour l’arrêter, supprimez la source de données.

Vous pouvez modifier les autres paramètres de la source de données (planification du traitement, compute et annotations) à tout moment sur le tab Vue d’ensemble après sa création. Voir Configurer les paramètres de la source de données.

Développer les enregistrements enveloppés​

Certaines sources fournissent plusieurs événements dans un conteneur plutôt qu’un enregistrement par ligne. Lorsque les données échantillonnées sont un tableau JSON d’événements, ou des événements enveloppés dans une enveloppe de livraison de logs AWS CloudWatch, Lakewatch peut désencapsuler le conteneur afin que chaque événement devienne sa propre ligne. Dans l’étape de l’analyseur, utilisez l’option Désencapsulation (la valeur par default est Aucune désencapsulation ) pour correspondre à la façon dont vos enregistrements sont enveloppés. Seules les formes d’enregistrement affichées lors de la configuration sont prises en charge. La désencapsulation est disponible pour les sources de données de stockage cloud mais pas pour la méthode Table existante, qui ingère une table Unity Catalog telle quelle.

  • Tableau JSON : Entrez la clé du tableau JSON : la clé au niveau racine contenant le tableau d'événements (par exemple, Records). Les chemins imbriqués ne sont pas pris en charge.
  • Logs CloudWatch AWS : Activez Conserver les en-têtes de logs CloudWatch pour conserver les métadonnées de l'enveloppe des logs CloudWatch d'origine sur chaque événement non encapsulé. Elle est désactivée par default.