Créer un fichier de définition de table pour une source de données externe

Cette page explique comment créer un fichier de définition de table pour une source de données externe. Ce type de source de données (également appelé source de données fédérée) peut être interrogé directement, même si les données ne sont pas stockées dans BigQuery.

Fichiers de définition de table

Un fichier de définition de table contient la définition de schéma et les métadonnées d'une table externe (format de données de la table et propriétés associées, par exemple). Lorsque vous créez un fichier de définition de table, vous pouvez utiliser la fonctionnalité de détection automatique des schémas pour définir le schéma d'une source de données externe. Vous avez la possibilité de spécifier le schéma sur la ligne de commande ou de fournir un fichier JSON contenant la définition de schéma.

Vous utilisez les fichiers de définition de table avec l'API et l'interface de ligne de commande (CLI) BigQuery. Vous ne vous en servez pas lorsque vous créez une table externe à l'aide de l'interface utilisateur Web.

Vous pouvez créer des fichiers de définition de table pour les sources de données externes suivantes :

  • Google Cloud Storage

    • Fichiers CSV (valeurs séparées par une virgule)
    • Fichiers JSON (délimités par un retour à la ligne)
    • Fichiers Avro
    • Fichiers d'exportation Cloud Datastore
    • Fichiers d'exportation Cloud Firestore
  • Google Drive

    • Fichiers CSV (valeurs séparées par une virgule)
    • Fichiers JSON (délimités par un retour à la ligne)
    • Fichiers Avro
    • Fichiers Google Sheets (premier onglet uniquement)
  • Google Cloud Bigtable

Avant de commencer

Pour créer un fichier de définition de table, vous avez besoin de l'URI de votre source de données.

  • Pour une source de données Google Drive, vous avez besoin de l'URI Google Drive.
  • Pour une source de données Google Cloud Storage, vous avez besoin de l'URI Cloud Storage.
  • Pour une source de données Google Cloud Bigtable, vous avez besoin de l'URI Cloud Bigtable.

Tables externes permanentes et temporaires

Vous pouvez interroger une source de données externe dans BigQuery en utilisant une table permanente ou temporaire. Lorsque vous vous servez d'une table permanente, vous créez dans un ensemble de données BigQuery une table qui est associée à la source de données externe. La table étant permanente, vous pouvez utiliser des contrôles d'accès au niveau de l'ensemble de données pour la partager avec d'autres utilisateurs ayant également accès à la source de données externe sous-jacente. Vous avez par ailleurs la possibilité d'interroger la table à tout moment.

Lorsque vous interrogez une source de données externe à l'aide d'une table temporaire, vous soumettez une commande qui inclut une requête et crée une table non permanente associée à la source de données externe. Lors de l'utilisation d'une table temporaire, vous ne créez pas de table dans l'un des ensembles de données BigQuery. La table n'étant pas stockée de manière permanente dans un ensemble de données, vous ne pouvez pas la partager avec d'autres utilisateurs. L'interrogation d'une source de données externe à l'aide d'une table temporaire est utile pour des requêtes ad hoc ponctuelles qui sont exécutées sur des données externes, ou pour les processus d'extraction, de transformation et de chargement (ETL, Extract-Transform-Load).

Vous pouvez utiliser un fichier de définition de table pour décrire une table externe permanente ou temporaire.

Créer une définition de table à l'aide de la fonctionnalité de détection automatique des schémas

Si vous spécifiez un fichier CSV, JSON ou Google Sheets sans spécifier de description de schéma sur la ligne de commande ni ajouter de fichier de schéma, vous pouvez utiliser l'indicateur --autodetect pour définir l'option "autodetect" sur true dans le fichier de définition de table. Lorsque la détection automatique est activée, BigQuery tente le mieux possible de déduire automatiquement le schéma. Pour en savoir plus, consultez la section relative à la détection automatique des schémas dans BigQuery.

Vous pouvez utiliser la fonctionnalité de détection automatique des schémas lorsque vous créez des définitions de table pour les éléments suivants :

  • Fichiers JSON stockés dans Google Cloud Storage ou Google Drive
  • Fichiers CSV stockés dans Google Cloud Storage ou Google Drive
  • Fichiers Google Sheets stockés dans Google Drive

Définitions de table JSON

Tout en ayant activé la fonctionnalité de détection automatique, vous pouvez créer une définition de table pour des fichiers JSON délimités par un retour à la ligne qui sont stockés dans Google Cloud Storage ou Google Drive.

