Aller au contenu principal

Dataset Wanderbricks

Le schéma wanderbricks dans le catalogue samples contient un dataset simulé de plateforme de réservation de voyages. Il modélise une marketplace de locations de vacances, avec des tables couvrant les utilisateurs et les hôtes, les annonces immobilières et les destinations, les réservations et les paiements, les avis et les Logs d'assistance, et l'activité de clic.

Utilisez ce dataset pour explorer les pipelines de Data Engineering, les tableaux de bord d’analytique et les workflows de Machine Learning sans charger vos propres données.

Accéder au dataset

Le dataset Wanderbricks est préchargé dans le catalogue samples et est disponible dans les workspaces compatibles avec Unity Catalog.

Pour répertorier toutes les tables dans le schéma :

SQL
SHOW TABLES IN samples.wanderbricks;

Pour prévisualiser les données dans une table spécifique :

SQL
SELECT *
FROM samples.wanderbricks.<table-name>
LIMIT 10;

Remplacez <table-name> par la table que vous souhaitez explorer, par exemple bookings ou reviews.

Tables

Le schéma wanderbricks comprend les tables suivantes : Exécutez SHOW TABLES IN samples.wanderbricks pour obtenir la liste complète.

Table

Description

users

Profils utilisateur comprenant le nom, l'e-mail, le pays ou la région et le type d'utilisateur.

hosts

Héberger les profils liés aux annonces de propriétés, y compris les détails du compte et des contacts.

properties

Annonces immobilières avec des détails tels que le titre, le type, le prix et la destination.

bookings

Enregistrements de réservation avec dates d'arrivée/de départ, nombre d'invités, montants totaux et statut.

payments

Enregistrements de paiement avec méthode, montant, statut et références de réservation.

booking_updates

Enregistrements de changement d'état de réservation pour les pipelines de capture de données modifiées (CDC).

reviews

Avis des utilisateurs sur les propriétés, y compris les évaluations, les commentaires et un indicateur is_deleted pour les suppressions logiques.

clickstream

Événements d'activité utilisateur (vues, clics, recherches, filtres) avec des métadonnées imbriquées pour l'appareil et le référent.

page_views

Événements de consultation de page liés aux utilisateurs et aux propriétés.

customer_support_logs

Logs de tickets de support avec des tableaux imbriqués de messages, incluant l'expéditeur et le sentiment.

destinations

Emplacements de destination avec des noms et descriptions, référencés par des annonces immobilières.

Table

Description

users

Profils utilisateur comprenant le nom, l'e-mail, le pays ou la région et le type d'utilisateur.

hosts

Héberger les profils liés aux annonces de propriétés, y compris les détails du compte et des contacts.

properties

Annonces immobilières avec des détails tels que le titre, le type, le prix et la destination.

bookings

Enregistrements de réservation avec dates d'arrivée/de départ, nombre d'invités, montants totaux et statut.

payments

Enregistrements de paiement avec méthode, montant, statut et références de réservation.

booking_updates

Enregistrements de changement d'état de réservation pour les pipelines de capture de données modifiées (CDC).

reviews

Avis des utilisateurs sur les propriétés, y compris les évaluations, les commentaires et un indicateur is_deleted pour les suppressions logiques.

clickstream

Événements d'activité utilisateur (vues, clics, recherches, filtres) avec des métadonnées imbriquées pour l'appareil et le référent.

page_views

Événements de consultation de page liés aux utilisateurs et aux propriétés.

customer_support_logs

Logs de tickets de support avec des tableaux imbriqués de messages, incluant l'expéditeur et le sentiment.

destinations

Emplacements de destination avec des noms et descriptions, référencés par des annonces immobilières.

Relations de table principale

Le diagramme suivant montre les connexions entre les utilisateurs, les réservations, les propriétés et les tables associées.

Diagramme des relations de table primaires de Wanderbricks montrant les connexions entre les utilisateurs, les réservations, les propriétés et les tables associées.

  • Utilisateurs et hôtes

    • users représente les voyageurs et les clients professionnels.
    • hosts représente les propriétaires immobiliers et les exploitants.
  • Propriétés et destinations

    • Chaque ligne dans properties est une annonce appartenant à un hôte.
    • properties liens vers destinations pour modéliser où l'annonce est située.
  • Réservations et paiements

    • bookings relie les voyageurs (user_id) aux propriétés (property_id).
    • payments et booking_updates référence booking_id pour capturer les transactions financières et les changements de statut.
  • Comportement et expérience

    • clickstream et page_views suivent la façon dont les utilisateurs naviguent et interagissent avec les annonces.
    • reviews recueille les commentaires après séjour par utilisateur et par propriété.
    • customer_support_logs les enregistrements prennent en charge les interactions liées à un utilisateur.

Exemples de requêtes

Les exemples suivants montrent comment query le dataset Wanderbricks.

Joindre les utilisateurs, les réservations et les propriétés

Retourner les réservations récentes avec les détails des clients et des propriétés :

SQL
SELECT
u.name AS guest_name,
p.title AS property_title,
b.check_in,
b.check_out,
b.total_amount,
b.status
FROM samples.wanderbricks.bookings AS b
JOIN samples.wanderbricks.users AS u
ON b.user_id = u.user_id
JOIN samples.wanderbricks.properties AS p
ON b.property_id = p.property_id
ORDER BY b.check_in DESC
LIMIT 10;

Analyser les événements de flux de clics par appareil

Récapitulez l'engagement par type d'événement et appareil :

SQL
SELECT
metadata.device AS device_type,
event,
COUNT(*) AS event_count
FROM samples.wanderbricks.clickstream
GROUP BY metadata.device, event
ORDER BY event_count DESC;

Calculer les évaluations moyennes par propriété

Trouvez les propriétés les mieux notées avec un volume de commentaires suffisant :

SQL
SELECT
p.title AS property_title,
p.property_type,
ROUND(AVG(r.rating), 2) AS avg_rating,
COUNT(r.rating) AS review_count
FROM samples.wanderbricks.properties AS p
JOIN samples.wanderbricks.reviews AS r
ON p.property_id = r.property_id
WHERE r.is_deleted = false
GROUP BY p.title, p.property_type
HAVING COUNT(r.rating) >= 5
ORDER BY avg_rating DESC
LIMIT 10;