Présentation des sources de données externes
Cette page explique comment interroger des données stockées en dehors de BigQuery.
Une source de données externe peut être interrogée directement depuis BigQuery, même si les données ne sont pas stockées dans un stockage BigQuery. Par exemple, vous pouvez stocker des données dans une autre base de données Google Cloud, dans des fichiers Cloud Storage ou dans un autre produit cloud que vous souhaitez analyser dans BigQuery mais que vous n'êtes pas prêt à migrer.
Cas d'utilisation des sources de données externes :
- Pour les charges de travail ELT (extraction, chargement et transformation), charger et nettoyer vos données en une seule fois, puis écrire le résultat nettoyé dans le stockage BigQuery à l'aide d'une requête
CREATE TABLE ... AS SELECT
. - Effectuer une jointure de tables BigQuery avec des données qui changent fréquemment à partir d'une source de données externe En interrogeant directement la source de données externe, vous n'avez pas besoin d'actualiser les données dans l'espace de stockage BigQuery à chaque modification.
BigQuery présente deux mécanismes différents pour interroger des données externes : les tables externes et les requêtes fédérées.
Tables externes
Les tables externes sont semblables aux tables BigQuery standards, dans la mesure où elles stockent leurs métadonnées et leur schéma dans l'espace de stockage BigQuery. Toutefois, leurs données résident dans une source externe.
Les tables externes sont contenues dans un ensemble de données et vous les gérez de la même manière qu'une table BigQuery standard. Par exemple, vous pouvez afficher les propriétés de la table, définir des contrôles d'accès, etc. Vous pouvez interroger ces tables et, dans la plupart des cas, vous pouvez les joindre à d'autres tables.
Il existe trois genres de tables externes :
- Tables BigLake
- Tables BigQuery Omni
- Tables d'objets
- Tables externes autres que BigLake
Tables BigLake
Les tables BigLake vous permettent d'interroger des données structurées dans des data stores externes avec délégation d'accès. La délégation d'accès dissocie l'accès à la table BigLake de l'accès au data store sous-jacent. Une connexion externe associée à un compte de service permet de se connecter au data store. Étant donné que le compte de service gère la récupération des données du data store, il vous suffit d'accorder aux utilisateurs l'accès à la table BigLake. Cela vous permet d'appliquer une sécurité précise au niveau de la table, y compris au niveau des lignes et des colonnes. Pour les tables BigLake basées sur Cloud Storage, vous pouvez également utiliser le masquage des données dynamiques. Pour en savoir plus sur les solutions analytiques multicloud utilisant des tables BigLake avec des données Amazon S3 ou Blob Storage, consultez la page BigQuery Omni.
Pour plus d'informations, consultez la page Présentation des tables BigLake.
Tables d'objets
Les tables d'objets vous permettent d'analyser des données non structurées dans Cloud Storage. Vous pouvez effectuer une analyse avec des fonctions à distance ou réaliser des inférences à l'aide de BigQuery ML, puis joindre les résultats de ces opérations aux autres données structurées dans BigQuery.
Tout comme les tables BigLake, les tables d'objets utilisent la délégation d'accès, qui dissocie l'accès à la table d'objets de l'accès aux objets Cloud Storage. Une connexion externe associée à un compte de service permet de se connecter à Cloud Storage. Il vous suffit donc d'accorder aux utilisateurs l'accès à la table d'objets. Cela vous permet d'appliquer des règles de sécurité au niveau des lignes et de gérer les objets auxquels les utilisateurs ont accès.
Pour plus d'informations, consultez la page Présentation des tables d'objets.
Tables externes autres que BigLake
Les tables externes non BigLake vous permettent d'interroger des données structurées dans des data stores externes. Pour interroger une table externe non BigLake, vous devez disposer d'autorisations sur la table externe et la source de données externe. Par exemple, pour interroger une table externe autre que BigLake qui utilise une source de données dans Cloud Storage, vous devez disposer des autorisations suivantes :
bigquery.tables.getData
bigquery.jobs.create
storage.buckets.get
storage.objects.get
Pour en savoir plus, consultez la page Présentation des tables externes.
Requêtes fédérées
Les requêtes fédérées vous permettent d'envoyer une instruction de requête aux bases de données AlloyDB, Spanner ou Cloud SQL et d'obtenir le résultat en tant que table temporaire. Les requêtes fédérées utilisent l'API BigQuery Connection pour établir une connexion avec AlloyDB, Spanner ou Cloud SQL.
Dans votre requête, vous utilisez la fonction EXTERNAL_QUERY
pour envoyer une instruction de requête à la base de données externe, à l'aide du dialecte SQL de cette base de données.
Les résultats sont convertis en types de données GoogleSQL.
Pour en savoir plus, consultez la Présentation des requêtes fédérées.
Comparaison des fonctionnalités des sources de données externe
Le tableau suivant compare le comportement des sources de données externes :
Tables BigLake | Tables d'objets | Tables externes autres que BigLake | Requêtes fédérées | |
---|---|---|---|---|
Utilise la délégation d'accès | Oui, via un compte de service | Oui, via un compte de service | Non | Oui, via un compte utilisateur de base de données (Cloud SQL uniquement) |
Peut être basée sur plusieurs URI sources | Oui | Oui | Oui (Cloud Storage seulement) | Non applicable |
Mappage des lignes | Les lignes représentent le contenu des fichiers. | Les lignes représentent les métadonnées des fichiers. | Les lignes représentent le contenu des fichiers. | Non applicable |
Accessible par d'autres outils de traitement de données à l'aide de connecteurs | Oui (Cloud Storage seulement) | Non | Oui | Non applicable |
Peut être jointe à d'autres tables BigQuery | Oui (Cloud Storage seulement) | Yes | Oui | Yes |
Accessible en tant que table temporaire | Oui (Cloud Storage seulement) | Non | Oui | Yes |
Fonctionne avec Amazon S3 | Yes | Non | Non | Non |
Fonctionne avec Azure Storage | Yes | Non | Non | Non |
Fonctionne avec Bigtable | Non | Non | Oui | Non |
Compatible avec Spanner | Non | Non | Non | Yes |
Compatible avec Cloud SQL | Non | Non | Non | Yes |
Fonctionne avec Google Drive | Non | Non | Oui | Non |
Compatible avec Cloud Storage | Yes | Oui | Oui | Non |
Étapes suivantes
- Apprenez-en plus sur les tables BigLake.
- Apprenez-en plus sur les tables d'objets.
- Apprenez-en plus sur les tables externes.
- Apprenez-en plus sur les requêtes fédérées.
- Découvrez les tarifs de BigQuery.