Aller au contenu principal

Ingérer des données depuis Shopify

info

Bêta

Cette fonctionnalité est en version bêta. Pour l'utiliser, l'administrateur d'un workspace doit activer Lakeflow Connect for Shopify depuis la page Aperçus . Consultez Gérer les aperçus Databricks.

Cette page indique comment créer un pipeline d'ingestion Shopify géré à l'aide de Lakeflow Connect.

Conditions requises

  • Pour créer un pipeline d'ingestion, veillez d'abord à respecter les conditions suivantes :

    • Votre Workspace doit être activé pour Unity Catalog.

    • Le compute serverless doit être activé pour votre workspace. Voir les exigences du compute serverless.

    • Pour créer une nouvelle connexion, vous devez disposer des privilèges CREATE CONNECTION sur le métastore. Consultez Manage privileges in Unity Catalog.

      Si le connecteur prend en charge la création de pipelines via l’interface utilisateur, un administrateur peut créer la connexion et le pipeline en même temps en effectuant les étapes de cette page. Cependant, si les utilisateurs qui créent des pipelines utilisent une création basée sur l’API ou ne sont pas des administrateurs, un administrateur doit d’abord créer la connexion dans Catalog Explorer. Consultez Connect to managed ingestion sources.

    • Pour utiliser une connexion existante, vous devez disposer des privilèges USE CONNECTION ou de ALL PRIVILEGES sur l’objet de connexion.

    • Vous devez disposer des privilèges USE CATALOG sur le catalogue cible.

    • Vous devez disposer des privilèges USE SCHEMA et CREATE TABLE sur un schéma existant ou du privilège CREATE SCHEMA sur le catalogue cible.

  • Pour procéder à l'ingestion à partir de Shopify, configurez d'abord l'authentification depuis Databricks et créez une connexion. Voir Configurer l'authentification pour Shopify et Créer une connexion Shopify.

Options du connecteur

Définissez les options ciblées par le pipeline dans source_configurations. Consultez la rubrique Examples pour en savoir plus sur l’utilisation.

Option

Périmètre

Obligatoire

S’applique à

Description

start_datetime

Pipeline

Non

Toutes les tables incrémentielles

Date et heure les plus anciennes à partir desquelles ingérer des données, au format yyyy-MM-ddTHH:mm:ssXXX. Default to 365 days before the first synchronisation. S'applique uniquement à la première synchronisation de chaque table ; les synchronisations ultérieures reprennent à partir du curseur stocké.

Option

Périmètre

Obligatoire

S’applique à

Description

start_datetime

Pipeline

Non

Toutes les tables incrémentielles

Date et heure les plus anciennes à partir desquelles ingérer des données, au format yyyy-MM-ddTHH:mm:ssXXX. Default to 365 days before the first synchronisation. S'applique uniquement à la première synchronisation de chaque table ; les synchronisations ultérieures reprennent à partir du curseur stocké.

Créer un pipeline d’ingestion

Pour obtenir la liste des tables sources prises en charge, consultez Tables sources prises en charge.

  1. Dans la barre latérale du workspace Databricks, cliquez sur Data Ingestion .
  2. Sur la page Add data , sous Databricks connectors , cliquez sur Shopify .
  3. On the Connection page of the ingestion wizard, select the connection that stores your Shopify credentials. If you have the CREATE CONNECTION privilege on the metastore, click Icône Plus. Create connection to create a connection with the credentials from Configure authentication to Shopify.
  4. Cliquez sur Suivant .
  5. Sur la page Ingestion setup , entrez un nom pour le pipeline.
  6. Select a catalog and a schema to write event logs to. If you have USE CATALOG and CREATE SCHEMA privileges on the catalog, click Icône Plus. Create schema in the drop-down menu to create a schema.
  7. Cliquez sur Créer un pipeline et continuer .
  8. Sur la page Source , sélectionnez les tables à ingérer.
  9. Cliquez sur Enregistrer et continuer .
  10. Sur la page Destination , sélectionnez un catalogue et un schéma dans lesquels charger les données. Si vous disposez des privilèges USE CATALOG et CREATE SCHEMA sur le catalogue, cliquez sur Icône Plus. Create schema dans le menu déroulant pour créer un schéma.
  11. Cliquez sur Enregistrer et continuer .
  12. (Facultatif) Sur la page Calendriers et notifications , cliquez sur Icône Plus. Créer un calendrier . Définissez la fréquence de refresh des tables de destination.
  13. (Optionnel) Cliquez sur Icône Plus. Ajouter une notification pour configurer les notifications par e-mail en cas de réussite ou d'échec d'une opération du pipeline, puis cliquez sur Enregistrer et exécuter le pipeline .

Exemples

Le connecteur Shopify met à disposition 39 tables sources dans le schéma source default. Ingérez des tables individuelles ou l’ensemble du schéma.

Ingérer des tables spécifiques

Utilisez cette option pour ingérer un sous-ensemble spécifique de tables ou pour personnaliser la désignation de destination par table.

Le fichier de définition de pipeline suivant ingère des tables Shopify individuelles :

YAML
resources:
pipelines:
shopify_pipeline:
name: shopify_pipeline
catalog: 'main'
target: 'shopify_data'
ingestion_definition:
connection_name: shopify_connection
objects:
- table:
source_schema: 'default'
source_table: 'products'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'products'
- table:
source_schema: 'default'
source_table: 'orders'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'orders'
- table:
source_schema: 'default'
source_table: 'customers'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'customers'

Ingérer à partir d’une date de start spécifique

Utilisez l’option start_datetime pour contrôler la distance de lecture des tables incrémentielles lors de leur première synchronisation.

Le fichier de définition de pipeline suivant ingère les tables Shopify à partir d’une date de start spécifique :

YAML
resources:
pipelines:
shopify_pipeline:
name: shopify_pipeline
catalog: 'main'
target: 'shopify_data'
ingestion_definition:
connection_name: shopify_connection
source_configurations:
- api_source_connector_config:
configs:
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'products'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'products'
- table:
source_schema: 'default'
source_table: 'orders'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'orders'

Ingérer l’ensemble du schéma

Utilisez cette option pour ingérer toutes les tables sources Shopify dans un schéma de destination unique en une seule déclaration.

Le fichier de définition de pipeline suivant ingère toutes les tables Shopify prises en charge dans un schéma de destination :

YAML
resources:
pipelines:
shopify_pipeline:
name: shopify_pipeline
catalog: 'main'
target: 'shopify_data'
ingestion_definition:
connection_name: shopify_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'shopify_data'

Fichier de définition de job Declarative Automation Bundles

Voici un exemple de fichier de définition de job à utiliser avec les Declarative Automation Bundles. Le job s’exécute quotidiennement.

YAML
resources:
jobs:
shopify_job:
name: shopify_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: shopify_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.shopify_pipeline.id}

Modèles courants

Pour les configurations de pipeline avancées, voir Common patterns for managed ingestion pipelines.

Étapes suivantes

start, planifiez et configurez des alertes sur votre pipeline. Consultez Tâches de maintenance de pipeline courantes.

Ressources supplémentaires