Options de format de données
Databricks dispose de liaisons de mots-clés intégrées pour tous les formats de données pris en charge en mode natif par Apache Spark. Databricks utilise Delta Lake comme protocole default pour la lecture et l'écriture de données et de tables, tandis qu'Apache Spark utilise Parquet. Les sections suivantes décrivent les options et configurations disponibles lorsque vous interrogez chaque format de données sur Databricks.
La plupart des formats prennent en charge la compression en écriture via l'option compression. Pour les valeurs prises en charge pour chaque format, consultez les optionsDataFrameWriter. Databricks peut également lire directement des fichiers pré-compressés dans de nombreux formats, et vous pouvez décompresser des fichiers sur Databricks si nécessaire.
Pour plus d'informations sur les sources de données Apache Spark, consultez Fonctions de chargement/enregistrement génériques et Options de source de fichiers génériques.
Formats de table ouverts
Formats de table prenant en charge les transactions ACID, l'évolution des schémas et l'interopérabilité entre les moteurs.
-
- Delta Lake
- Le format default pour la lecture et l’écriture de données et de tables sur Databricks.
-
- Iceberg
- Lisez et écrivez des tables Iceberg et assurez l’interopérabilité avec des moteurs Iceberg externes.
-
- OpenSharing
- Lisez les tables et les données partagées à l’aide du protocole de partage ouvert.
Formats colonnaires
Formats colonnaires binaires optimisés pour les performances de lecture analytique et la compression.
Formats textuels
Formats lisibles par l'humain pour l'échange, la configuration et les enregistrements avec des schémas flexibles ou évolutifs.
-
- JSON
- Lire et écrire des fichiers JSON, y compris des options pour les enregistrements multi-lignes et l'inférence de schéma.
-
- CSV
- Lisez et écrivez des fichiers texte délimités, avec des options pour les en-têtes, les délimiteurs et les enregistrements mal formés.
-
- XML
- Lisez et écrivez des fichiers XML en spécifiant le tag de ligne et le schéma.
-
- Texte
- Lisez et écrivez des fichiers texte brut une ligne ou un fichier à la fois.
Formats binaires et spécialisés
Formats de sérialisation binaire et sources de données spécifiques à Databricks.
-
- Avro
- Lisez et écrivez des fichiers Avro et travaillez avec des charges utiles encodées en Avro en streaming.
-
- Expérimentation MLflow
- Chargez les données d'exécution de l'expérimentation MLflow à l'aide du mot-clé personnalisé
mlflow-experiment.
Données non structurées
Formats et types pour le stockage et le traitement de documents, d'images, d'audio et d'autres fichiers non structurés.
-
- Travailler avec des données non structurées
- Stockez, gérez et traitez des données non structurées telles que des documents, des images et de l’audio.
-
- Binaire
- Lire les fichiers sous forme d'enregistrements binaires bruts, y compris les images et autres données non structurées.
-
- Image
- Chargez des données d’image pour les charges de travail de machine learning. Databricks recommande de charger les images en tant que données
binary.
-
- Fichier
- Stockez une référence gouvernée vers un fichier non structuré au lieu d’utiliser
BINARYouSTRING.
-
- Ingérer des fichiers en tant que type FILE
- Ingérez des fichiers non structurés dans des tables en tant que références
FILEà l'aide de SQL, de fonctions table-valued et d'Auto Loader.
-
- Traiter des fichiers avec des UDF
- Lire les octets de fichiers, extraire les métadonnées d'images et de vidéos, et générer des fichiers dérivés avec des UDF.
-
- Guide de démarrage rapide des fonctions FILE
- Premiers pas avec le type
FILEet ses fonctions dans Databricks SQL et Databricks Runtime.
Données semi-structurées
Modèles et fonctions pour travailler avec des données imbriquées et semi-structurées dans le lakehouse.
-
- Modéliser les données semi-structurées
- Choisissez entre Variant, les chaînes JSON, les structs et les maps pour stocker des données semi-structurées.
-
- Variante
- Stockez des données semi-structurées en utilisant le type
VARIANTpour optimiser les lectures et les écritures.
-
- Transformer les types de données complexes
- Travailler avec des structs, des tableaux et des maps dans Apache Spark.
-
- Fonctions d'ordre supérieur
- Transformer des tableaux et des cartes à l'aide de fonctions d'ordre supérieur intégrées.