외부 데이터 소스용 테이블 정의 파일 만들기

이 페이지에서는 외부 데이터 소스용 테이블 정의 파일을 만드는 방법을 설명합니다. 외부 데이터 소스(제휴 데이터 소스라고도 함)는 데이터가 BigQuery에 저장되어 있지는 않지만 직접 쿼리할 수 있는 데이터 소스입니다.

테이블 정의 파일

테이블 정의 파일에는 외부 테이블의 스키마 정의와 메타데이터(예: 테이블의 데이터 형식 및 관련 속성)가 포함됩니다. 테이블 정의 파일을 만들 때는 스키마 자동 감지를 사용하여 외부 데이터 소스의 스키마를 정의할 수도 있고, 명령줄에서 인라인으로 스키마를 제공할 수도 있고, 스키마 정의가 포함된 JSON 파일을 제공할 수도 있습니다.

테이블 정의 파일은 BigQuery CLI 및 API와 함께 사용됩니다. 웹 UI를 사용하여 외부 테이블을 만들 때는 테이블 정의 파일을 사용하지 않습니다.

다음과 같은 외부 데이터 소스에 대해 테이블 정의 파일을 만들 수 있습니다.

  • Google Cloud Storage

    • 쉼표로 구분된 값(CSV)
    • JSON(줄바꿈으로 구분)
    • Avro 파일
    • Cloud Datastore 내보내기 파일
    • Cloud Firestore 내보내기 파일
  • Google 드라이브

    • 쉼표로 구분된 값(CSV)
    • JSON(줄바꿈으로 구분)
    • Avro 파일
    • Google 스프레드시트(첫 번째 탭만 해당)
  • Google Cloud Bigtable

시작하기 전에

테이블 정의 파일을 만들려면 데이터 소스의 URI가 필요합니다.

영구 외부 테이블과 임시 외부 테이블

영구 테이블이나 임시 테이블을 사용하여 BigQuery에서 외부 데이터 소스를 쿼리할 수 있습니다. 영구 테이블을 사용하는 경우 외부 데이터 소스에 연결된 BigQuery 데이터세트에 테이블을 만듭니다. 테이블은 영구적이므로 데이터세트 수준의 액세스 제어를 사용하여 기본 외부 데이터 소스에 대한 액세스 권한도 가진 다른 사용자와 테이블을 공유하고 언제든지 테이블을 쿼리할 수 있습니다.

임시 테이블을 사용하여 외부 데이터 소스를 쿼리하는 경우 쿼리를 포함하고 외부 데이터 소스에 연결된 비영구 테이블을 만드는 명령어를 제출합니다. 임시 테이블을 사용하는 경우 BigQuery 데이터세트 중 하나에 테이블을 만들지 않습니다. 테이블이 데이터세트에 영구적으로 저장되지 않으므로 다른 사용자와 테이블을 공유할 수 없습니다. 임시 테이블을 사용하여 외부 데이터 소스를 쿼리하면 외부 데이터에 대한 일회성 임시 쿼리 또는 ETL(추출, 변환, 로드) 프로세스에 유용합니다.

테이블 정의 파일을 사용하여 영구 또는 임시 외부 테이블을 설명할 수 있습니다.

스키마 자동 감지를 사용하여 테이블 정의 만들기

인라인 스키마 설명이나 스키마 파일을 포함하지 않고 CSV, JSON 또는 Google 스프레드시트 파일을 지정할 경우 --autodetect 플래그를 사용하면 테이블 정의 파일에서 "autodetect" 옵션을 true로 설정할 수 있습니다. 스키마 자동 감지가 사용 설정되면 BigQuery는 기존 정보를 최대한 활용하여 스키마를 자동으로 유추합니다. 자세한 내용은 BigQuery의 스키마 자동 감지를 참조하세요.

다음 데이터에 대한 테이블 정의를 만들 때 스키마 자동 감지를 사용할 수 있습니다.

  • Google Cloud Storage 또는 Google 드라이브에 저장된 JSON 파일
  • Google Cloud Storage 또는 Google 드라이브에 저장된 CSV 파일
  • Google 드라이브에 저장된 Google 스프레드시트 파일

JSON 테이블 정의

Google Cloud Storage 또는 Google 드라이브에 저장되고 줄바꿈으로 구분된 JSON 파일에 대해 자동 감지가 사용 설정된 테이블 정의를 만들 수 있습니다.

Google Cloud Storage

