도구: get_table_info
BigQuery 테이블에 관한 메타데이터 정보를 가져옵니다.
다음 샘플은 curl를 사용하여 get_table_info MCP 도구를 호출하는 방법을 보여줍니다.
| 컬 요청 |
|---|
curl --location 'https://bigquery.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_table_info", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
표 요청입니다.
| JSON 표현 |
|---|
{ "projectId": string, "datasetId": string, "tableId": string } |
| 필드 | |
|---|---|
projectId |
필수 항목입니다. 표 요청의 프로젝트 ID입니다. |
datasetId |
필수 항목입니다. 표 요청의 데이터 세트 ID입니다. |
tableId |
필수 항목입니다. 표 요청의 표 ID입니다. |
출력 스키마
| JSON 표현 |
|---|
{ "kind": string, "etag": string, "id": string, "selfLink": string, "tableReference": { object ( |
| 필드 | |
|---|---|
kind |
리소스 ID 유형입니다. |
etag |
출력 전용입니다. 이 리소스의 해시입니다. |
id |
출력 전용입니다. 표를 고유하게 식별하는 불투명 ID입니다. |
selfLink |
출력 전용입니다. 이 리소스에 다시 액세스하는 데 사용할 수 있는 URL입니다. |
tableReference |
필수 항목입니다. 이 테이블의 ID를 설명하는 참조입니다. |
friendlyName |
선택사항입니다. 이 테이블에 대한 설명 이름입니다. |
description |
선택사항입니다. 이 테이블에 대한 사용자 친화적인 설명입니다. |
labels |
이 표와 연결된 라벨입니다. 이를 사용하여 테이블을 구성하고 그룹화할 수 있습니다. 라벨 키와 값은 63자(영문 기준) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다. 라벨 값은 선택사항입니다. 라벨 키는 문자로 시작해야 하며 목록의 각 라벨에는 다른 키가 있어야 합니다.
|
schema |
선택사항입니다. 이 테이블의 스키마를 설명합니다. |
timePartitioning |
지정된 경우 이 테이블의 시간 기준 파티션 나누기를 구성합니다. |
rangePartitioning |
지정된 경우 이 테이블의 범위 파티션 나누기를 구성합니다. |
clustering |
테이블의 클러스터링 사양입니다. 시간 기반 파티셔닝과 함께 지정해야 합니다. 테이블의 데이터가 먼저 파티션으로 나뉘고 이후 클러스터링됩니다. |
requirePartitionFilter |
선택사항입니다. true로 설정하면 이 테이블에 대한 쿼리에 파티션 소거에 사용할 수 있는 파티션 필터를 지정해야 합니다. |
numBytes |
출력 전용입니다. 스트리밍 버퍼의 데이터를 제외한 이 테이블의 크기(논리 바이트)입니다. |
numPhysicalBytes |
출력 전용입니다. 이 테이블의 실제 크기(바이트)입니다. 여기에는 시간 이동에 사용되는 스토리지가 포함됩니다. |
numLongTermBytes |
출력 전용입니다. '장기 저장소'로 간주되는 테이블의 논리 바이트 수입니다. |
numRows |
출력 전용입니다. 스트리밍 버퍼의 데이터를 제외한 이 테이블의 데이터 행 수입니다. |
creationTime |
출력 전용입니다. 이 테이블이 생성된 시간입니다(에포크 이후의 경과 시간(밀리초)). |
expirationTime |
선택사항입니다. 이 테이블이 만료되는 시간입니다(에포크 이후의 밀리초 단위 경과 시간). 이 값이 없으면 테이블이 무기한 유지됩니다. 만료된 테이블은 삭제되고 스토리지가 회수됩니다. 캡슐화 데이터 세트의 defaultTableExpirationMs 속성을 사용하여 새로 생성된 테이블에 기본 expirationTime을 설정할 수 있습니다. |
lastModifiedTime |
출력 전용입니다. 이 테이블이 마지막으로 수정된 시간입니다(에포크 이후의 경과 시간(밀리초)). |
type |
출력 전용입니다. 표 유형을 설명합니다. 다음과 같은 값이 지원됩니다.
기본값은 |
view |
선택사항입니다. 뷰 정의입니다. |
materializedView |
선택사항입니다. 구체화된 뷰 정의입니다. |
materializedViewStatus |
출력 전용입니다. 구체화된 뷰 상태입니다. |
externalDataConfiguration |
선택사항입니다. BigQuery 외부에 저장된 테이블의 데이터 형식, 위치, 기타 속성을 설명합니다. 이러한 속성을 정의하면 데이터 소스를 표준 BigQuery 테이블인 것처럼 쿼리할 수 있습니다. |
biglakeConfiguration |
선택사항입니다. Apache Iceberg용 BigQuery 테이블의 구성을 지정합니다. |
managedTableType |
선택사항입니다. 설정된 경우 데이터 세트에서 구성된 기본 관리형 테이블 유형을 재정의합니다. |
location |
출력 전용입니다. 표가 있는 지리적 위치입니다. 이 값은 데이터 세트에서 상속됩니다. |
streamingBuffer |
출력 전용입니다. 이 테이블의 스트리밍 버퍼에 관한 정보가 포함됩니다(있는 경우). 테이블이 스트리밍되지 않거나 스트리밍 버퍼에 데이터가 없는 경우 이 필드는 표시되지 않습니다. |
encryptionConfiguration |
맞춤 암호화 구성 (예: Cloud KMS 키)를 사용합니다. |
snapshotDefinition |
출력 전용입니다. 스냅샷에 관한 정보가 포함되어 있습니다. 이 값은 스냅샷 생성을 통해 설정됩니다. |
defaultCollation |
선택사항입니다. 테이블에 있는 새 STRING 필드의 기본 콜레이션 사양을 정의합니다. 테이블 생성 또는 업데이트 중에 명시적 콜레이션이 지정되지 않은 STRING 필드가 이 테이블에 추가되면 테이블은 테이블 기본 콜레이션을 상속합니다. 이 필드를 변경하면 이후에 추가된 필드에만 영향을 미치며 기존 필드는 변경되지 않습니다. 다음과 같은 값이 지원됩니다.
|
defaultRoundingMode |
선택사항입니다. 표에 있는 새 10진수 필드 (NUMERIC 또는 BIGNUMERIC)의 기본 반올림 모드 사양을 정의합니다. 테이블 생성 또는 업데이트 중에 명시적으로 지정된 반올림 모드 없이 10진수 필드가 이 테이블에 추가되면 필드는 테이블 기본 반올림 모드를 상속합니다. 이 필드를 변경해도 기존 필드에는 영향을 미치지 않습니다. |
cloneDefinition |
출력 전용입니다. 클론에 관한 정보를 포함합니다. 이 값은 클론 작업을 통해 설정됩니다. |
numTimeTravelPhysicalBytes |
출력 전용입니다. 시간 이동 스토리지 (데이터 삭제 또는 변경)에 사용된 물리적 바이트 수 이 데이터는 실시간으로 표시되지 않으며 몇 초부터 몇 분까지 지연이 발생할 수 있습니다. |
numTotalLogicalBytes |
출력 전용입니다. 테이블 또는 구체화된 뷰에 있는 논리적 총 바이트 수입니다. |
numActiveLogicalBytes |
출력 전용입니다. 90일 미만이 경과된 논리적 바이트 수입니다. |
numLongTermLogicalBytes |
출력 전용입니다. 90일을 초과하여 경과된 논리적 바이트 수입니다. |
numCurrentPhysicalBytes |
출력 전용입니다. 현재 라이브 데이터 스토리지에 사용된 실제 바이트 수입니다. 이 데이터는 실시간으로 표시되지 않으며 몇 초부터 몇 분까지 지연이 발생할 수 있습니다. |
numTotalPhysicalBytes |
출력 전용입니다. 이 테이블의 실제 크기(바이트)입니다. 여기에는 시간 이동에 사용되는 스토리지도 포함됩니다. 이 데이터는 실시간으로 표시되지 않으며 몇 초부터 몇 분까지 지연이 발생할 수 있습니다. |
numActivePhysicalBytes |
출력 전용입니다. 90일 미만이 경과된 물리적 바이트 수입니다. 이 데이터는 실시간으로 표시되지 않으며 몇 초부터 몇 분까지 지연이 발생할 수 있습니다. |
numLongTermPhysicalBytes |
출력 전용입니다. 90일을 초과하여 경과된 물리적 바이트 수입니다. 이 데이터는 실시간으로 표시되지 않으며 몇 초부터 몇 분까지 지연이 발생할 수 있습니다. |
numPartitions |
출력 전용입니다. 테이블 또는 구체화된 뷰에 있는 파티션 수. 이 데이터는 실시간으로 표시되지 않으며 몇 초부터 몇 분까지 지연이 발생할 수 있습니다. |
maxStaleness |
선택사항입니다. 테이블 (또는 비활성 MV)을 쿼리할 때 반환될 수 있는 데이터의 최대 비활성입니다. 오래됨은 sql IntervalValue 유형의 문자열 인코딩으로 인코딩됩니다. |
restrictions |
선택사항입니다. 출력 전용입니다. 표의 제한 구성입니다. 설정된 경우 구성을 기반으로 테이블에 대한 특정 액세스를 제한합니다. 자세한 내용은 데이터 이그레스를 참고하세요. |
tableConstraints |
선택사항입니다. 테이블 기본 키 및 외래 키 정보 |
resourceTags |
선택사항입니다. 이 테이블에 연결된 태그입니다. 태그 키는 전역적으로 고유합니다. 태그 키는 네임스페이스 형식이어야 합니다(예: '123456789012/environment'). 여기서 123456789012는 이 태그 키의 상위 조직 또는 프로젝트 리소스의 ID입니다. 태그 값은 닉네임이어야 합니다(예: 'Production'). 자세한 내용은 태그 정의를 참고하세요.
|
tableReplicationInfo |
선택사항입니다. |
replicas[] |
선택사항입니다. 출력 전용입니다. 현재 테이블에서 활성 상태인 모든 복제본의 테이블 참조입니다. |
externalCatalogTableOptions |
선택사항입니다. 오픈소스 호환 테이블을 정의하는 옵션입니다. |
통합 필드
|
|
partitionDefinition |
선택사항입니다. 관리 파티션을 나눈 테이블, Hive 파티션을 나눈 테이블, Iceberg 파티션을 나눈 테이블, 메타 스토어 파티션을 나눈 테이블을 비롯한 모든 테이블 형식의 파티션 정보입니다. 이 필드는 메타 스토어 파티션을 나눈 테이블에만 채워집니다. 다른 표 형식의 경우 출력 전용 필드입니다. |
| JSON 표현 |
|---|
{ "projectId": string, "datasetId": string, "tableId": string, "projectIdAlternative": [ string ], "datasetIdAlternative": [ string ], "tableIdAlternative": [ string ] } |
| 필드 | |
|---|---|
projectId |
필수 항목입니다. 이 테이블이 포함된 프로젝트의 ID입니다. |
datasetId |
필수 항목입니다. 이 테이블이 포함된 데이터 세트의 ID입니다. |
tableId |
필수 항목입니다. 표의 ID입니다. ID에는 L (문자), M (표시), N (숫자), Pc (밑줄 포함 커넥터), Pd (대시), Zs (공백) 카테고리의 유니코드가 포함될 수 있습니다. 자세한 내용은 일반 카테고리를 참고하세요. 최대 길이는 1,024자(영문 기준)입니다. 특정 작업에서는 테이블 ID에 |
projectIdAlternative[] |
이 필드는 사용하면 안 됩니다. |
datasetIdAlternative[] |
이 필드는 사용하면 안 됩니다. |
tableIdAlternative[] |
이 필드는 사용하면 안 됩니다. |
| JSON 표현 |
|---|
{ "value": string } |
| 필드 | |
|---|---|
value |
문자열 값입니다. |
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
| JSON 표현 |
|---|
{ "fields": [ { object ( |
| 필드 | |
|---|---|
fields[] |
표의 필드를 설명합니다. |
foreignTypeInfo |
선택사항입니다. 필드 스키마 ( |
| JSON 표현 |
|---|
{ "name": string, "type": string, "mode": string, "fields": [ { object ( |
| 필드 | |
|---|---|
name |
필수 항목입니다. 필드 이름입니다. 이름에는 문자 (a~z, A~Z), 숫자 (0~9), 밑줄 (_)만 포함해야 하며 문자 또는 밑줄로 시작해야 합니다. 최대 길이는 300자(영문 기준)입니다. |
type |
필수 항목입니다. 필드 데이터 유형입니다. 가능한 값은 다음과 같습니다.
RECORD/STRUCT 사용은 필드에 중첩된 스키마가 포함되어 있음을 나타냅니다. |
mode |
선택사항입니다. 필드 모드입니다. 가능한 값은 NULLABLE, REQUIRED, REPEATED입니다. 기본값은 NULLABLE입니다. |
fields[] |
선택사항입니다. type 속성이 RECORD로 설정된 경우 중첩된 스키마 필드를 설명합니다. |
description |
선택사항입니다. 필드 설명입니다. 최대 길이는 1,024자(영문 기준)입니다. |
policyTags |
선택사항입니다. 필드 수준 액세스 제어에 사용되며 이 필드에 연결된 정책 태그입니다. 설정하지 않으면 기본값은 빈 policy_tags입니다. |
dataPolicies[] |
선택사항입니다. 필드 수준 액세스 제어에 사용되며 이 필드에 연결된 데이터 정책입니다. |
nameAlternative[] |
이 필드는 사용하면 안 됩니다. |
maxLength |
선택사항입니다. 문자열 또는 바이트의 이 필드 값의 최대 길이입니다. max_length가 지정되지 않으면 이 필드에 최대 길이 제약 조건이 적용되지 않습니다. type = 'STRING'인 경우 max_length는 이 필드의 문자열의 최대 UTF-8 길이를 나타냅니다. type = 'BYTES'인 경우 max_length는 이 필드의 최대 바이트 수를 나타냅니다. 유형이 'STRING' 및 'BYTES'가 아닌 경우 이 필드를 설정하면 유효하지 않습니다. |
precision |
선택사항입니다. NUMERIC 또는 BIGNUMERIC의 이 필드 값에 대한 정밀도 (10진수의 총 자릿수 최대 개수) 및 스케일 (10진수의 소수 부분 자릿수 최대 개수) 제약 조건입니다. 유형이 'NUMERIC'도 'BIGNUMERIC'도 아닌 경우 정밀도 또는 비율을 설정하는 것은 유효하지 않습니다. 정밀도와 스케일이 지정되지 않은 경우 유형에서 허용되는 값 범위 내에서 이 필드에 값 범위 제약 조건이 적용되지 않습니다. 다음의 경우 이 NUMERIC 또는 BIGNUMERIC 필드의 값은 이 범위에 있어야 합니다.
정밀도와 배율이 모두 지정된 경우 허용되는 값은 다음과 같습니다.
정밀도만 지정되고 배율이 지정되지 않은 경우 (따라서 배율이 0으로 해석됨) 정밀도에 허용되는 값:
규모는 지정되었지만 정밀도가 지정되지 않은 경우 유효하지 않습니다. |
scale |
선택사항입니다. 정확도는 문서를 참고하세요. |
timestampPrecision |
선택사항입니다. TIMESTAMP 유형의 초에 대한 정밀도 (10진수의 총 자릿수 최대값)입니다. 가능한 값은 다음과 같습니다. * 6 (기본값, 마이크로초 정밀도의 TIMESTAMP 유형) * 12 (피코초 정밀도의 TIMESTAMP 유형) |
roundingMode |
선택사항입니다. NUMERIC 및 BIGNUMERIC 유형의 값을 저장할 때 사용할 반올림 모드를 지정합니다. |
collation |
선택사항입니다. 필드 콜레이션은 필드 유형이 문자열인 경우에만 설정할 수 있습니다. 다음과 같은 값이 지원됩니다.
|
defaultValueExpression |
선택사항입니다. 이 필드의 기본값을 지정하는 SQL 표현식입니다. |
rangeElementType |
선택사항입니다. 이 필드의 유형이 RANGE인 경우 RANGE의 하위 유형입니다. 유형이 RANGE인 경우 이 필드는 필수입니다. 필드 요소 유형의 값은 다음 중 하나일 수 있습니다.
|
foreignTypeDefinition |
선택사항입니다. 외부 데이터 유형의 정의입니다. 최상위 스키마 필드 (중첩 필드 아님)에만 유효합니다. 유형이 FOREIGN인 경우 이 필드는 필수입니다. |
| JSON 표현 |
|---|
{ "names": [ string ] } |
| 필드 | |
|---|---|
names[] |
정책 태그 리소스 이름 목록입니다. 예를 들어 'projects/1/locations/eu/taxonomies/2/policyTags/3'입니다. 현재 최대 1개의 정책 태그가 허용됩니다. |
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드
|
|
name |
데이터 정책 리소스 이름입니다(형식: projects/project_id/locations/location_id/dataPolicies/data_policy_id). |
| JSON 표현 |
|---|
{ "value": string } |
| 필드 | |
|---|---|
value |
int64 값입니다. |
| JSON 표현 |
|---|
{ "type": string } |
| 필드 | |
|---|---|
type |
필수 항목입니다. 필드 요소의 유형입니다. 자세한 내용은 |
| JSON 표현 |
|---|
{
"typeSystem": enum ( |
| 필드 | |
|---|---|
typeSystem |
필수 항목입니다. 외부 데이터 유형을 정의하는 시스템을 지정합니다. |
| JSON 표현 |
|---|
{ "type": string, "expirationMs": string, "field": string, "requirePartitionFilter": boolean } |
| 필드 | |
|---|---|
type |
필수 항목입니다. 지원되는 유형은 DAY, HOUR, MONTH, YEAR이며, 각각 일, 시간, 월, 연도당 하나의 파티션이 생성됩니다. |
expirationMs |
선택사항입니다. 파티션의 스토리지를 유지할 시간(밀리초)입니다. 여기서는 0이 잘못된 값이므로 래퍼가 사용됩니다. |
field |
선택사항입니다. 설정되지 않은 경우 테이블은 유사 열 '_PARTITIONTIME'으로 파티션이 나뉩니다. 설정된 경우 테이블은 이 필드로 파티션이 나뉩니다. 필드는 최상위 TIMESTAMP 또는 DATE 필드여야 합니다. 모드는 NULLABLE 또는 REQUIRED여야 합니다. 빈 문자열은 잘못된 값이므로 여기서는 래퍼가 사용됩니다. |
requirePartitionFilter |
true로 설정하면 이 테이블에 대한 쿼리에 파티션 소거에 사용할 수 있는 파티션 필터를 지정해야 합니다. 이 필드는 지원 중단되었습니다. 대신 테이블 자체에 동일한 이름의 필드를 설정하세요. 이 필드에는 래퍼가 필요합니다. 사용자가 명시적으로 설정한 경우 기본값인 false를 출력해야 하기 때문입니다. |
| JSON 표현 |
|---|
{ "value": boolean } |
| 필드 | |
|---|---|
value |
불리언 값입니다. |
| JSON 표현 |
|---|
{
"field": string,
"range": {
object ( |
| 필드 | |
|---|---|
field |
필수 항목입니다. 테이블을 파티셔닝할 열의 이름입니다. 모드가 NULLABLE 또는 REQUIRED인 최상위 INT64 열이어야 합니다. |
range |
범위 파티션 나누기의 범위를 정의합니다. |
| JSON 표현 |
|---|
{ "start": string, "end": string, "interval": string } |
| 필드 | |
|---|---|
start |
필수 항목입니다. 파티션 나누기 범위의 시작(해당 값 포함) 이 필드는 문자열로 표현된 INT64 값입니다. |
end |
필수 항목입니다. 파티션 나누기 범위의 끝(해당 값 제외)입니다. 이 필드는 문자열로 표현된 INT64 값입니다. |
interval |
필수 항목입니다. 각 간격의 너비입니다. 이 필드는 문자열로 표현된 INT64 값입니다. |
| JSON 표현 |
|---|
{ "fields": [ string ] } |
| 필드 | |
|---|---|
fields[] |
데이터를 클러스터링해야 하는 하나 이상의 필드입니다. 최상위 수준의 반복되지 않는 간단한 유형 필드만 지원됩니다. 클러스터링 필드의 순서는 필터링 목적으로 가장 중요한 것부터 가장 중요하지 않은 것까지 우선순위를 지정해야 합니다. 자세한 내용은 클러스터링된 테이블 소개를 참고하세요. |
| JSON 표현 |
|---|
{
"partitionedColumn": [
{
object ( |
| 필드 | |
|---|---|
partitionedColumn[] |
선택사항입니다. 각 파티셔닝 열에 관한 세부정보입니다. 이 필드는 메타스토어 파티션을 나눈 테이블을 제외한 모든 파티셔닝 유형에 대해서만 출력됩니다. BigQuery 기본 테이블은 파티셔닝 열을 1개만 지원합니다. 다른 테이블 유형은 파티션 나누기 열을 0개, 1개 또는 그 이상 지원할 수 있습니다. 메타스토어 파티션을 나눈 테이블의 경우 순서가 Hive Metastore의 정의 순서와 일치해야 하며, 테이블의 실제 레이아웃과 일치해야 합니다. 예를 들면 다음과 같습니다. CREATE TABLE a_table(id BIGINT, name STRING) PARTITIONED BY (city STRING, state STRING). 이 경우 값은 ['city', 'state'] 순서여야 합니다. |
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드
|
|
field |
필수 항목입니다. 파티션 열의 이름입니다. |
| JSON 표현 |
|---|
{ "value": string } |
| 필드 | |
|---|---|
value |
uint64 값입니다. |
| JSON 표현 |
|---|
{ "query": string, "userDefinedFunctionResources": [ { object ( |
| 필드 | |
|---|---|
query |
필수 항목입니다. 뷰가 참조될 때 BigQuery가 실행하는 쿼리입니다. |
userDefinedFunctionResources[] |
쿼리에 사용된 사용자 정의 함수 리소스를 설명합니다. |
useLegacySql |
이 뷰에 BigQuery의 레거시 SQL을 사용할지 여부를 지정합니다. 기본값은 true입니다. false로 설정하면 뷰에서 BigQuery의 GoogleSQL(https://cloud.google.com/bigquery/sql-reference/)을 사용합니다. 이 뷰를 참조하는 쿼리와 뷰는 동일한 플래그 값을 사용해야 합니다. 여기서는 기본값이 True이므로 래퍼가 사용됩니다. |
useExplicitColumnNames |
열 이름이 명시적으로 지정된 경우 True입니다. 예를 들어 'CREATE VIEW v(c1, c2) AS ...' 구문을 사용합니다. GoogleSQL 뷰에만 설정할 수 있습니다. |
privacyPolicy |
선택사항입니다. 뷰의 개인정보처리방침을 지정합니다. |
foreignDefinitions[] |
선택사항입니다. 외국어 뷰 표현입니다. |
| JSON 표현 |
|---|
{ "resourceUri": string, "inlineCode": string, "inlineCodeAlternative": [ string ] } |
| 필드 | |
|---|---|
resourceUri |
[하나 선택] Google Cloud Storage URI (gs://bucket/path)에서 로드할 코드 리소스입니다. |
inlineCode |
[하나 선택] 사용자 정의 함수 (UDF) 코드가 포함된 인라인 리소스입니다. 인라인 코드 리소스를 제공하는 것은 동일한 코드가 포함된 파일의 URI를 제공하는 것과 같습니다. |
inlineCodeAlternative[] |
|
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 privacy_policy. 이 요구사항 사양과 연결된 개인정보처리방침입니다. 데이터 소스 객체당 하나의 개인 정보 보호 방법만 허용됩니다. privacy_policy은 다음 중 하나여야 합니다. |
|
aggregationThresholdPolicy |
선택사항입니다. 집계 기준에 사용되는 정책입니다. |
differentialPrivacyPolicy |
선택사항입니다. 개인 정보 차등 보호에 사용되는 정책입니다. |
통합 필드
|
|
joinRestrictionPolicy |
선택사항입니다. 이 정책은 다른 정책과 함께 설정할 수 있으므로 조인 제한 정책은 정책 중 하나에 속하지 않습니다. 이 정책을 사용하면 데이터 제공업체가 개인 정보 보호 뷰에서 데이터를 쿼리할 때 'join_allowed_columns'에 조인을 적용할 수 있습니다. |
| JSON 표현 |
|---|
{ "privacyUnitColumns": [ string ], // Union field |
| 필드 | |
|---|---|
privacyUnitColumns[] |
선택사항입니다. 이 정책과 연결된 개인 정보 보호 단위 열입니다. 현재는 데이터 소스 객체 (표, 뷰)당 하나의 열만 개인 정보 보호 단위 열로 허용됩니다. 향후 여러 열로 확장할 수 있도록 메타데이터에서 반복 필드로 표현합니다. 중복 및 반복 구조체 필드는 허용되지 않습니다. 중첩된 필드의 경우 점 표기법 ('outer.inner')을 사용합니다. |
통합 필드
|
|
threshold |
선택사항입니다. '집계 기준점' 정책의 기준점입니다. |
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드
|
|
maxEpsilonPerQuery |
선택사항입니다. 쿼리에서 사용할 수 있는 최대 엡실론 값입니다. 구독자가 SELECT 쿼리에서 엡실론을 매개변수로 지정하는 경우 이 값보다 작거나 같아야 합니다. 엡실론 매개변수는 그룹에 추가되는 노이즈의 양을 제어합니다. 엡실론이 높을수록 노이즈가 줄어듭니다. |
통합 필드
|
|
deltaPerQuery |
선택사항입니다. 쿼리당 사용되는 델타 값입니다. 델타는 행이 엡실론 차등 비공개가 되지 못할 가능성을 나타냅니다. 쿼리 결과에 집계 행을 노출하는 것과 관련된 위험을 나타냅니다. |
통합 필드
|
|
maxGroupsContributed |
선택사항입니다. 쿼리당 사용되는 최대 그룹 기여도 값입니다. 각 보호 대상 항목이 기여할 수 있는 최대 그룹 수를 나타냅니다. 이 값을 변경해도 개인 정보 보호가 개선되거나 악화되지는 않습니다. 정확성과 유용성의 최적 값은 쿼리와 데이터에 따라 달라집니다. |
통합 필드
|
|
privacyUnitColumn |
선택사항입니다. 이 정책과 연결된 개인 정보 보호 단위 열입니다. 차등적 비공개 정책은 데이터 소스 객체 (표, 뷰)당 개인 정보 보호 단위 열을 하나만 가질 수 있습니다. |
통합 필드
|
|
epsilonBudget |
선택사항입니다. 개인 정보 보호 뷰에 대한 모든 쿼리의 총 엡실론 예산입니다. 이 뷰에 대한 각 구독자 쿼리는 쿼리에서 요청한 입실론 금액을 청구합니다. 예산이 충분하면 구독자 쿼리가 완료됩니다. 다른 이유로 인해 실패할 수도 있으며, 이 경우 요금이 환불됩니다. 예산이 부족하면 쿼리가 거부됩니다. 단일 쿼리에서 여러 뷰를 참조하는 경우 여러 번의 청구 시도가 있을 수 있습니다. 이 경우 모든 청구에 충분한 예산이 있어야 합니다. 그렇지 않으면 쿼리가 거부되고 청구 금액이 최선을 다해 환불됩니다. 예산에 새로고침 정책이 없으며 ALTER VIEW를 통해서만 업데이트할 수 있습니다. 또는 최신 예산으로 쿼리할 수 있는 새 뷰를 만들어 우회할 수 있습니다. |
통합 필드
|
|
deltaBudget |
선택사항입니다. 개인 정보 보호 뷰에 대한 모든 쿼리의 총 델타 예산입니다. 이 뷰에 대한 각 구독자 쿼리는 개인정보처리방침 delta_per_query 필드를 통해 기여자가 사전 정의한 델타 금액을 청구합니다. 예산이 충분하면 구독자 쿼리가 완료됩니다. 다른 이유로 인해 실패할 수도 있으며, 이 경우 요금이 환불됩니다. 예산이 부족하면 쿼리가 거부됩니다. 단일 쿼리에서 여러 뷰를 참조하는 경우 여러 번의 청구 시도가 있을 수 있습니다. 이 경우 모든 청구에 충분한 예산이 있어야 합니다. 그렇지 않으면 쿼리가 거부되고 청구 금액이 최선을 다해 환불됩니다. 예산에 새로고침 정책이 없으며 ALTER VIEW를 통해서만 업데이트할 수 있습니다. 또는 최신 예산으로 쿼리할 수 있는 새 뷰를 만들어 우회할 수 있습니다. |
통합 필드
|
|
epsilonBudgetRemaining |
출력 전용입니다. 남은 입실론 예산입니다. 예산이 소진되면 더 이상 쿼리가 허용되지 않습니다. 진행 중인 쿼리의 예산은 쿼리가 실행되기 전에 차감됩니다. 쿼리가 실패하거나 취소되면 예산이 환불됩니다. 이 경우 남아 있는 예산 금액이 증가할 수 있습니다. |
통합 필드
|
|
deltaBudgetRemaining |
출력 전용입니다. 남은 델타 예산입니다. 예산이 소진되면 더 이상 쿼리가 허용되지 않습니다. 진행 중인 쿼리의 예산은 쿼리가 실행되기 전에 차감됩니다. 쿼리가 실패하거나 취소되면 예산이 환불됩니다. 이 경우 남아 있는 예산 금액이 증가할 수 있습니다. |
| JSON 표현 |
|---|
{ "joinAllowedColumns": [ string ], // Union field |
| 필드 | |
|---|---|
joinAllowedColumns[] |
선택사항입니다. 조인이 허용되는 열만 이 필드는 join_conditions JOIN_ANY 및 JOIN_ALL에 지정해야 하며 JOIN_BLOCKED에는 설정할 수 없습니다. |
통합 필드
|
|
joinCondition |
선택사항입니다. 뷰에 대한 쿼리에 조인이 필요한지 여부를 지정합니다. 기본값은 JOIN_CONDITION_UNSPECIFIED입니다. |
| JSON 표현 |
|---|
{ "query": string, "dialect": string } |
| 필드 | |
|---|---|
query |
필수 항목입니다. 뷰를 정의하는 쿼리입니다. |
dialect |
선택사항입니다. 쿼리의 언어를 나타냅니다. |
| JSON 표현 |
|---|
{ "query": string, "lastRefreshTime": string, "enableRefresh": boolean, "refreshIntervalMs": string, "allowNonIncrementalDefinition": boolean } |
| 필드 | |
|---|---|
query |
필수 항목입니다. 결과가 유지되는 쿼리입니다. |
lastRefreshTime |
출력 전용입니다. 이 구체화된 뷰가 마지막으로 새로고침된 시간입니다(에포크 이후의 경과 시간(밀리초)). |
enableRefresh |
선택사항입니다. 기본 테이블이 업데이트될 때 구체화된 뷰의 자동 새로고침을 사용 설정합니다. 기본값은 'true'입니다. |
refreshIntervalMs |
선택사항입니다. 이 구체화된 뷰가 새로고침되는 최대 빈도입니다. 기본값은 '1800000' (30분)입니다. |
allowNonIncrementalDefinition |
선택사항입니다. 이 옵션은 점진적으로 새로고침되지 않는 구체화된 뷰를 구성하려는 의도를 선언합니다. 비증분 구체화된 뷰는 광범위한 SQL 쿼리를 지원합니다. 구체화된 뷰를 만든 후에는 |
| JSON 표현 |
|---|
{
"refreshWatermark": string,
"lastRefreshStatus": {
object ( |
| 필드 | |
|---|---|
refreshWatermark |
출력 전용입니다. 구체화된 뷰의 새로고침 워터마크입니다. 이때까지 기본 테이블의 데이터가 구체화된 뷰 캐시로 수집되었습니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
lastRefreshStatus |
출력 전용입니다. 마지막 자동 새로고침의 오류 결과입니다. 있는 경우 마지막 자동 새로고침에 실패했음을 나타냅니다. |
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
| JSON 표현 |
|---|
{ "reason": string, "location": string, "debugInfo": string, "message": string } |
| 필드 | |
|---|---|
reason |
오류를 요약하는 짧은 오류 코드입니다. |
location |
오류가 발생한 위치를 지정합니다(있는 경우). |
debugInfo |
디버깅 정보입니다. 이 속성은 Google 내부용이므로 사용하면 안 됩니다. |
message |
사람이 읽을 수 있는 오류 설명입니다. |
| JSON 표현 |
|---|
{ "sourceUris": [ string ], "fileSetSpecType": enum ( |
| 필드 | |
|---|---|
sourceUris[] |
[필수] Google Cloud의 데이터를 가리키는 정규화된 URI입니다. Google Cloud Storage URI의 경우 각 URI에 와일드 카드 문자 '*' 하나가 포함될 수 있으며 이 문자는 '버킷' 이름 다음에 와야 합니다. 로드 작업과 관련된 크기 제한이 외부 데이터 소스에 적용됩니다. Google Cloud Bigtable URI의 경우 정확히 하나의 URI를 지정할 수 있으며 이는 Google Cloud Bigtable 테이블에 대해 완전하게 지정된 유효한 HTTPS URL이어야 합니다. Google Cloud Datastore 백업의 경우 정확히 하나의 URI를 지정할 수 있습니다. 또한 '*' 와일드 카드 문자는 허용되지 않습니다. |
fileSetSpecType |
선택사항입니다. 로드할 파일 세트를 구성하기 위해 소스 URI를 해석하는 방법을 지정합니다. 기본적으로 소스 URI는 기본 스토리지를 기준으로 확장됩니다. 매니페스트 파일을 지정하는 옵션도 있습니다. 객체 스토리지 시스템에만 적용됩니다. |
schema |
선택사항입니다. 데이터의 스키마입니다. 자동 감지가 사용 설정되지 않은 경우 CSV 및 JSON 형식에 스키마가 필요합니다. Google Cloud Bigtable, Cloud Datastore 백업, Avro, ORC, Parquet 형식에는 스키마가 허용되지 않습니다. |
sourceFormat |
[필수] 데이터 형식입니다. CSV 파일의 경우 'CSV'를 지정합니다. Google Sheets의 경우 'GOOGLE_SHEETS'를 지정합니다. 줄바꿈으로 구분된 JSON의 경우 'NEWLINE_DELIMITED_JSON'을 지정합니다. Avro 파일의 경우 'AVRO'를 지정합니다. Google Cloud Datastore 백업의 경우 'DATASTORE_BACKUP'을 지정합니다. Apache Iceberg 테이블의 경우 'ICEBERG'를 지정합니다. ORC 파일의 경우 'ORC'를 지정합니다. Parquet 파일의 경우 'PARQUET'를 지정합니다. [베타] Google Cloud Bigtable의 경우 'BIGTABLE'을 지정합니다. |
maxBadRecords |
선택사항입니다. 데이터를 읽을 때 BigQuery가 무시할 수 있는 불량 레코드의 최대 개수입니다. 불량 레코드 수가 이 값을 초과하면 작업 결과에 잘못된 오류가 반환됩니다. 기본값은 0이며 모든 레코드가 유효해야 합니다. 이 설정은 Google Cloud Bigtable, Google Cloud Datastore 백업, Avro, ORC, Parquet 형식에서는 무시됩니다. |
autodetect |
스키마와 형식 옵션을 자동으로 감지하려고 시도합니다. 명시적으로 지정된 옵션은 적용됩니다. |
ignoreUnknownValues |
선택사항입니다. BigQuery가 테이블 스키마에 표시되지 않는 추가 값을 허용해야 하는지를 나타냅니다. true라면 추가 값은 무시됩니다. false라면 추가 열이 있는 레코드는 불량 레코드로 처리되며 불량 레코드가 너무 많다면 작업 결과에 잘못된 오류가 반환됩니다. 기본값은 false입니다. sourceFormat 속성은 BigQuery가 추가 값: CSV: 후행 열 JSON: 어떤 열 이름과도 일치하지 않는 이름이 지정된 값으로 처리하는 대상을 결정합니다. Google Cloud Bigtable: 이 설정은 무시됩니다. Google Cloud Datastore 백업: 이 설정은 무시됩니다. Avro: 이 설정은 무시됩니다. ORC: 이 설정은 무시됩니다. Parquet: 이 설정은 무시됩니다. |
compression |
선택사항입니다. 데이터 소스의 압축 유형입니다. 가능한 값은 GZIP 및 NONE입니다. 기본값은 NONE입니다. 이 설정은 Google Cloud Bigtable, Google Cloud Datastore 백업, Avro, ORC, Parquet 형식에서는 무시됩니다. 빈 문자열은 잘못된 값입니다. |
csvOptions |
선택사항입니다. sourceFormat이 CSV로 설정된 경우 설정할 추가 속성입니다. |
jsonOptions |
선택사항입니다. sourceFormat이 JSON으로 설정된 경우 설정할 추가 속성입니다. |
bigtableOptions |
선택사항입니다. sourceFormat이 BIGTABLE로 설정된 경우의 추가 옵션입니다. |
googleSheetsOptions |
선택사항입니다. sourceFormat이 GOOGLE_SHEETS로 설정된 경우의 추가 옵션입니다. |
maxBadRecordsAlternative[] |
이 필드는 사용하면 안 됩니다. |
hivePartitioningOptions |
선택사항입니다. 설정된 경우 Hive 파티션 나누기 지원을 구성합니다. 일부 스토리지 형식은 하이브 파티션 나누기를 지원하지 않습니다. 지원되지 않는 형식으로 하이브 파티션 나누기를 요청하면 잘못된 사양을 제공하는 것과 마찬가지로 오류가 발생합니다. |
connectionId |
선택사항입니다. Azure Blob, Cloud Storage, S3와 같은 외부 스토리지를 읽는 데 사용할 사용자 인증 정보를 지정하는 연결입니다. connection_id는 |
decimalTargetTypes[] |
소스 십진수 값이 변환되는 가능한 SQL 데이터 유형의 목록을 정의합니다. 이 목록과 십진수 필드의 정밀도 및 확장 매개변수에 따라 대상 유형이 결정됩니다. NUMERIC, BIGNUMERIC, STRING 순서로 지정된 목록에 있고 정밀도와 소수 자릿수를 지원하는 유형이 선택됩니다. STRING은 모든 정밀도 및 규모 값을 지원합니다. 나열된 유형이 정밀도 및 소수 자릿수를 지원하지 않는 경우 지정된 목록에서 가장 넓은 범위를 지원하는 유형이 선택되며, 데이터를 읽을 때 값이 지원되는 범위를 초과하면 오류가 발생합니다. 예: 이 필드의 값이 ['NUMERIC', 'BIGNUMERIC']이라고 가정합니다. (정밀도,스케일)이 다음과 같은 경우:
이 필드에는 중복된 유형이 포함될 수 없습니다. 이 필드의 유형 순서는 무시됩니다. 예를 들어 ['BIGNUMERIC', 'NUMERIC'] 은 ['NUMERIC', 'BIGNUMERIC'] 과 동일하며 NUMERIC이 항상 BIGNUMERIC보다 우선합니다. ORC의 경우 기본값은 ['NUMERIC', 'STRING'] 이고 다른 파일 형식의 경우 기본값은 ['NUMERIC'] 입니다. |
avroOptions |
선택사항입니다. sourceFormat이 AVRO로 설정된 경우 설정할 추가 속성입니다. |
jsonExtension |
선택사항입니다. JSON 변형이 로드되고 있음을 나타내기 위해 source_format 줄바꿈으로 구분된 JSON과 함께 사용할 로드 옵션입니다. 줄바꿈으로 구분된 GeoJSON을 로드하려면 GEOJSON을 지정해야 합니다 (source_format은 NEWLINE_DELIMITED_JSON으로 설정해야 함). |
parquetOptions |
선택사항입니다. sourceFormat이 PARQUET로 설정된 경우 설정할 추가 속성입니다. |
referenceFileSchemaUri |
선택사항입니다. 외부 테이블을 만들 때 사용자는 테이블 스키마가 포함된 참조 파일을 제공할 수 있습니다. 이 기능은 AVRO, PARQUET, ORC 형식으로 사용 설정됩니다. |
metadataCacheMode |
선택사항입니다. 테이블의 메타데이터 캐시 모드입니다. 외부 데이터 소스의 메타데이터 캐싱을 사용 설정하려면 이 값을 설정하세요. |
timestampTargetPrecision[] |
자동 감지 모드의 대상 테이블에 허용되는 TIMESTAMP 유형의 초에 대한 정밀도 (10진수의 총 자릿수 최대값)입니다. CSV 형식에서 사용할 수 있습니다. CSV 형식의 경우 가능한 값은 Not Specified, [], [6], [6, 12]입니다. [6]: 자동으로 감지된 모든 TIMESTAMP 열의 timestamp(6) [6, 12]: 하위 초가 6자리 미만인 자동으로 감지된 모든 TIMESTAMP 열의 timestamp(6) 초 이하 자릿수가 6자리를 초과하는 자동 감지된 모든 TIMESTAMP 열의 경우 timestamp(12) [12]: 자동으로 감지된 모든 TIMESTAMP 열의 타임스탬프(12)입니다. 이 배열의 요소 순서는 무시됩니다. 이 배열에서 가장 높은 타겟 정밀도보다 정밀도가 높은 입력은 잘립니다. |
통합 필드
|
|
objectMetadata |
선택사항입니다. ObjectMetadata는 객체 테이블을 만드는 데 사용됩니다. 객체 테이블에는 source_uris에 있는 객체 (메타데이터 포함) 목록이 포함됩니다. ObjectMetadata가 설정된 경우 source_format은 생략해야 합니다. 현재 지원되는 객체 메타데이터 유형은 SIMPLE뿐입니다. |
통합 필드
|
|
timeZone |
선택사항입니다. 특정 시간대 정보가 없는 타임스탬프 값 (예: 2024-04-20 12:34:56)을 파싱할 때 사용되는 시간대입니다. 예상되는 형식은 IANA 시간대 문자열입니다 (예: America/Los_Angeles). |
통합 필드
|
|
dateFormat |
선택사항입니다. DATE 값을 파싱하는 데 사용되는 형식입니다. C 스타일 및 SQL 스타일 값을 지원합니다. |
통합 필드
|
|
datetimeFormat |
선택사항입니다. DATETIME 값을 파싱하는 데 사용되는 형식입니다. C 스타일 및 SQL 스타일 값을 지원합니다. |
통합 필드
|
|
timeFormat |
선택사항입니다. 시간 값을 파싱하는 데 사용되는 형식입니다. C 스타일 및 SQL 스타일 값을 지원합니다. |
통합 필드
|
|
timestampFormat |
선택사항입니다. TIMESTAMP 값을 파싱하는 데 사용되는 형식입니다. C 스타일 및 SQL 스타일 값을 지원합니다. |
| JSON 표현 |
|---|
{ "value": integer } |
| 필드 | |
|---|---|
value |
int32 값입니다. |
| JSON 표현 |
|---|
{ "fieldDelimiter": string, "skipLeadingRows": string, "quote": string, "allowQuotedNewlines": boolean, "allowJaggedRows": boolean, "encoding": string, "preserveAsciiControlCharacters": boolean, "nullMarker": string, "nullMarkers": [ string ], "sourceColumnMatch": string } |
| 필드 | |
|---|---|
fieldDelimiter |
선택사항입니다. CSV 파일의 필드 구분 기호 문자입니다. 구분자는 단일 바이트로 해석됩니다. ISO-8859-1로 인코딩된 파일의 경우 모든 단일 문자를 구분 기호로 사용할 수 있습니다. UTF-8로 인코딩된 파일의 경우 10진수 범위 1~127 (U+0001~U+007F)으로 표현된 문자를 수정 없이 사용할 수 있습니다. 여러 바이트로 인코딩된 UTF-8 문자 (예: U+0080 이상)는 필드를 구분하는 데 첫 번째 바이트만 사용됩니다. 나머지 바이트는 필드의 일부로 처리됩니다. BigQuery는 이스케이프 문자 시퀀스 '\t' (U+0009)로 탭 구분 기호를 지정할 수 있습니다. 기본값은 쉼표 (',', U+002C)입니다. |
skipLeadingRows |
선택사항입니다. BigQuery에서 데이터를 읽을 때 건너뛸 CSV 파일 상단의 행 수입니다. 기본값은 0입니다. 이 속성은 건너뛰어야 하는 헤더 행이 파일에 있는 경우에 유용합니다. 자동 감지가 사용 설정된 경우 동작은 다음과 같습니다.
|
quote |
선택사항입니다. CSV 파일에서 데이터 섹션을 인용하는 데 사용하는 값입니다. BigQuery는 문자열을 ISO-8859-1 인코딩으로 변환하고 인코딩된 문자열의 첫 번째 바이트를 사용해 데이터를 원시 바이너리 상태로 분할합니다. 기본값은 큰따옴표 (")입니다. 데이터에 인용된 섹션이 없다면 속성 값을 빈 문자열로 설정합니다. 데이터에 따옴표 붙은 줄바꿈 문자가 있다면 allowQuotedNewlines 속성을 true로 설정해야 합니다. 따옴표로 묶인 값에 특정 따옴표 문자를 포함하려면 일치하는 추가 따옴표 문자를 앞에 추가하십시오. 예를 들어 기본 문자 ' " '를 이스케이프 처리하려면 ' "" '를 사용합니다. |
allowQuotedNewlines |
선택사항입니다. BigQuery가 CSV 파일에서 따옴표 안에 줄바꿈 문자가 포함된 데이터 섹션을 허용해야 하는지 여부를 나타냅니다. 기본값은 false입니다. |
allowJaggedRows |
선택사항입니다. BigQuery가 뒤에 오는 선택적인 열이 누락된 행을 허용해야 하는지를 나타냅니다. true인 경우 BigQuery는 누락된 후행 열을 null 값으로 처리합니다. false라면 뒤에 오는 열이 누락된 레코드가 불량 레코드로 취급되고, 불량 레코드가 너무 많다면 작업 결과에 잘못된 오류가 반환됩니다. 기본값은 false입니다. |
encoding |
선택사항입니다. 데이터의 문자 인코딩입니다. 지원되는 값은 UTF-8, ISO-8859-1, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE입니다. 기본값은 UTF-8입니다. BigQuery는 원시 바이너리 데이터가 quote 및 fieldDelimiter 속성 값으로 분할되면 데이터를 디코딩합니다. |
preserveAsciiControlCharacters |
선택사항입니다. 삽입된 ASCII 제어 문자 (ASCII 테이블의 처음 32자, '\x00'~ '\x1F')가 유지되는지 나타냅니다. |
nullMarker |
선택사항입니다. CSV 파일의 null 값을 나타내는 문자열을 지정합니다. 예를 들어 '\N'을 지정하면 BigQuery는 CSV 파일을 쿼리할 때 '\N'을 null 값으로 지정합니다. 기본값은 빈 문자열입니다. 이 속성을 맞춤 값으로 설정했을 때 STRING과 BYTE를 제외한 모든 데이터 유형에 빈 문자열이 존재하면 BigQuery에서 오류가 발생합니다. BigQuery는 STRING과 BYTE 열의 빈 문자열을 빈 값으로 해석합니다. |
nullMarkers[] |
선택사항입니다. CSV 파일에서 SQL NULL 값으로 표시되는 문자열 목록입니다. null_marker와 null_markers는 동시에 설정할 수 없습니다. null_marker가 설정된 경우 null_markers는 설정되지 않아야 합니다. null_markers가 설정된 경우 null_marker는 설정되지 않아야 합니다. null_marker와 null_markers가 동시에 설정되면 사용자 오류가 발생합니다. 빈 문자열을 포함하여 null_markers에 나열된 모든 문자열은 SQL NULL로 해석됩니다. 이 설정은 모든 열 유형에 적용됩니다. |
sourceColumnMatch |
선택사항입니다. 로드된 열을 스키마에 일치시키는 데 사용되는 전략을 제어합니다. 설정되지 않은 경우 스키마가 제공되는 방식에 따라 적절한 기본값이 선택됩니다. 자동 감지를 사용하는 경우 열은 이름으로 일치됩니다. 그렇지 않으면 열이 위치별로 일치합니다. 이는 동작의 하위 호환성을 유지하기 위해 수행됩니다. 허용되는 값은 다음과 같습니다. POSITION - 위치별로 일치합니다. 이 옵션은 열이 스키마와 동일한 방식으로 정렬되어 있다고 가정합니다. NAME - 이름으로 일치합니다. 헤더 행을 열 이름으로 읽고 스키마의 필드 이름과 일치하도록 열을 재정렬합니다. |
| JSON 표현 |
|---|
{ "encoding": string } |
| 필드 | |
|---|---|
encoding |
선택사항입니다. 데이터의 문자 인코딩입니다. 지원되는 값은 UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE입니다. 기본값은 UTF-8입니다. |
| JSON 표현 |
|---|
{
"columnFamilies": [
{
object ( |
| 필드 | |
|---|---|
columnFamilies[] |
선택사항입니다. 테이블 스키마에 노출할 column family 목록과 해당 유형입니다. 이 목록은 쿼리에서 참조할 수 있는 column family를 제한하고 해당 값 유형을 지정합니다. 이 목록을 사용하여 유형 변환을 할 수 있습니다. 자세한 내용은 'type' 필드를 참고하세요. 이 목록을 비워 두면 모든 column family가 테이블 스키마에 표시되고 해당 값은 BYTES로 읽힙니다. 쿼리 중에 해당 쿼리에서 참조된 column family만 Bigtable에서 읽습니다. |
ignoreUnspecifiedColumnFamilies |
선택사항입니다. 필드가 true이면 columnFamilies 목록에 지정되지 않은 column family가 테이블 스키마에 노출되지 않습니다. 그렇지 않으면 BYTES 유형 값으로 읽힙니다. 기본값은 false입니다. |
readRowkeyAsString |
선택사항입니다. 필드가 true이면 rowkey column family가 읽히고 문자열로 변환됩니다. 그렇지 않으면 BYTES 유형 값으로 읽히며 필요한 경우 사용자가 CAST를 사용하여 수동으로 변환해야 합니다. 기본값은 false입니다. |
outputColumnFamiliesAsJson |
선택사항입니다. 필드가 true이면 각 열 패밀리가 단일 JSON 열로 읽힙니다. 그렇지 않으면 타임스탬프/값 튜플이 포함된 반복 셀 구조로 읽힙니다. 기본값은 false입니다. |
| JSON 표현 |
|---|
{ "familyId": string, "type": string, "encoding": string, "columns": [ { object ( |
| 필드 | |
|---|---|
familyId |
column family의 식별자입니다. |
type |
선택사항입니다. 이 열 패밀리의 셀에 있는 값을 변환할 유형입니다. BINARY 인코딩 값을 사용하는 경우 값은 HBase Bytes.toBytes 함수를 사용하여 인코딩해야 합니다. 다음 BigQuery 유형이 허용됩니다 (대소문자 구분).
기본 유형은 BYTES입니다. 'columns'에 해당 열을 나열하고 유형을 지정하여 특정 열을 재정의할 수 있습니다. |
encoding |
선택사항입니다. 유형이 STRING이 아닌 경우 값의 인코딩입니다. 허용되는 인코딩 값은 다음과 같습니다. TEXT - 값이 영숫자 텍스트 문자열임을 나타냅니다. BINARY - 값이 HBase Bytes.toBytes 함수 패밀리를 사용하여 인코딩되었음을 나타냅니다. PROTO_BINARY - 값이 직렬화된 proto 메시지를 사용하여 인코딩되었음을 나타냅니다. 이 옵션은 JSON 유형과 함께만 사용할 수 있습니다. 'columns'에 해당 열을 나열하고 인코딩을 지정하여 특정 열을 재정의할 수 있습니다. |
columns[] |
선택사항입니다. (열 이름, 값) 쌍 목록이 아닌 개별 필드로 노출되어야 하는 열 목록입니다. 한정자가 이 목록의 한정자와 일치하는 모든 열은 |
onlyReadLatest |
선택사항입니다. 이 값이 설정되면 이 column family의 모든 열에 대해 최신 버전의 값만 노출됩니다. 'columns'에 해당 열을 나열하고 해당 열에 다른 설정을 지정하여 특정 열을 재정의할 수 있습니다. |
protoConfig |
선택사항입니다. Protobuf 관련 구성으로, 인코딩이 PROTO_BINARY인 경우에만 적용됩니다. |
| JSON 표현 |
|---|
{
"qualifierEncoded": string,
"qualifierString": string,
"fieldName": string,
"type": string,
"encoding": string,
"onlyReadLatest": boolean,
"protoConfig": {
object ( |
| 필드 | |
|---|---|
qualifierEncoded |
[필수] 열의 한정자입니다. 이 정확한 qualifier가 있는 상위 column family의 열은 |
qualifierString |
한정자 문자열입니다. |
fieldName |
선택사항입니다. 한정자가 유효한 BigQuery 필드 식별자가 아닌 경우(즉, [a-zA-Z][a-zA-Z0-9_]*와 일치하지 않음) 유효한 식별자를 열 필드 이름으로 제공해야 하며 쿼리에서 필드 이름으로 사용됩니다. |
type |
선택사항입니다. 이 열의 셀에 있는 값을 변환할 유형입니다. BINARY 인코딩 값을 사용하는 경우 값은 HBase Bytes.toBytes 함수를 사용하여 인코딩해야 합니다. 다음 BigQuery 유형이 허용됩니다 (대소문자 구분).
기본 유형은 BYTES입니다. 'type'은 column family 수준에서도 설정할 수 있습니다. 하지만 두 수준 모두에서 'type'이 설정된 경우 이 수준의 설정이 우선 적용됩니다. |
encoding |
선택사항입니다. 유형이 STRING이 아닌 경우 값의 인코딩입니다. 허용되는 인코딩 값은 다음과 같습니다. TEXT - 값이 영숫자 텍스트 문자열임을 나타냅니다. BINARY - 값이 HBase Bytes.toBytes 함수 패밀리를 사용하여 인코딩되었음을 나타냅니다. PROTO_BINARY - 값이 직렬화된 proto 메시지를 사용하여 인코딩되었음을 나타냅니다. 이 옵션은 JSON 유형과 함께만 사용할 수 있습니다. 'encoding'은 column family 수준에서도 설정할 수 있습니다. 하지만 두 수준 모두에서 'encoding'이 설정된 경우 이 수준의 설정이 우선 적용됩니다. |
onlyReadLatest |
선택사항입니다. 이 값이 설정되면 이 열의 최신 버전의 값만 노출됩니다. 'onlyReadLatest'는 column family 수준에서도 설정할 수 있습니다. 하지만 두 수준 모두에서 'onlyReadLatest'가 설정된 경우 이 수준의 설정이 우선합니다. |
protoConfig |
선택사항입니다. Protobuf 관련 구성으로, 인코딩이 PROTO_BINARY인 경우에만 적용됩니다. |
| JSON 표현 |
|---|
{ "value": string } |
| 필드 | |
|---|---|
value |
바이트 값입니다. base64 인코딩 문자열입니다. |
| JSON 표현 |
|---|
{ "schemaBundleId": string, "protoMessageName": string } |
| 필드 | |
|---|---|
schemaBundleId |
선택사항입니다. 이 protobuf와 연결된 Bigtable SchemaBundle 리소스의 ID입니다. ID는 상위 테이블 내에서 참조해야 합니다.예를 들면 다음과 같습니다. |
protoMessageName |
선택사항입니다. protobuf의 정규화된 proto 메시지 이름입니다. 'foo.bar.Message' 형식입니다. |
| JSON 표현 |
|---|
{ "skipLeadingRows": string, "range": string } |
| 필드 | |
|---|---|
skipLeadingRows |
선택사항입니다. BigQuery에서 데이터를 읽을 때 건너뛸 시트 상단의 행 수입니다. 기본값은 0입니다. 이 속성은 건너뛰어야 하는 헤더 행이 있는 경우에 유용합니다. 자동 감지가 사용 설정된 경우 동작은 다음과 같습니다. * skipLeadingRows가 지정되지 않음 - 자동 감지에서 첫 번째 행의 헤더를 감지하려고 시도합니다. 감지되지 않으면 행이 데이터로 읽힙니다. 그렇지 않으면 두 번째 행부터 데이터가 읽힙니다. * skipLeadingRows가 0입니다. 헤더가 없으며 첫 번째 행부터 데이터를 읽어야 한다고 자동 감지에 지시합니다. * skipLeadingRows = N > 0 - N-1개의 행을 자동으로 건너뛰고 N번째 행에서 헤더를 감지하려고 시도합니다. 헤더가 감지되지 않으면 N번째 행이 건너뜁니다. 그렇지 않으면 N번째 행을 사용하여 감지된 스키마의 열 이름을 추출합니다. |
range |
선택사항입니다. 쿼리할 시트의 범위입니다. 비어 있지 않은 경우에만 사용됩니다. 일반적인 형식: sheet_name!top_left_cell_id:bottom_right_cell_id 예: sheet1!A1:B20 |
| JSON 표현 |
|---|
{ "mode": string, "sourceUriPrefix": string, "requirePartitionFilter": boolean, "fields": [ string ] } |
| 필드 | |
|---|---|
mode |
선택사항입니다. 설정된 경우 데이터를 읽을 때 사용할 하이브 파티션 모드입니다. 다음 모드가 지원됩니다.
일부 스토리지 형식은 하이브 파티셔닝을 지원하지 않습니다. 지원되지 않는 형식으로 Hive 파티셔닝을 요청하면 오류가 발생합니다. 현재 지원되는 형식은 JSON, CSV, ORC, Avro, Parquet입니다. |
sourceUriPrefix |
선택사항입니다. 하이브 파티션 감지가 요청되면 모든 소스 URI의 공통 접두사가 필요합니다. 접두사는 파티션 키 인코딩이 시작되기 바로 전에 끝나야 합니다. 예를 들어 다음 데이터 레이아웃을 따르는 파일을 살펴보겠습니다. gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avro gs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro AUTO 또는 STRINGS 감지를 사용하여 하이브 파티션 나누기를 요청하는 경우 공통 접두사는 gs://bucket/path_to_table 또는 gs://bucket/path_to_table/일 수 있습니다. CUSTOM 감지 모드를 사용하려면 공통 프리픽스 바로 뒤에 파티션 나누기 스키마를 인코딩해야 합니다. CUSTOM의 경우 다음 중 하나
모두 유효한 소스 URI 접두사가 됩니다. |
requirePartitionFilter |
선택사항입니다. true로 설정하면 이 테이블에 대한 쿼리에 파티션 소거에 사용할 수 있는 파티션 필터를 지정해야 합니다. 이 필드는 영구 외부 테이블을 만들거나 임시 외부 테이블을 쿼리할 때만 true여야 합니다. require_partition_filter가 명시적으로 true로 설정된 Hive 파티션 로드는 실패합니다. |
fields[] |
출력 전용입니다. 영구 외부 테이블의 경우 이 필드는 추론된 순서대로 하이브 파티션 키로 채워집니다. 파티션 키의 유형은 파티션 키가 포함된 테이블 스키마를 확인하여 추론할 수 있습니다. 모든 API가 출력에서 이 필드를 채우는 것은 아닙니다. 예를 들어 Tables.Get은 이 필드를 채우지만 Tables.List에는 이 필드가 포함되지 않습니다. |
| JSON 표현 |
|---|
{ "useAvroLogicalTypes": boolean } |
| 필드 | |
|---|---|
useAvroLogicalTypes |
선택사항입니다. sourceFormat이 'AVRO'로 설정된 경우 원시 유형 (예: INTEGER)을 사용하는 대신 논리 유형을 해당하는 BigQuery 데이터 유형 (예: TIMESTAMP)으로 해석할지 여부를 나타냅니다. |
| JSON 표현 |
|---|
{
"enumAsString": boolean,
"enableListInference": boolean,
"mapTargetType": enum ( |
| 필드 | |
|---|---|
enumAsString |
선택사항입니다. 기본적으로 Parquet ENUM 논리 유형을 BYTES 대신 STRING으로 추론할지 여부를 나타냅니다. |
enableListInference |
선택사항입니다. 특히 Parquet LIST 논리 유형에 스키마 추론을 사용할지 여부를 나타냅니다. |
mapTargetType |
선택사항입니다. Parquet 맵이 있는 경우 이를 나타내는 방법을 나타냅니다. |
| JSON 표현 |
|---|
{ "connectionId": string, "storageUri": string, "fileFormat": enum ( |
| 필드 | |
|---|---|
connectionId |
선택사항입니다. Cloud Storage와 같은 외부 스토리지를 읽고 쓰는 데 사용할 사용자 인증 정보를 지정하는 연결입니다. connection_id는 |
storageUri |
선택사항입니다. 테이블 데이터가 저장된 외부 폴더의 정규화된 위치 접두사입니다. '*' 와일드 카드 문자는 허용되지 않습니다. URI는 |
fileFormat |
선택사항입니다. 표 데이터가 저장되는 파일 형식입니다. |
tableFormat |
선택사항입니다. 메타데이터 전용 스냅샷이 저장되는 테이블 형식입니다. |
| JSON 표현 |
|---|
{ "estimatedBytes": string, "estimatedRows": string, "oldestEntryTime": string } |
| 필드 | |
|---|---|
estimatedBytes |
출력 전용입니다. 현재 스트리밍 버퍼에 있는 바이트 수의 하한 추정치입니다. |
estimatedRows |
출력 전용입니다. 현재 스트리밍 버퍼에 있는 행 수의 하한 추정치입니다. |
oldestEntryTime |
출력 전용입니다. 스트리밍 버퍼를 사용할 수 있는 경우 스트리밍 버퍼에서 가장 오래된 항목의 타임스탬프(에포크 이후 밀리초)를 포함합니다. |
| JSON 표현 |
|---|
{ "kmsKeyName": string } |
| 필드 | |
|---|---|
kmsKeyName |
선택사항입니다. 대상 BigQuery 테이블을 보호하는 데 사용될 Cloud KMS 암호화 키를 설명합니다. 프로젝트와 연결된 BigQuery 서비스 계정에 이 암호화 키에 대한 액세스 권한이 필요합니다. |
| JSON 표현 |
|---|
{
"baseTableReference": {
object ( |
| 필드 | |
|---|---|
baseTableReference |
필수 항목입니다. 스냅샷이 생성된 테이블의 ID를 설명하는 참조입니다. |
snapshotTime |
필수 항목입니다. 기본 테이블이 스냅샷된 시간입니다. 이 값은 RFC3339 형식을 사용하여 JSON 응답에 보고됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
| JSON 표현 |
|---|
{
"baseTableReference": {
object ( |
| 필드 | |
|---|---|
baseTableReference |
필수 항목입니다. 클론된 테이블의 ID를 설명하는 참조입니다. |
cloneTime |
필수 항목입니다. 기본 테이블이 클론된 시간입니다. 이 값은 RFC3339 형식을 사용하여 JSON 응답에 보고됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
| JSON 표현 |
|---|
{
"type": enum ( |
| 필드 | |
|---|---|
type |
출력 전용입니다. 데이터 세트/표 제한 유형을 지정합니다. |
| JSON 표현 |
|---|
{ "primaryKey": { object ( |
| 필드 | |
|---|---|
primaryKey |
선택사항입니다. 테이블 열의 기본 키 제약 조건을 나타냅니다. 표에 기본 키가 있는 경우에만 표시됩니다. 기본 키가 적용되지 않습니다. |
foreignKeys[] |
선택사항입니다. 테이블에 외래 키가 있는 경우에만 표시됩니다. 외래 키가 적용되지 않습니다. |
| JSON 표현 |
|---|
{ "columns": [ string ] } |
| 필드 | |
|---|---|
columns[] |
필수 항목입니다. 기본 키 제약 조건으로 구성된 열입니다. |
| JSON 표현 |
|---|
{ "name": string, "referencedTable": { object ( |
| 필드 | |
|---|---|
name |
선택사항입니다. 외래 키 제약 조건에 이름이 지정된 경우에만 설정됩니다. |
referencedTable |
필수 항목입니다. 기본 키를 보유하고 이 외래 키로 참조되는 테이블입니다. |
columnReferences[] |
필수 항목입니다. 외래 키를 구성하는 열입니다. |
| JSON 표현 |
|---|
{ "referencingColumn": string, "referencedColumn": string } |
| 필드 | |
|---|---|
referencingColumn |
필수 항목입니다. 외래 키를 구성하는 열입니다. |
referencedColumn |
필수 항목입니다. 참조_열에서 참조하는 기본 키의 열입니다. |
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
| JSON 표현 |
|---|
{ "sourceTable": { object ( |
| 필드 | |
|---|---|
sourceTable |
필수 항목입니다. 복제되는 소스 테이블 참조입니다. |
replicationIntervalMs |
선택사항입니다. 소스 테이블이 업데이트를 위해 폴링되는 간격을 지정합니다. 선택사항입니다. 지정하지 않으면 기본 복제 간격이 적용됩니다. |
replicatedSourceLastRefreshTime |
선택사항입니다. 출력 전용입니다. 소스가 구체화된 뷰인 경우 이 필드는 소스의 마지막 새로고침 시간을 나타냅니다. |
replicationStatus |
선택사항입니다. 출력 전용입니다. 구성된 복제의 복제 상태입니다. |
replicationError |
선택사항입니다. 출력 전용입니다. 테이블 복제를 영구적으로 중지하는 복제 오류입니다. |
| JSON 표현 |
|---|
{
"parameters": {
string: string,
...
},
"storageDescriptor": {
object ( |
| 필드 | |
|---|---|
parameters |
선택사항입니다. 오픈소스 테이블의 매개변수와 속성을 정의하는 키-값 쌍의 맵입니다. Hive metastore 테이블 매개변수에 해당합니다. 최대 크기는 4MiB입니다.
|
storageDescriptor |
선택사항입니다. 이 테이블의 실제 스토리지에 관한 정보가 포함된 스토리지 설명자입니다. |
connectionId |
선택사항입니다. Azure Blob, Cloud Storage, Amazon S3와 같은 외부 스토리지를 읽는 데 사용할 사용자 인증 정보를 지정하는 연결 ID입니다. 이 연결은 BigQuery에서 오픈소스 테이블을 읽는 데 필요합니다. connection_id 형식은 |
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
| JSON 표현 |
|---|
{
"locationUri": string,
"inputFormat": string,
"outputFormat": string,
"serdeInfo": {
object ( |
| 필드 | |
|---|---|
locationUri |
선택사항입니다. 표의 실제 위치입니다 (예: |
inputFormat |
선택사항입니다. InputFormat의 정규화된 클래스 이름을 지정합니다 (예: 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'). 최대 길이는 128자(영문 기준)입니다. |
outputFormat |
선택사항입니다. OutputFormat의 정규화된 클래스 이름을 지정합니다 (예: 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'). 최대 길이는 128자(영문 기준)입니다. |
serdeInfo |
선택사항입니다. 직렬화기 및 역직렬화기 정보입니다. |
| JSON 표현 |
|---|
{ "name": string, "serializationLibrary": string, "parameters": { string: string, ... } } |
| 필드 | |
|---|---|
name |
선택사항입니다. SerDe의 이름입니다. 최대 길이는 256자(영문 기준)입니다. |
serializationLibrary |
필수 항목입니다. 표 표현과 기본 하위 수준 입력 및 출력 형식 구조 간의 데이터 변환을 담당하는 직렬화 라이브러리의 정규화된 클래스 이름을 지정합니다. 최대 길이는 256자(영문 기준)입니다. |
parameters |
선택사항입니다. 직렬화 라이브러리의 초기화 매개변수를 정의하는 키-값 쌍입니다. 최대 크기는 10KiB입니다.
|
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