Présentation des sources de données externes

Cette page explique comment interroger des données stockées en dehors de BigQuery.

Présentation

Une source de données externe (également appelée source de données fédérée) peut être interrogée directement, même si les données ne sont pas stockées dans BigQuery. Au lieu de charger ou de diffuser les données, vous créez une table qui référence la source de données externe.

BigQuery permet d'interroger directement des données depuis :

Cas d'utilisation des sources de données externes :

  • Charger et nettoyer vos données en une seule fois en interrogeant les données d'une source de données externe (une zone externe à BigQuery), puis écrire le résultat nettoyé dans le stockage BigQuery.
  • Disposer d'une petite quantité de données changeant fréquemment que vous joignez à d'autres tables. Comme elles proviennent d'une source de données externe, les données qui changent fréquemment n'ont pas besoin d'être rechargées à chaque mise à jour.

Limites des sources de données externes

Les limites suivantes s'appliquent aux sources de données externes :

  • BigQuery ne garantit pas la cohérence des données pour les sources de données externes. Les modifications apportées aux données sous-jacentes lors de l'exécution d'une requête peuvent entraîner un comportement inattendu.
  • Les requêtes portant sur des sources de données externes peuvent s'avérer moins performantes que l'interrogation de données contenues dans une table BigQuery native. Si la vitesse des requêtes est une priorité, chargez les données dans BigQuery au lieu de configurer une source de données externe. Les performances d'une requête portant sur une source de données externe dépendent du type de stockage externe. Par exemple, interroger des données stockées dans Cloud Storage est plus rapide qu'interroger des données stockées dans Google Drive. En règle générale, les performances des requêtes portant sur des sources de données externes doivent être équivalentes à celles de la lecture directe de données depuis le stockage externe.
  • Il n'est pas possible d'utiliser la méthode API JSON TableDataList pour extraire des données de tables hébergées dans une source de données externe. Pour en savoir plus, consultez la page relative à la méthode tabledata.list.

    Pour contourner cette limitation, vous pouvez enregistrer les résultats de la requête dans une table de destination. La méthode TableDataList peut ensuite être utilisée sur la table de résultats.

  • Il n'est pas possible d'exécuter une tâche BigQuery qui exporte des données depuis une source de données externe.

    Pour contourner cette limitation, vous pouvez enregistrer les résultats de la requête dans une table de destination. Une tâche d'exportation peut ensuite être exécutée sur la table de résultats.

  • Il n'est pas possible de référencer une source de données externe dans une requête de table générique.

  • Il n'est actuellement pas possible d'interroger des données externes stockées au format Parquet ou ORC.

  • Les sources de données externes ne sont pas compatibles avec le partitionnement ou le clustering de tables.

  • Lorsque vous interrogez une source de données externe, les résultats ne sont pas mis en cache. Chaque requête effectuée sur une table externe vous sera facturée, même si vous lancez plusieurs fois la même requête. Si vous devez effectuer une même requête à plusieurs reprises sur une table externe qui ne change pas fréquemment, envisagez plutôt d'écrire les résultats de la requête dans une table permanente et d'exécuter les requêtes sur la table permanente.

  • L'interrogation des données Cloud Bigtable n'est actuellement possible que dans les régions et zones suivantes :
    Région Zone(s)
    us-central1

    us-central1-a

    us-central1-b

    us-central1-c

    us-central1-f

    europe-west1

    europe-west1-b

    europe-west1-c

    europe-west1-d

  • Vous êtes limité à 4 requêtes simultanées sur une source de données Cloud Bigtable externe.

Considérations relatives aux zones