CLI

  1. 명령줄 도구의 mkdef 명령어와 --autodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [BUCKET_URI]Cloud Storage URI로 바꿉니다(예: gs://mybucket/myfile).

    bq mkdef --autodetect --source_format=NEWLINE_DELIMITED_JSON "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"true로 설정되어 있습니다.

    {
      "autodetect": true,
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. JSON 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 JSON 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. 스키마 자동 감지에 대한 자세한 내용은 configuration.query.tableDefinitions.(key).autodetect를 참조하세요.

Google 드라이브

CLI

  1. 명령줄 도구의 mkdef 명령어와 --autodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd).

    bq mkdef --autodetect --source_format=NEWLINE_DELIMITED_JSON "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"true로 설정되어 있습니다.

    {
      "autodetect": true,
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. JSON 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 JSON 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. 스키마 자동 감지에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).autodetect를 참조하세요.

CSV 테이블 정의

Google Cloud Storage 또는 Google 드라이브에 저장된 CSV 파일에 대해 자동 감지가 사용 설정된 테이블 정의를 만들 수 있습니다.

Google Cloud Storage

CLI

  1. 명령줄 도구의 mkdef 명령어와 --autodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [BUCKET_URI]Cloud Storage URI로 바꿉니다(예: gs://mybucket/myfile).

    bq mkdef --autodetect --source_format=CSV "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"true로 설정되어 있습니다.

    {
      "autodetect": true,
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. 예를 들어 파일에 머리글 행이 포함되어 있으면 "skipLeadingRows"1로 변경합니다.

    CSV 파일에는 "allowJaggedRows" 등 몇 가지 관련 설정이 있습니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. 스키마 자동 감지 옵션에 대한 자세한 내용은 configuration.query.tableDefinitions.(key).autodetect를 참조하세요. CSV 옵션에 대한 자세한 내용은 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

Google 드라이브

CLI

  1. 명령줄 도구의 mkdef 명령어와 --autodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd).

    bq mkdef --autodetect --source_format=CSV "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"true로 설정되어 있습니다.

    {
      "autodetect": true,
      "csvOptions": {
        "allowJaggedRows": false,
        "allowQuotedNewlines": false,
        "encoding": "UTF-8",
        "fieldDelimiter": ",",
        "quote": "\"",
        "skipLeadingRows": 0
      },
      "sourceFormat": "CSV",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. 예를 들어 파일에 머리글 행이 포함되어 있으면 "skipLeadingRows"1로 변경합니다.

    CSV 파일에는 "allowJaggedRows" 등 몇 가지 관련 설정이 있습니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. 스키마 자동 감지 옵션에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).autodetect를 참조하세요. CSV 옵션에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

Google 스프레드시트 테이블 정의

Google 드라이브에 저장된 Google 스프레드시트 파일(첫 번째 탭만 해당)에 대해 자동 감지가 사용 설정된 테이블 정의를 만들 수 있습니다.

CLI

  1. 명령줄 도구의 mkdef 명령어와 --autodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd).

    bq mkdef --autodetect --source_format=GOOGLE_SHEETS "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"true로 설정되어 있습니다.

    {
      "autodetect": true,
      "sourceFormat": "GOOGLE_SHEETS",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. Google 스프레드시트 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).googleSheetsOptions를 참조하세요. 또한 대부분의 일반 설정이 Google 스프레드시트 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. 스키마 자동 감지 옵션에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).autodetect를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. 스키마 자동 감지 옵션에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).autodetect를 참조하세요. Google 스프레드시트 파일과 관련된 설정에 대한 자세한 내용은 configuration.query.tableDefinitions.(key).googleSheetsOptions를 참조하세요.

인라인 스키마를 사용하여 테이블 정의 만들기

스키마 자동 감지를 사용하지 않으려는 경우 인라인 스키마 정의를 제공하여 테이블 정의 파일을 만들 수 있습니다. 인라인 스키마 정의를 제공하려면 명령줄에서 [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] 형식으로 필드와 데이터 유형을 나열하세요.

다음 데이터에 대한 테이블 정의 파일을 만들 때 인라인 스키마 정의를 사용할 수 있습니다.

  • Google Cloud Storage 또는 Google 드라이브에 저장된 JSON 파일
  • Google Cloud Storage 또는 Google 드라이브에 저장된 CSV 파일
  • Google 드라이브에 저장된 Google 스프레드시트 파일

JSON 테이블 정의

Google Cloud Storage 또는 Google 드라이브에 저장되고 줄바꿈으로 구분된 JSON 파일에 대해 인라인 스키마를 사용하여 테이블 정의를 만들 수 있습니다.

