Connecteur Dataset du Lakehouse Manager
Afin de créer un connecteur et l'utiliser pour interagir avec une table du Lakehouse Manager, vous pouvez vous connecter au Default Dataset ou à un Custom Dataset
Objectif
En utilisant le connecteur Dataset, vous pouvez interroger, insérer, mettre à jour ou supprimer du contenu de manière programmatique.
Se connecter au Lakehouse Manager
Afin de créer un connecteur et l'utiliser pour interagir avec une table du Lakehouse Manager, vous pouvez vous connecter au Default Dataset ou à un Custom Dataset.
Ci-dessous, vous trouverez les chaînes de connexion utilisées pour chaque type :
Après cela, vous pouvez utiliser la méthode cn_default.list() pour voir les tables disponibles dans votre Lakehouse Manager, puis cn_default.select(...) ou cn_default.query(...) pour récupérer les données de la table que vous souhaitez.
Consultez la section suivante de cet article pour plus de détails.
Notez que les tables doivent être chargées dans le Lakehouse Manager avant d'utiliser la méthode Connector.list() et les autres méthodes de l'objet Connector. Autrement dit, vous devez d'abord créer une table dans le Lakehouse Manager afin de pouvoir utiliser une table dans le SDK.
Méthodes du connecteur
list()
Récupère la liste des tables du dataset.
Sortie
query(sql, limit=-1, return_type='dataframe')
Exécute une requête SQL sur une source compatible, renvoie un dataframe (par défaut), un curseur itérable, ou une liste de dict.
Paramètres d'entrée
Sortie
select(table_name, conds={}, limit=-1, return_type='dataframe' )
Extrait des données d'une table avec des filtres simples, renvoie un dataframe (par défaut), un curseur itérable, ou une liste de dict.
Paramètres d'entrée
Sortie
update(table_name, set, conds=None, ignore=False)
Effectue une requête SQL UPDATE via des paramètres simples et renvoie le nombre de lignes affectées.
Paramètres d'entrée
Sorties
delete(table_name, conds)
Effectue une suppression basée sur une requête spécifique avec des conditions de filtrage. Renvoie le nombre de lignes supprimées.
Si vous n'avez besoin d'aucun filtre, utilisez la méthode truncate décrite ci-dessous.
Paramètres d'entrée
Sorties
truncate(table_name)
Tronque (vide) toutes les lignes d'une table.
Paramètres d'entrée
Sorties
insert(table_name, rows, odku=0, returnWarnings=False)
Exécute une requête d'insertion, ajoute optionnellement une opération on duplicate key update (ODKU), et renvoie des statistiques sur l'insertion du lot.
Si vous activez l'option ODKU, la requête effectuera automatiquement des mises à jour sur les lignes existantes au lieu de renvoyer des erreurs, en fonction des valeurs de clé primaire existantes dans chaque ligne que vous insérez.
Veuillez noter que vous DEVEZ fournir, pour chaque ligne que vous souhaitez insérer, au moins la clé primaire de la table de destination.
Nous vous encourageons à utiliser le module bulk_insert plutôt que cette fonction, comme documenté dans la section Méthodes du connecteur de cette page, car il gère mieux les blocs de données et l'insertion.
Paramètres d'entrée
Sorties
drop_table(table_name)
supprime la table du moteur de requêtes
Paramètres d'entrée
Sorties
get_table_schema(table_name, catalog_name, schema_name, strict=True)
Renvoie un schéma de table sous forme d'une liste d'objets forepaas.dwh.attributes.AttributeSchema
Paramètres d'entrée
Paramètres de sortie
Exemple de sortie
Méthodes LogicalObject
Afin d'utiliser les méthodes LogicalObject, vous devrez d'abord l'importer avec :
build(objects)
Lance une construction logique dans le Lakehouse Manager.
Paramètres d'entrée
Sorties
Exemple de sortie
create_from_physical(table, dataset='default_dataset', **kwargs)
Crée un objet logique basé sur une table physique existante.
Note : fonctionne actuellement uniquement avec les catalogues Trino et PostgreSQL.
Paramètres d'entrée
Sorties
get(name)
Récupère un objet logique depuis le Lakehouse Manager.
Paramètres d'entrée
Sorties
list(dataset_name='default_dataset')
Liste tous les objets logiques du Lakehouse Manager.
Paramètres d'entrée
Sorties
remove(name)
Supprime un objet logique du Lakehouse Manager.
Paramètres d'entrée
Sorties
Exemple de sortie
Notes complémentaires
En raison du manque de métriques collectées par les bibliothèques PostgreSQL ou Snowflake, les statistiques renvoyées par les connecteurs Data Platform sont calculées à partir de facteurs limités.
- Lorsqu'aucune erreur ne se produit, les lignes inserts et skipped sont calculées à partir du total de lignes avant et après l'insertion, ainsi que des records (nombre de données à insérer) fournis. Par exemple, si nous essayons d'insérer 3 lignes dans une table de 5 lignes, et que le résultat est 7 lignes au total, nous considérons que 2 lignes ont été inserted et 1 ligne skipped, tandis que records vaut 3.
- Si une erreur se produit dans un lot de données, le lot entier sera marqué comme warnings.
- Remarque pour Snowflake : les statistiques renvoyées par
insert_many()etinsert_dataframe()n'auront pas de warnings calculés, toutes les lignes qui échouent à l'insertion ou sont ignorées seront marquées comme skipped
Aller plus loin
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le canal Discord dédié.
Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.
Rejoignez notre communauté d'utilisateurs.