Lorsque vous choisissez un emplacement pour les données, envisagez d'entreprendre les actions suivantes :

  • Cohéberger un ensemble de données BigQuery et une source de données externe.
    • Lorsque vous interrogez des données dans une source de données externe telle que Cloud Storage, ces données doivent se trouver dans le même emplacement que votre ensemble de données BigQuery. Par exemple, si ce dernier se trouve dans la zone multirégionale UE, le bucket Cloud Storage contenant les données que vous interrogez doit se trouver dans un bucket multirégional de l'UE. Si votre ensemble de données est situé dans la zone multirégionale États-Unis, le bucket Cloud Storage doit se trouver dans un bucket multirégional aux États-Unis.
    • Si votre ensemble de données se trouve dans une zone régionale, le bucket Cloud Storage contenant les données que vous interrogez doit se trouver dans un bucket régional du même emplacement. Par exemple, si l'ensemble de données se trouve dans la région Tokyo, le bucket Cloud Storage doit être un bucket régional situé à Tokyo.
    • Si l'ensemble de données externe se trouve dans Cloud Bigtable, l'ensemble de données doit se trouver dans la zone multirégionale US ou EU. Les données Cloud Bigtable doivent se trouver dans l'un des emplacements Cloud Bigtable gérés.
    • Les considérations relatives aux zones ne s'appliquent pas aux sources de données externes Google Drive.
  • Élaborer un plan de gestion des données.
    • Si vous choisissez une ressource de stockage régionale, telle qu'un ensemble de données BigQuery ou un bucket Cloud Storage, élaborez un plan de gestion géographique des données.

Pour en savoir plus sur les emplacements Cloud Storage, consultez la section Emplacements des buckets dans la documentation de Cloud Storage.

Pour déplacer manuellement un ensemble de données d'un emplacement à un autre, procédez comme suit :

  1. Exportez les données de vos tables BigQuery vers un bucket Cloud Storage régional ou multirégional situé dans le même emplacement que l'ensemble de données. Par exemple, si votre ensemble de données se trouve dans l'emplacement multirégional UE, exportez les données dans un bucket régional ou multirégional de l'UE.

    L'exportation de données depuis BigQuery est gratuite, mais vous engagez des frais pour le stockage des données exportées dans Cloud Storage. Les exportations BigQuery sont soumises aux limites applicables aux tâches d'exportation.

  2. Copiez ou déplacez les données de votre bucket Cloud Storage vers un bucket régional ou multirégional dans le nouvel emplacement. Par exemple, si vous déplacez vos données de l'emplacement multirégional US vers l'emplacement régional Tokyo, vous les transférez vers un bucket régional situé à Tokyo. Pour en savoir plus sur le transfert d'objets Cloud Storage, consultez la page Renommer, copier et déplacer des objets de la documentation Cloud Storage.

    Notez que le transfert de données entre régions entraîne des frais de sortie réseau dans Cloud Storage.

  3. Après avoir transféré les données vers un bucket Cloud Storage dans le nouvel emplacement, créez-y un ensemble de données BigQuery. Ensuite, chargez les données du bucket Cloud Storage dans BigQuery.

    Le chargement des données dans BigQuery est gratuit, mais vous devrez payer des frais pour le stockage des données dans Cloud Storage jusqu'à ce que vous supprimiez les données ou le bucket. Le stockage des données dans BigQuery après leur chargement vous est également facturé. Le chargement de données dans BigQuery est soumis aux limites applicables aux tâches de chargement.

Pour en savoir plus sur le stockage de données à l'aide de Cloud Storage, consultez la section Utiliser Cloud Storage avec Big Data.

Tarification des sources de données externes

Lorsque vous interrogez une source de données externe depuis BigQuery, le nombre d'octets lus par la requête vous est facturé. Pour plus d'informations, consultez la section Tarifs des requêtes.

Le stockage des données et toute ressource utilisée par l'application source vous sont également facturés, selon les règles de tarification de l'application :

  • Pour en savoir plus sur les tarifs de Cloud Storage, consultez la page Tarifs de Cloud Storage.
  • Pour en savoir plus sur les tarifs de Cloud Bigtable, consultez la section Tarifs.
  • Pour en savoir plus sur les tarifs de Google Drive, consultez la section Tarifs.

Étapes suivantes

  • Découvrez comment interroger des données stockées dans Cloud Bigtable.
  • Découvrez comment interroger des données stockées dans Cloud Storage.
  • Découvrez comment interroger des données stockées dans Google Drive.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.