Google Cloud Storage

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [BUCKET_URI]Cloud Storage URI로 바꿉니다(예: gs://mybucket/myfile). [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE]은 스키마 정보로 바꿉니다(예: Name:STRING,Address:STRING).

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[BUCKET_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. JSON 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 JSON 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

Google 드라이브

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd). [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE]은 스키마 정보로 바꿉니다(예: Name:STRING,Address:STRING).

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[DRIVE_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. JSON 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 JSON 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

CSV 테이블 정의

Google Cloud Storage 또는 Google 드라이브에 저장된 CSV 파일에 대해 인라인 스키마를 사용하여 테이블 정의를 만들 수 있습니다.

Google Cloud Storage

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [BUCKET_URI]Cloud Storage URI로 바꿉니다(예: gs://mybucket/myfile). [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE]은 스키마 정보로 바꿉니다(예: Name:STRING,Address:STRING).

    bq mkdef --noautodetect --source_format=CSV "[BUCKET_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "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. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. 예를 들어 파일에 머리글 행이 포함되어 있으면 "skipLeadingRows"1로 변경합니다.

    CSV 파일에는 "allowJaggedRows" 등 몇 가지 관련 설정이 있습니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. CSV 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

Google 드라이브

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd). [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE]은 스키마 정보로 바꿉니다(예: Name:STRING,Address:STRING).

    bq mkdef --noautodetect --source_format=CSV "[DRIVE_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "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. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. 예를 들어 파일에 머리글 행이 포함되어 있으면 "skipLeadingRows"1로 변경합니다.

    CSV 파일에는 "allowJaggedRows" 등 몇 가지 관련 설정이 있습니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. CSV 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

Google 스프레드시트 테이블 정의

Google 드라이브에 저장된 Google 스프레드시트 파일(첫 번째 탭만 해당)에 대해 인라인 스키마를 사용하여 테이블 정의를 만들 수 있습니다.

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd). [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE]은 스키마 정보로 바꿉니다(예: Name:STRING,Address:STRING).

    bq mkdef --noautodetect --source_format=GOOGLE_SHEETS "[DRIVE_URI]" [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] > /tmp/[FILE_NAME]
    
  2. 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "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. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. Google 스프레드시트 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.sheetsOptions를 참조하세요. 또한 대부분의 일반 설정이 Google 스프레드시트 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. Google 스프레드시트 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.sheetsOptions를 참조하세요.

JSON 스키마 파일을 사용하여 테이블 정의 만들기

자동 감지를 사용하지 않으려는 경우나 인라인 스키마 정의를 제공하려는 경우 JSON 스키마 파일을 만든 후 테이블 정의 파일을 만들 때 이를 참조할 수 있습니다. JSON 스키마 파일은 수동으로 만들어 로컬 머신에 저장해야 합니다. Google Cloud Storage나 Google 드라이브에서는 JSON 스키마 파일에 대한 참조가 지원되지 않습니다.

다음 데이터에 대한 테이블 정의를 만들 때 JSON 스키마 파일을 사용할 수 있습니다.

  • Google Cloud Storage 또는 Google 드라이브에 저장된 JSON 파일
  • Google Cloud Storage 또는 Google 드라이브에 저장된 CSV 파일
  • Google 드라이브에 저장된 Google 스프레드시트 파일

JSON 테이블 정의

Google Cloud Storage 또는 Google 드라이브에 저장되고 줄바꿈으로 구분된 JSON 파일에 대해 JSON 스키마 파일을 사용하여 테이블 정의를 만들 수 있습니다.

Google Cloud Storage

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일의 이름으로 바꾸고, [BUCKET_URI]Cloud Storage URI로 바꿉니다(예: gs://mybucket/myfile). [PATH_TO_SCHEMA]는 로컬 머신에 있는 JSON 스키마 파일의 위치로 바꿉니다.

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[BUCKET_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. JSON 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 JSON 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

Google 드라이브

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd). [PATH_TO_SCHEMA]는 로컬 머신에 있는 JSON 스키마 파일의 위치로 바꿉니다.

    bq mkdef --noautodetect --source_format=NEWLINE_DELIMITED_JSON "[DRIVE_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "schema": {
        "fields": [
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          },
          {
            "name": "[FIELD]",
            "type": "[DATA_TYPE]"
          }
          ...
        ]
      },
      "sourceFormat": "NEWLINE_DELIMITED_JSON",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. JSON 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 JSON 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

CSV 테이블 정의

Google Cloud Storage 또는 Google 드라이브에 저장된 CSV 파일에 대해 JSON 스키마 파일을 사용하여 테이블 정의를 만들 수 있습니다.

