COLUMN_FIELD_PATHS 뷰
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
뷰에는 RECORD
(또는 STRUCT
) 열 내에 중첩된 열마다 행 하나가 포함됩니다.
필수 권한
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
뷰를 쿼리하려면 다음 Identity and Access Management(IAM) 권한이 필요합니다.
bigquery.tables.get
bigquery.tables.list
다음과 같이 사전 정의된 각 IAM 역할에는 위의 권한이 포함되어 있습니다.
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
BigQuery 권한에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.
스키마
RECORD
(또는 STRUCT
) 열에 있는 중첩된 각 열마다 행이 하나씩 쿼리 결과에 포함됩니다.
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
뷰를 쿼리하면 RECORD
(또는 STRUCT
) 열 내에 중첩된 각 열당 하나의 행이 쿼리 결과에 포함됩니다.
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
뷰에는 다음과 같은 스키마가 있습니다.
열 이름 | 데이터 유형 | 값 |
---|---|---|
TABLE_CATALOG |
STRING |
데이터 세트가 포함된 프로젝트의 프로젝트 ID |
TABLE_SCHEMA |
STRING |
테이블이 포함된 데이터 세트 이름(또는 datasetId 라고 함) |
TABLE_NAME |
STRING |
테이블 또는 뷰의 이름(또는 tableId 라고 함) |
COLUMN_NAME |
STRING |
열 이름 |
FIELD_PATH |
STRING |
`RECORD` 또는 `STRUCT` 열에 있는 중첩된 열의 경로 |
DATA_TYPE |
STRING |
열의 GoogleSQL 데이터 유형 |
DESCRIPTION |
STRING |
열 설명 |
COLLATION_NAME |
STRING |
콜레이션 사양 이름(있는 경우)입니다. 그 외의 경우는 NULL 입니다.STRING , ARRAY<STRING> 또는 STRUCT 의 STRING 필드가 전달된 경우 콜레이션 사양(있는 경우)이 반환됩니다. 그 외의 경우는 NULL 이 반환됩니다.
|
ROUNDING_MODE |
STRING |
매개변수화된 NUMERIC 또는 BIGNUMERIC 값에 정밀도 및 확장을 적용할 때 사용되는 반올림 모드입니다. 그렇지 않으면 값은 NULL 입니다.
|
범위 및 구문
이 뷰에 대한 쿼리에는 데이터 세트나 리전 한정자가 포함되어야 합니다. 데이터 세트 한정자가 있는 쿼리에는 데이터 세트에 대한 권한이 있어야 합니다. 리전 한정자가 있는 쿼리에는 프로젝트에 대한 권한이 있어야 합니다. 자세한 내용은 구문을 참조하세요. 다음 표에서는 이 뷰의 리전 범위와 리소스 범위를 설명합니다.
뷰 이름 | 리소스 범위 | 리전 범위 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
프로젝트 수준 | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
데이터 세트 수준 | 데이터 세트 위치 |
(선택사항) PROJECT_ID
: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다.
REGION
: 모든 데이터 세트 리전 이름입니다. 예를 들면`region-us`
입니다.DATASET_ID
: 데이터 세트의 ID입니다. 자세한 내용은 데이터 세트 한정자를 참조하세요.
예
다음 예시는 github_repos
데이터 세트에 있는 commits
테이블의 INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
뷰에서 메타데이터를 검색합니다.
이 데이터 세트는 BigQuery 공개 데이터 세트 프로그램의 일부입니다.
쿼리하려는 테이블이 bigquery-public-data
프로젝트라는 다른 프로젝트에 있으므로 프로젝트 ID를 `project_id`.dataset.INFORMATION_SCHEMA.view
형식으로 데이터 세트에 추가합니다(예: `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
).
commits
테이블에는 다음과 같은 중첩 열과 중첩 및 반복 열이 포함됩니다.
author
: 중첩RECORD
열committer
: 중첩RECORD
열trailer
: 중첩 및 반복RECORD
열difference
: 중첩 및 반복RECORD
열
author
및 difference
열의 메타데이터를 보려면 다음 쿼리를 실행합니다.
SELECT * FROM `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS WHERE table_name = 'commits' AND (column_name = 'author' OR column_name = 'difference');
결과는 다음과 비슷합니다. 가독성을 위해 일부 열은 결과에서 제외됩니다.
+------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+ | table_name | column_name | field_path | data_type | description | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+ | commits | author | author | STRUCT<name STRING, email STRING, time_sec INT64, tz_offset INT64, date TIMESTAMP> | NULL | | commits | author | author.name | STRING | NULL | | commits | author | author.email | STRING | NULL | | commits | author | author.time_sec | INT64 | NULL | | commits | author | author.tz_offset | INT64 | NULL | | commits | author | author.date | TIMESTAMP | NULL | | commits | difference | difference | ARRAY<STRUCT<old_mode INT64, new_mode INT64, old_path STRING, new_path STRING, old_sha1 STRING, new_sha1 STRING, old_repo STRING, new_repo STRING>> | NULL | | commits | difference | difference.old_mode | INT64 | NULL | | commits | difference | difference.new_mode | INT64 | NULL | | commits | difference | difference.old_path | STRING | NULL | | commits | difference | difference.new_path | STRING | NULL | | commits | difference | difference.old_sha1 | STRING | NULL | | commits | difference | difference.new_sha1 | STRING | NULL | | commits | difference | difference.old_repo | STRING | NULL | | commits | difference | difference.new_repo | STRING | NULL | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+