Ingestion avec SQL et Spark API
Cette page décrit comment ingérer des données dans Databricks Lakeflow Connect à l'aide des API SQL et Spark API, qui offrent de plus hauts niveaux de personnalisation du pipeline d'ingestion par rapport aux connecteurs managés. Utilisez-le pour choisir une approche d'ingestion par source de données et par niveau de personnalisation du pipeline.
Couches de la pile ETL
Certains connecteurs opèrent à un niveau de la pile ETL. Par exemple, Databricks propose des connecteurs entièrement managés pour les applications d'entreprise telles que Salesforce et les bases de données telles que SQL Server. D'autres connecteurs opèrent à plusieurs couches de la pile ETL. Par exemple, vous pouvez utiliser les API SQL et Spark dans Structured Streaming pour une personnalisation complète ou dans les LakeFlow Pipelines pour une expérience plus managée.

Databricks recommande de commencer par la couche la plus gérée. Si cela ne répond pas à vos exigences (par exemple, si cela ne prend pas en charge votre source de données), passez à la couche suivante.
Le tableau suivant décrit les trois couches de produits d'ingestion, classées du plus personnalisable au plus géré :
Couche | Description |
|---|---|
Apache Spark Structured Streaming est un moteur de streaming qui offre une tolérance aux pannes de bout en bout avec des garanties de traitement exactement une fois, en utilisant les Spark API. | |
Les LakeFlow Pipelines étendent Structured Streaming, offrant un cadre déclaratif pour la création de pipelines de données. Vous pouvez définir les Transformations à effectuer sur vos données, et les LakeFlow Pipelines gèrent l'orchestration, le monitoring, la qualité des données, les erreurs et bien plus encore. Ils offrent plus d'automatisation et moins de surcharge que Structured Streaming. | |
Les connecteurs entièrement managés s'appuient sur les Lakeflow Pipelines, offrant encore plus d'automatisation pour les sources de données les plus populaires. Ils étendent la fonctionnalité des LakeFlow Pipelines pour inclure également l'authentification spécifique à la source, la CDC, la gestion des cas extrêmes, la maintenance à long terme des API, les nouvelles tentatives automatisées, l'évolution des schémas automatisée, et ainsi de suite. Par conséquent, ils offrent encore plus d'automatisation pour toutes les sources de données prises en charge. |
Choose an option
Le tableau suivant répertorie les options d'ingestion SQL et Spark par source de données et par niveau de personnalisation du pipeline. Pour une expérience d'ingestion entièrement automatisée, utilisez plutôt les connecteurs gérés.
Les exemples SQL pour l'ingestion incrémentielle à partir du stockage d'objets cloud utilisent la syntaxe CREATE STREAMING TABLE. Il offre aux utilisateurs SQL une expérience d'ingestion évolutive ; c'est donc l'alternative recommandée à COPY INTO.
Source | Plus de personnalisation | Certaines personnalisations | Plus d'automatisation |
|---|---|---|---|
Stockage d'objets cloud | Auto Loader avec Structured Streaming
| Auto Loader avec LakeFlow Pipelines
| Auto Loader avec Databricks SQL
|
Serveurs SFTP | Ingérer les fichiers à partir de serveurs SFTP (Python, SQL) | N/A | N/A |
Apache Kafka | Structured Streaming avec source Kafka
| LakeFlow Pipelines avec source Kafka
| Databricks SQL avec source Kafka
|
Amazon Kinesis | Structured Streaming avec source Kinesis
| LakeFlow Pipelines avec source Kinesis
| Databricks SQL avec source Kinesis
|
Google Pub/Sub | Structured Streaming avec source Pub/Sub
| LakeFlow Pipelines avec source Pub/Sub
| Databricks SQL avec source Pub/Sub
|
Apache Pulsar | Structured Streaming avec source Pulsar
| LakeFlow Pipelines avec source Pulsar
| Databricks SQL avec une source Pulsar
|
Calendriers d'ingestion
Vous pouvez configurer les pipelines d'ingestion pour qu'ils s'exécutent selon une programmation récurrente ou en continu.