Google Cloud Storage

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [BUCKET_URI]Cloud Storage URI로 바꿉니다(예: gs://mybucket/myfile). [PATH_TO_SCHEMA]는 로컬 머신에 있는 JSON 스키마 파일의 위치로 바꿉니다.

    bq mkdef --noautodetect --source_format=CSV "[BUCKET_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "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. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. 예를 들어 파일에 머리글 행이 포함되어 있으면 "skipLeadingRows"1로 변경합니다.

    CSV 파일에는 "allowJaggedRows" 등 몇 가지 관련 설정이 있습니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. CSV 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

Google 드라이브

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd). [PATH_TO_SCHEMA]는 로컬 머신에 있는 JSON 스키마 파일의 위치로 바꿉니다.

    bq mkdef --noautodetect --source_format=CSV "[DRIVE_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "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. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. 예를 들어 파일에 머리글 행이 포함되어 있으면 "skipLeadingRows"1로 변경합니다.

    CSV 파일에는 "allowJaggedRows" 등 몇 가지 관련 설정이 있습니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요. CSV 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.(key).csvOptions를 참조하세요.

Google 스프레드시트 테이블 정의

Google 드라이브에 저장된 Google 스프레드시트 파일(첫 번째 탭만 해당)에 대해 JSON 스키마 파일을 사용하여 테이블 정의를 만들 수 있습니다.