Google Cloud Storage

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --autodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [BUCKET_URI] par votre URI Cloud Storage (par exemple, gs://mybucket/myfile).

    bq mkdef --autodetect --source_format=NEWLINE_DELIMITED_JSON "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" est définie sur true.

    {
      "autodetect": true,
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources JSON. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur la détection automatique des schémas, reportez-vous à la propriété configuration.query.tableDefinitions.(key).autodetect.

Google Drive

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --autodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd).

    bq mkdef --autodetect --source_format=NEWLINE_DELIMITED_JSON "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" est définie sur true.

    {
      "autodetect": true,
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources JSON. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur la détection automatique des schémas, reportez-vous à la propriété configuration.query.tableDefinitions.(key).autodetect dans cette même documentation.

Définitions de table CSV

Tout en ayant activé la fonctionnalité de détection automatique, vous pouvez créer une définition de table pour des fichiers CSV qui sont stockés dans Google Cloud Storage ou Google Drive.

Google Cloud Storage

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --autodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [BUCKET_URI] par votre URI Cloud Storage (par exemple, gs://mybucket/myfile).

    bq mkdef --autodetect --source_format=CSV "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" est définie sur true.

    {
      "autodetect": true,
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Par exemple, si votre fichier contient une ligne d'en-tête, vous devez remplacer "skipLeadingRows" par 1.

    Plusieurs paramètres ("allowJaggedRows", par exemple) sont propres aux fichiers CSV. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les options de détection automatique des schémas, reportez-vous à la propriété configuration.query.tableDefinitions.(key).autodetect. Pour en savoir plus sur les options CSV, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions.

Google Drive

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --autodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd).

    bq mkdef --autodetect --source_format=CSV "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" est définie sur true.

    {
      "autodetect": true,
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Par exemple, si votre fichier contient une ligne d'en-tête, vous devez remplacer "skipLeadingRows" par 1.

    Plusieurs paramètres ("allowJaggedRows", par exemple) sont propres aux fichiers CSV. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les options de détection automatique des schémas, reportez-vous à la propriété configuration.query.tableDefinitions.(key).autodetect dans cette même documentation. Pour en savoir plus sur les options CSV, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions.

Définitions de table Google Sheets

Tout en ayant activé la fonctionnalité de détection automatique, vous pouvez créer une définition de table pour des fichiers Google Sheets (premier onglet uniquement) qui sont stockés dans Google Drive.

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --autodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd).

    bq mkdef --autodetect --source_format=GOOGLE_SHEETS "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" est définie sur true.

    {
      "autodetect": true,
      "sourceFormat": "GOOGLE_SHEETS",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Pour en savoir plus sur les paramètres propres aux fichiers Google Sheets, reportez-vous à la propriété configuration.query.tableDefinitions.(key).googleSheetsOptions dans la documentation de référence de l'API. Par ailleurs, sachez que de nombreux paramètres courants s'appliquent aux fichiers Google Sheets. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les options de détection automatique des schémas, reportez-vous à la propriété configuration.query.tableDefinitions.(key).autodetect dans cette même documentation.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les options de détection automatique des schémas, reportez-vous à la propriété configuration.query.tableDefinitions.(key).autodetect dans cette même documentation. Pour en savoir plus sur les paramètres propres aux fichiers Google Sheets, reportez-vous à la propriété configuration.query.tableDefinitions.(key).googleSheetsOptions.

Créer une définition de table à l'aide d'un schéma spécifié sur la ligne de commande

Si vous ne souhaitez pas utiliser la fonctionnalité de détection automatique des schémas, vous pouvez créer un fichier de définition de table en spécifiant une définition de schéma sur la ligne de commande. Pour ce faire, répertoriez sur la ligne de commande les champs et les types de données en respectant le format suivant : [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE].

Vous pouvez utiliser une définition de schéma spécifiée sur la ligne de commande lorsque vous créez des fichiers de définition de table pour les éléments suivants :

  • Fichiers JSON stockés dans Google Cloud Storage ou Google Drive
  • Fichiers CSV stockés dans Google Cloud Storage ou Google Drive
  • Fichiers Google Sheets stockés dans Google Drive

Définitions de table JSON

Vous pouvez créer une définition de table à l'aide d'un schéma spécifié sur la ligne de commande pour des fichiers JSON délimités par un retour à la ligne qui sont stockés dans Google Cloud Storage ou Google Drive.

Google Cloud Storage

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [BUCKET_URI] par votre URI Cloud Storage (par exemple, gs://mybucket/myfile). Remplacez [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] par vos informations de schéma (par exemple, Name:STRING,Address:STRING, etc.).

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[BUCKET_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources JSON. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Google Drive

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd). Remplacez [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] par vos informations de schéma (par exemple, Name:STRING,Address:STRING, etc.).

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[DRIVE_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources JSON. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Définitions de table CSV

Vous pouvez créer une définition de table à l'aide d'un schéma spécifié sur la ligne de commande pour des fichiers CSV qui sont stockés dans Google Cloud Storage ou Google Drive.

Google Cloud Storage

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [BUCKET_URI] par votre URI Cloud Storage (par exemple, gs://mybucket/myfile). Remplacez [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] par vos informations de schéma (par exemple, Name:STRING,Address:STRING, etc.).

    bq mkdef --noautodetect --source_format=CSV "[BUCKET_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Par exemple, si votre fichier contient une ligne d'en-tête, vous devez remplacer "skipLeadingRows" par 1.

    Plusieurs paramètres ("allowJaggedRows", par exemple) sont propres aux fichiers CSV. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les paramètres propres aux fichiers CSV, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans cette même documentation.

Google Drive

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd). Remplacez [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] par vos informations de schéma (par exemple, Name:STRING,Address:STRING, etc.).

    bq mkdef --noautodetect --source_format=CSV "[DRIVE_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Par exemple, si votre fichier contient une ligne d'en-tête, vous devez remplacer "skipLeadingRows" par 1.

    Plusieurs paramètres ("allowJaggedRows", par exemple) sont propres aux fichiers CSV. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les paramètres propres aux fichiers CSV, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans cette même documentation.

Définitions de table Google Sheets

Vous pouvez créer une définition de table à l'aide d'un schéma spécifié sur la ligne de commande pour des fichiers Google Sheets (premier onglet uniquement) qui sont stockés dans Google Drive.

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd). Remplacez [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] par vos informations de schéma (par exemple, Name:STRING,Address:STRING, etc.).

    bq mkdef --noautodetect --source_format=GOOGLE_SHEETS "[DRIVE_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "googleSheetsOptions": {
        "skipLeadingRows": 0
      },
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
        ]
      },
      "sourceFormat": "GOOGLE_SHEETS",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Pour en savoir plus sur les paramètres propres aux fichiers Google Sheets, reportez-vous à la propriété configuration.query.tableDefinitions.sheetsOptions dans la documentation de référence de l'API. Par ailleurs, sachez que de nombreux paramètres courants s'appliquent aux fichiers Google Sheets. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les paramètres propres aux fichiers Google Sheets, reportez-vous à la propriété configuration.query.tableDefinitions.sheetsOptions dans cette même documentation.

Créer une définition de table à l'aide d'un fichier de schéma JSON

Si vous ne souhaitez pas utiliser la fonctionnalité de détection automatique ni spécifier de définition de schéma sur la ligne de commande, vous pouvez créer un fichier de schéma JSON et le référencer lors de la création de votre fichier de définition de table. Vous devez créer le fichier de schéma JSON manuellement, et celui-ci doit se trouver sur votre ordinateur local. Il est impossible de référencer un fichier de schéma JSON dans Google Cloud Storage ou Google Drive.

Vous pouvez utiliser un fichier de schéma JSON lorsque vous créez des définitions de table pour les éléments suivants :

  • Fichiers JSON stockés dans Google Cloud Storage ou Google Drive
  • Fichiers CSV stockés dans Google Cloud Storage ou Google Drive
  • Fichiers Google Sheets stockés dans Google Drive

Définitions de table JSON

Vous pouvez créer une définition de table à l'aide d'un fichier de schéma JSON pour des fichiers JSON délimités par un retour à la ligne qui sont stockés dans Google Cloud Storage ou Google Drive.

Google Cloud Storage

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table. Remplacez [BUCKET_URI] par votre URI Cloud Storage (par exemple, gs://mybucket/myfile). Remplacez [PATH_TO_SCHEMA] par l'emplacement du fichier de schéma JSON sur votre ordinateur local.

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[BUCKET_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources JSON. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Google Drive

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd). Remplacez [PATH_TO_SCHEMA] par l'emplacement du fichier de schéma JSON sur votre ordinateur local.

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[DRIVE_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources JSON. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Définitions de table CSV

Vous pouvez créer une définition de table à l'aide d'un fichier de schéma JSON pour des fichiers CSV qui sont stockés dans Google Cloud Storage ou Google Drive.

Google Cloud Storage

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [BUCKET_URI] par votre URI Cloud Storage (par exemple, gs://mybucket/myfile). Remplacez [PATH_TO_SCHEMA] par l'emplacement du fichier de schéma JSON sur votre ordinateur local.

    bq mkdef --noautodetect --source_format=CSV "[BUCKET_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Par exemple, si votre fichier contient une ligne d'en-tête, vous devez remplacer "skipLeadingRows" par 1.

    Plusieurs paramètres ("allowJaggedRows", par exemple) sont propres aux fichiers CSV. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les paramètres propres aux fichiers CSV, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans cette même documentation.

Google Drive

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd). Remplacez [PATH_TO_SCHEMA] par l'emplacement du fichier de schéma JSON sur votre ordinateur local.

    bq mkdef --noautodetect --source_format=CSV "[DRIVE_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Par exemple, si votre fichier contient une ligne d'en-tête, vous devez remplacer "skipLeadingRows" par 1.

    Plusieurs paramètres ("allowJaggedRows", par exemple) sont propres aux fichiers CSV. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API. Pour plus d'informations sur les paramètres propres aux fichiers CSV, reportez-vous à la propriété configuration.query.tableDefinitions.(key).csvOptions dans cette même documentation.

Définitions de table Google Sheets

Vous pouvez créer une définition de table à l'aide d'un fichier de schéma JSON pour des fichiers Google Sheets (premier onglet uniquement) qui sont stockés dans Google Drive.

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande avec l'indicateur --noautodetect pour créer une définition de table. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive (par exemple, https://drive.google.com/open?id=123ABCD123AbcD123Abcd). Remplacez [PATH_TO_SCHEMA] par l'emplacement du fichier de schéma JSON sur votre ordinateur local.

    bq mkdef --noautodetect --source_format=GOOGLE_SHEETS "[DRIVE_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" n'est pas activée et que les informations de schéma sont écrites dans le fichier de définition de table.

    {
      "googleSheetsOptions": {
        "skipLeadingRows": 0
      },
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
        ]
      },
      "sourceFormat": "GOOGLE_SHEETS",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Pour en savoir plus sur les paramètres propres aux fichiers Google Sheets, reportez-vous à la propriété configuration.query.tableDefinitions.sheetsOptions dans la documentation de référence de l'API. Par ailleurs, sachez que de nombreux paramètres courants s'appliquent aux fichiers Google Sheets. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Créer des définitions de table Avro

Si vous utilisez un fichier Avro en tant que source de données externe, BigQuery récupère automatiquement le schéma à l'aide des données sources. Lorsque vous créez une définition de table pour des fichiers Avro, vous n'avez pas besoin d'utiliser la fonctionnalité de détection automatique des schémas. Il est également inutile de spécifier une définition de schéma sur la ligne de commande ou un fichier de schéma.

Vous pouvez créer un fichier de définition de table pour des données Avro qui sont stockées dans Google Cloud Storage ou Google Drive.

Google Cloud Storage

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande pour créer une définition de table. Vous n'avez pas besoin d'inclure l'indicateur --noautodetect avec les fichiers Avro. La fonctionnalité de détection automatique des schémas est désactivée pour ces fichiers. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [BUCKET_URI] par votre URI Cloud Storage.

    bq mkdef --source_format=AVRO "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez qu'il est inutile d'utiliser le paramètre "autodetect".

    {
      "sourceFormat": "AVRO",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources Avro. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Google Drive

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande pour créer une définition de table. Vous n'avez pas besoin d'inclure l'indicateur --noautodetect avec les fichiers Avro. La fonctionnalité de détection automatique des schémas est désactivée pour ces fichiers. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [DRIVE_URI] par votre URI Google Drive.

    bq mkdef --source_format=AVRO "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez que l'option "autodetect" est définie sur true.

    {
      "autodetect": true,
      "sourceFormat": "AVRO",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers sources Avro. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Créer des définitions de table d'exportation Cloud Datastore et Cloud Firestore

Si vous utilisez une exportation Cloud Datastore ou Cloud Firestore en tant que source de données externe, BigQuery récupère automatiquement le schéma à l'aide des données sources auto-descriptives. Lorsque vous créez une définition de table pour des fichiers de sauvegarde Cloud Datastore et Cloud Firestore, vous n'avez pas besoin d'utiliser la fonctionnalité de détection automatique des schémas. Il est également inutile de spécifier une définition de schéma sur la ligne de commande ou un fichier de schéma.

Vous pouvez créer un fichier de définition de table pour les données d'exportation Cloud Datastore et Cloud Firestore qui sont stockées dans Google Cloud Storage.

CLI

  1. Utilisez la commande mkdef de l'outil de ligne de commande pour créer une définition de table. Vous n'avez pas besoin d'inclure l'indicateur --noautodetect avec les fichiers de sauvegarde Cloud Datastore ou Cloud Firestore. La fonctionnalité de détection automatique des schémas est désactivée pour ces types de fichiers. La commande mkdef génère un fichier de définition de table au format JSON. L'exemple ci-dessous illustre la création d'une définition de table. La sortie est écrite dans le fichier /tmp/[FILE_NAME]. Remplacez [FILE_NAME] par le nom de votre fichier de définition de table et [BUCKET_URI] par votre URI Cloud Storage. Notez que le format source DATASTORE_BACKUP est utilisé pour Cloud Datastore et pour Cloud Firestore.

    bq mkdef --source_format=DATASTORE_BACKUP "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (Facultatif) Ouvrez le fichier de définition de table dans un éditeur de texte. Par exemple, la commande nano /tmp/[FILE_NAME] ouvre le fichier dans nano. Le fichier doit se présenter comme illustré ci-dessous. Notez qu'il est inutile d'utiliser le paramètre "autodetect".

    {
      "sourceFormat": "DATASTORE_BACKUP",
      "sourceUris": [
        "gs://[BUCKET_URI]"
      ]
    }
    

  3. (Facultatif) Modifiez manuellement le fichier de définition de table pour changer, ajouter ou supprimer des paramètres. Aucun paramètre de configuration n'est propre aux fichiers d'exportation Cloud Datastore et Cloud Firestore. La plupart des paramètres généraux s'appliquent à ces fichiers. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

API

Si vous utilisez l'API BigQuery, spécifiez une définition de table dans le cadre de la configuration de votre tâche. Pour en savoir plus, reportez-vous à la propriété configuration.query.tableDefinitions dans la documentation de référence de l'API.

Créer des définitions de table Cloud Bigtable

Lorsque vous créez un fichier de définition de table pour Cloud Bigtable, vous le générez manuellement au format JSON. La commande mkdef ne permet actuellement pas de créer une définition de table pour les sources de données Cloud Bigtable. La fonctionnalité de détection automatique des schémas n'est par ailleurs pas disponible pour Cloud Bigtable. Pour obtenir la liste des options de définition de table Cloud Bigtable, reportez-vous à la propriété configuration.query.tableDefinitions.(key).bigtableOptions dans la documentation de référence de l'API.

Un fichier de définition de table JSON pour Cloud Bigtable se présente comme illustré ci-dessous. À l'aide de ce fichier, BigQuery lit les données d'une seule famille de colonnes et interprète les valeurs sous la forme d'entiers codés en binaire.

{
    "sourceFormat": "BIGTABLE",
    "sourceUris": [
        "https://googleapis.com/bigtable/projects/[PROJECT_ID]/instances/[INSTANCE_ID]/tables/[TABLE_NAME]"
    ],
    "bigtableOptions": {
        "columnFamilies" : [
            {
                "familyId": "family_int",
                "type": "INTEGER",
                "encoding": "BINARY"
            }
        ],
    }
}

Utilisation des caractères génériques pour les fichiers de définition de table

Si vos données Google Cloud Storage sont réparties dans plusieurs fichiers ayant le même nom de base, vous pouvez utiliser un caractère générique dans l'URI situé dans le fichier de définition de table. Vous devez ajouter un astérisque (*) au nom de base, et placer le bucket et le nom de fichier entre guillemets. Par exemple, si vous utilisez deux fichiers nommés fed-sample000001.csv et fed-sample000002.csv, l'URI du bucket sera "gs://mybucket/fed-sample*".

Vous ne pouvez utiliser qu'un seul caractère générique pour les objets (noms de fichiers) de votre bucket. Le caractère générique peut figurer dans le nom de l'objet ou à la fin de celui-ci. Il est impossible d'ajouter un caractère générique au nom du bucket.

Pour les données Google Cloud Bigtable, un seul URI peut être spécifié. Il doit s'agir d'une URL HTTPS complète et valide pour une table Google Cloud Bigtable. De même, un seul URI peut être spécifié pour les sauvegardes Google Cloud Datastore. Cet URI doit se terminer par .backup_info.

Le caractère générique * n'est pas autorisé lors de la création de fichiers de définition de table pour les éléments suivants :

  • Sources de données Cloud Bigtable
  • Exportations Cloud Datastore stockées dans Google Cloud Storage
  • Exportations Cloud Firestore stockées dans Google Cloud Storage
  • Données stockées dans Google Drive
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…