CLI

  1. 명령줄 도구의 mkdef 명령어와 --noautodetect 플래그를 사용하여 테이블 정의를 만듭니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다(예: https://drive.google.com/open?id=123ABCD123AbcD123Abcd). [PATH_TO_SCHEMA]는 로컬 머신에 있는 JSON 스키마 파일의 위치로 바꿉니다.

    bq mkdef --noautodetect --source_format=GOOGLE_SHEETS "[DRIVE_URI]" [PATH_TO_SCHEMA] > /tmp/[FILE_NAME]
    
  2. 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"는 사용 설정되어 있지 않으며 스키마 정보는 테이블 정의 파일에 기록되어 있습니다.

    {
      "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. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. Google 스프레드시트 파일과 관련된 설정에 대한 자세한 내용은 API 참조의 configuration.query.tableDefinitions.sheetsOptions를 참조하세요. 또한 대부분의 일반 설정이 Google 스프레드시트 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

Avro 테이블 정의 만들기

Avro 파일을 외부 데이터 소스로 사용하는 경우 BigQuery는 소스 데이터를 사용하여 스키마를 자동으로 가져옵니다. Avro 파일에 대한 테이블 정의를 만들 때는 스키마 자동 감지를 사용할 필요가 없으며 인라인 스키마 정의나 스키마 파일을 제공할 필요도 없습니다.

Google Cloud Storage 또는 Google 드라이브에 저장된 Avro 데이터에 대해 테이블 정의 파일을 만들 수 있습니다.

Google Cloud Storage

CLI

  1. 명령줄 도구의 mkdef 명령어를 사용하여 테이블 정의를 만듭니다. Avro 파일의 경우에는 --noautodetect 플래그를 사용할 필요가 없습니다. Avro 파일에는 스키마 자동 감지가 사용 중지되어 있습니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [BUCKET_URI]는 사용하는 Cloud Storage URI로 바꿉니다.

    bq mkdef --source_format=AVRO "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect" 설정은 필요하지 않습니다.

    {
      "sourceFormat": "AVRO",
      "sourceUris": [
        "[BUCKET_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. Avro 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 Avro 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

Google 드라이브

CLI

  1. 명령줄 도구의 mkdef 명령어를 사용하여 테이블 정의를 만듭니다. Avro 파일의 경우에는 --noautodetect 플래그를 사용할 필요가 없습니다. Avro 파일에는 스키마 자동 감지가 사용 중지되어 있습니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [DRIVE_URI]Google 드라이브 URI로 바꿉니다.

    bq mkdef --source_format=AVRO "[DRIVE_URI]" > /tmp/[FILE_NAME]
    
  2. 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect"true로 설정되어 있습니다.

    {
      "autodetect": true,
      "sourceFormat": "AVRO",
      "sourceUris": [
        "[DRIVE_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. Avro 소스 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 Avro 파일에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

Cloud Datastore 및 Cloud Firestore 내보내기 테이블 정의 만들기

Cloud Datastore 또는 Cloud Firestore 내보내기를 외부 데이터 소스로 사용하는 경우 BigQuery는 자기 기술 소스 데이터를 사용하여 스키마를 자동으로 가져옵니다. Cloud Datastore 및 Cloud Firestore 백업 파일에 대한 테이블 정의를 만들 때는 스키마 자동 감지를 사용할 필요가 없으며 인라인 스키마 정의나 스키마 파일을 제공할 필요도 없습니다.

Google Cloud Storage에 저장된 Cloud Datastore 및 Cloud Firestore 내보내기 데이터에 대해 테이블 정의 파일을 만들 수 있습니다.

CLI

  1. 명령줄 도구의 mkdef 명령어를 사용하여 테이블 정의를 만듭니다. Cloud Datastore 또는 Cloud Firestore 백업 파일의 경우에는 --noautodetect 플래그를 사용할 필요가 없습니다. 이러한 파일 유형에는 스키마 자동 감지가 사용 중지되어 있습니다. mkdef 명령어는 JSON 형식의 테이블 정의 파일을 생성합니다. 다음 예에서는 테이블 정의를 만들고 출력을 /tmp/[FILE_NAME] 파일에 씁니다. 여기서 [FILE_NAME]은 테이블 정의 파일 이름으로 바꾸고, [BUCKET_URI]Cloud Storage URI로 바꿉니다. DATASTORE_BACKUP 소스 형식은 Cloud Datastore와 Cloud Firestore 모두에 사용됩니다.

    bq mkdef --source_format=DATASTORE_BACKUP "[BUCKET_URI]" > /tmp/[FILE_NAME]
    
  2. (선택사항) 테이블 정의 파일을 텍스트 편집기에서 엽니다. 예를 들어 nano /tmp/[FILE_NAME] 명령어는 이 파일을 nano에서 엽니다. 파일은 다음과 같이 나타납니다. "autodetect" 설정은 필요하지 않습니다.

    {
      "sourceFormat": "DATASTORE_BACKUP",
      "sourceUris": [
        "gs://[BUCKET_URI]"
      ]
    }
    
  3. (선택사항) 설정을 수정, 추가 또는 삭제하려면 테이블 정의 파일을 수동으로 수정합니다. Cloud Datastore 및 Cloud Firestore 내보내기 파일에만 해당되는 특별한 구성 설정은 없고 대부분의 일반 설정이 이러한 파일 유형에도 적용됩니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

API

BigQuery API를 사용하는 경우에는 작업 구성의 일부로 테이블 정의를 설정해야 합니다. 자세한 내용은 API 참조의 configuration.query.tableDefinitions를 참조하세요.

Cloud Bigtable 테이블 정의 만들기

Cloud Bigtable에 대한 테이블 정의 파일을 만들 때는 수동으로 JSON 형식의 파일을 생성해야 합니다. 현재 Cloud Bigtable 데이터 소스의 경우에는 mkdef 명령어를 사용하여 테이블 정의를 만들 수 없습니다. Cloud Bigtable에는 스키마 자동 감지도 지원되지 않습니다. Cloud Bigtable 테이블 정의 옵션의 목록은 API 참조의 configuration.query.tableDefinitions.(key).bigtableOptions를 참조하세요.

Cloud Bigtable에 대한 JSON 테이블 정의 파일은 다음과 같습니다. BigQuery는 이 테이블 정의 파일을 사용하여 단일 열 그룹에서 데이터를 읽고 해당 값을 바이너리 인코딩 정수로 해석합니다.

{
    "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"
            }
        ],
    }
}

테이블 정의 파일의 와일드 카드 지원

Google Cloud Storage 데이터가 공통된 기본 이름을 공유하는 여러 개의 파일로 분리되어 있는 경우, 테이블 정의 파일의 URI에서 와일드 카드를 사용할 수 있습니다. 기본 이름에 별표(*)를 추가하고 버킷과 파일 이름을 따옴표로 묶습니다. 예를 들어 fed-sample000001.csvfed-sample000002.csv라는 두 개의 파일이 있다면 버킷 URI는 "gs://mybucket/fed-sample*"가 됩니다.

버킷 내의 객체(파일 이름)에 하나의 와일드 카드만 사용할 수 있습니다. 와일드 카드는 객체 이름 내에 또는 끝에 나타날 수 있습니다. 버킷 이름에는 와일드 카드를 추가할 수 없습니다.

Google Cloud Bigtable 데이터의 경우 하나의 URI만 지정할 수 있으며 이는 Google Cloud Bigtable 테이블에 대해 완전하게 지정된 유효한 HTTPS URL이어야 합니다. Google Cloud Datastore 백업의 경우 하나의 URI만 지정할 수 있으며 이는 .backup_info로 끝나야 합니다.

다음에 대한 테이블 정의 파일을 만들 때는 * 와일드 카드 문자가 허용되지 않습니다.

  • Cloud Bigtable 데이터 소스
  • Google Cloud Storage에 저장된 Cloud Datastore 내보내기
  • Google Cloud Storage에 저장된 Cloud Firestore 내보내기
  • Google 드라이브에 저장된 데이터
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.