指定結構定義
BigQuery 可讓您在將資料載入資料表,以及建立空白資料表時指定資料表結構定義。此外,您也可以針對支援的資料格式,使用結構定義自動偵測功能。
載入 Avro、Parquet、ORC、Firestore 匯出檔案或 Datastore 匯出檔案時,系統會自動從自述式來源資料擷取結構定義。
您可以透過下列方式指定資料表的結構定義:
- 使用 Google Cloud 控制台。
- 使用
CREATE TABLE
SQL 陳述式。 - 使用 bq 指令列工具內嵌。
- 以 JSON 格式建立結構定義檔案。
- 呼叫
jobs.insert
方法,並設定load
工作設定中的schema
屬性。 - 呼叫
tables.insert
方法,並使用schema
屬性,設定資料表資源中的結構定義。
載入資料或建立空白資料表之後,您可以修改資料表結構定義。
結構定義元件
當您指定資料表結構定義時,您必須提供每個資料欄的名稱和資料類型。您也可以提供資料欄的說明、模式和預設值。
欄名稱
欄名可包含英文字母 (a-z、A-Z)、數字 (0-9) 或底線 (_),且開頭必須是英文字母或底線。如果您使用彈性資料欄名稱,BigQuery 支援以數字開頭的資料欄名稱。請謹慎使用數字開頭的資料欄,因為使用 BigQuery Storage Read API 或 BigQuery Storage Write API 時,如果資料欄名稱開頭是數字,就必須特別處理。如要進一步瞭解彈性資料欄名稱支援功能,請參閱彈性資料欄名稱。
欄名的長度上限為 300 個半形字元。資料欄名稱不得使用以下任何一個前置字串:
_TABLE_
_FILE_
_PARTITION
_ROW_TIMESTAMP
__ROOT__
_COLIDENTIFIER
資料欄名稱不得重複,即使大小寫不同也是如此。舉例來說,系統會將 Column1
和 column1
這兩個資料欄名稱視為相同。如要進一步瞭解資料欄命名規則,請參閱 GoogleSQL 參考資料中的「資料欄名稱」。
如果資料表名稱 (例如 test
) 與其中一個資料欄名稱 (例如 test
) 相同,SELECT
運算式會將 test
資料欄解讀為包含所有其他資料表資料欄的 STRUCT
。如要避免發生這種衝突,請使用下列其中一種方法:
請勿為資料表及其資料欄使用相同名稱。
為表格指派其他別名。舉例來說,下列查詢會將資料表別名
t
指派給資料表project1.dataset.test
:SELECT test FROM project1.dataset.test AS t;
參照資料欄時,請一併提供資料表名稱。例如:
SELECT test.test FROM project1.dataset.test;
彈性設定資料欄名稱
資料欄名稱的命名方式更靈活,包括擴大支援非英文語言的字元,以及其他符號。如果彈性資料欄名稱是加上引號的 ID,請務必使用倒引號 (`
) 字元括住。
彈性資料欄名稱支援下列字元:
- 任何語言的任何字母,以 Unicode 規則運算式
\p{L}
表示。 - 任何語言的任何數字字元,以 Unicode 正規運算式
\p{N}
表示。 - 任何連接符號字元,包括底線,以 Unicode 規則運算式
\p{Pc}
表示。 - 連字號或破折號,以 Unicode 規則運算式
\p{Pd}
表示。 - 任何預期會與其他字元搭配使用的標記,以 Unicode 規則運算式
\p{M}
表示。例如重音符號、變音符號或外框。 - 下列特殊字元:
- 以 Unicode 規則運算式
\u0026
表示的連字號 (&
)。 - 百分比符號 (
%
),以 Unicode 規則運算式\u0025
表示。 - 等號 (
=
),以 Unicode 規則運算式\u003D
表示。 - 加號 (
+
),以 Unicode 規則運算式\u002B
表示。 - 冒號 (
:
),以 Unicode 規則運算式\u003A
表示。 - 以 Unicode 規則運算式
\u0027
表示的單引號 ('
)。 - 小於符號 (
<
),以 Unicode 正規運算式\u003C
表示。 - 大於符號 (
>
),以 Unicode 規則運算式\u003E
表示。 - 井號 (
#
),以 Unicode 正則運算式\u0023
表示。 - 以 Unicode 規則運算式
\u007c
表示的垂直線 (|
)。 - 空格字元。
- 以 Unicode 規則運算式
彈性資料欄名稱不支援下列特殊字元:
- 驚嘆號 (
!
),以 Unicode 規則運算式\u0021
表示。 - 引號 (
"
),以 Unicode 規則運算式\u0022
表示。 - 以 Unicode 規則運算式
\u0024
表示的錢幣符號 ($
)。 - 左括號 (
(
),以 Unicode 規則運算式\u0028
表示。 - 右括號 (
)
),以 Unicode 規則運算式\u0029
表示。 - 星號 (
*
),以 Unicode 規則運算式\u002A
表示。 - 以 Unicode 規則運算式
\u002C
表示的逗號 (,
)。 - 句號 (
.
),以 Unicode 規則運算式\u002E
表示。使用資料欄名稱字元對應時,Parquet 檔案資料欄名稱中的句號不會替換為底線。詳情請參閱彈性資料欄限制。 - 以 Unicode 規則運算式
\u002F
表示的斜線 (/
)。 - 以 Unicode 規則運算式
\u003B
表示的分號 (;
)。 - 問號 (
?
),以 Unicode 規則運算式\u003F
表示。 - 以 Unicode 規則運算式
\u0040
表示的 at 符號 (@
)。 - 左方括號 (
[
),以 Unicode 規則運算式\u005B
表示。 - 反斜線 (
\
),以 Unicode 規則運算式\u005C
表示。 - 右方括號 (
]
),以 Unicode 正則運算式\u005D
表示。 - 揚抑符號 (
^
),以 Unicode 規則運算式\u005E
表示。 - Unicode 規則運算式
\u0060
代表的重音符 (`
)。 - 左大括號 {
{
),以 Unicode 規則運算式\u007B
表示。 - 右大括號 (
}
),以 Unicode 正則運算式\u007D
表示。 - 波浪號 (
~
),以 Unicode 規則運算式\u007E
表示。
如需其他規範,請參閱「資料欄名稱」。
BigQuery Storage Read API 和 BigQuery Storage Write API 都支援擴充的資料欄字元。如要透過 BigQuery Storage Read API 使用擴充的 Unicode 字元清單,必須設定旗標。您可以使用 displayName
屬性擷取欄名。以下範例說明如何使用 Python 用戶端設定旗標:
from google.cloud.bigquery_storage import types
requested_session = types.ReadSession()
#set avro serialization options for flexible column.
options = types.AvroSerializationOptions()
options.enable_display_name_attribute = True
requested_session.read_options.avro_serialization_options = options
如要透過 BigQuery Storage Write API 使用擴充的 Unicode 字元清單,您必須提供含有 column_name
標記的結構定義,除非您使用 JsonStreamWriter
寫入器物件。以下範例說明如何提供結構定義:
syntax = "proto2";
package mypackage;
// Source protos located in github.com/googleapis/googleapis
import "google/cloud/bigquery/storage/v1/annotations.proto";
message FlexibleSchema {
optional string item_name_column = 1
[(.google.cloud.bigquery.storage.v1.column_name) = "name-列"];
optional string item_description_column = 2
[(.google.cloud.bigquery.storage.v1.column_name) = "description-列"];
}
在本範例中,item_name_column
和 item_description_column
是預留位置名稱,必須符合通訊協定緩衝區命名慣例。請注意,column_name
註解一律優先於預留位置名稱。
限制
- 外部資料表不支援彈性資料欄名稱。
資料欄說明
每個資料欄可視需要納入說明。說明的長度上限為 1024 個字元。
預設值
CURRENT_DATE
CURRENT_DATETIME
CURRENT_TIME
CURRENT_TIMESTAMP
GENERATE_UUID
RAND
SESSION_USER
ST_GEOGPOINT
GoogleSQL 資料類型
您可以在結構定義中指定下列 GoogleSQL 資料類型。資料類型為必要項目。
名稱 | 資料類型 | 說明 |
---|---|---|
整數 | INT64 |
不包含小數的數值 |
浮點 | FLOAT64 |
具有小數的概略數值 |
數字 | NUMERIC |
具有小數的精確數值 |
BigNumeric | BIGNUMERIC |
具有小數的精確數值 |
布林 | BOOL |
TRUE 或 FALSE (不區分大小寫) |
字串 | STRING |
變數長度字元 (Unicode) 資料 |
位元組 | BYTES |
變數長度二進位資料 |
日期 | DATE |
邏輯日曆日期 |
日期/時間 | DATETIME |
年、月、日、時、分、秒和亞秒 |
時間 | TIME |
時間;與特定日期無關 |
時間戳記 | TIMESTAMP |
絕對時間點 (精確度高達微秒) |
結構 (記錄) | STRUCT |
已排序欄位的容器,每個容器都有一個類型 (必填) 和欄位名稱 (選填) |
地理 | GEOGRAPHY |
地表上的地理資訊點集合 (WGS84 參考橢球體上的點、線與多邊形集合,含測地線) |
JSON | JSON |
代表 JSON,這是一種輕量型資料交換格式 |
範圍 | RANGE |
DATE 、DATETIME 或 TIMESTAMP 值範圍 |
如要進一步瞭解 GoogleSQL 中的資料類型,請參閱 GoogleSQL 資料類型。
查詢資料時,您也可以聲明陣列類型。詳情請參閱「使用陣列」。
模式
BigQuery 支援下列資料欄模式;模式為選用項目。假如未指定模式,資料欄會預設為 NULLABLE
。
模式 | 說明 |
---|---|
是否可為空值 | 資料欄允許 NULL 值 (預設) |
必填 | 不得輸入 NULL 值 |
重複 | 資料欄包含指定類型的值陣列 |
如要進一步瞭解模式,請參閱 TableFieldSchema
中的 mode
。
捨入模式
如果資料欄是 NUMERIC
或 BIGNUMERIC
類型,您可以設定rounding_mode
資料欄選項,決定將值寫入表格時的捨入方式。您可以在頂層資料欄或 STRUCT
欄位中設定 rounding_mode
選項。支援的捨入模式如下:
"ROUND_HALF_AWAY_FROM_ZERO"
:這個模式 (預設) 會將中間值四捨五入至遠離零的值。"ROUND_HALF_EVEN"
:這個模式會將中間值四捨五入至最接近的偶數。
如果資料欄不是 NUMERIC
或 BIGNUMERIC
類型,就無法設定 rounding_mode
選項。如要進一步瞭解這些類型,請參閱十進位類型。
下列範例會建立資料表,並根據資料欄的捨入模式插入捨入值:
CREATE TABLE mydataset.mytable ( x NUMERIC(5,2) OPTIONS (rounding_mode='ROUND_HALF_EVEN'), y NUMERIC(5,2) OPTIONS (rounding_mode='ROUND_HALF_AWAY_FROM_ZERO') ); INSERT mydataset.mytable (x, y) VALUES (NUMERIC "1.025", NUMERIC "1.025"), (NUMERIC "1.0251", NUMERIC "1.0251"), (NUMERIC "1.035", NUMERIC "1.035"), (NUMERIC "-1.025", NUMERIC "-1.025");
資料表 mytable
如下所示:
+-------+-------+ | x | y | +-------+-------+ | 1.02 | 1.03 | | 1.03 | 1.03 | | 1.04 | 1.04 | | -1.02 | -1.03 | +-------+-------+
詳情請參閱 TableFieldSchema
中的 roundingMode
。
指定結構定義
載入資料或建立空白資料表時,您可以使用 Google Cloud 主控台或 bq 指令列工具指定資料表的結構定義。載入 CSV 與 JSON (以換行符號分隔) 檔時,系統支援指定結構定義。載入 Avro、Parquet、ORC、Firestore 匯出資料或 Datastore 匯出資料時,系統會自動從自述式來源資料擷取結構定義。
如何指定資料表結構定義:
主控台
在 Google Cloud 控制台中,您可以使用「新增欄位」選項或「以文字形式編輯」選項,指定結構定義。
在 Google Cloud 控制台開啟「BigQuery」頁面。
在「Explorer」面板中展開專案並選取資料集。
展開「動作」選項,然後按一下「開啟」。
在詳細資料面板中,按一下「建立資料表」
。在「Create table」(建立資料表) 頁面的「Source」(來源) 區段中,選取 [Empty table] (空白資料表)。
在「Create table」(建立資料表) 頁面的「Destination」(目的地) 區段中:
為「Dataset name」(資料集名稱),選擇適當的資料集
在「Table name」(資料表名稱) 欄位中,輸入您建立資料表時所使用的名稱。
確認「Table type」(資料表類型) 設為「Native table」(原生資料表)。
在「Schema」(結構定義) 部分輸入結構定義。
- 選項 1:使用「新增欄位」並指定每個欄位的名稱、類型和模式。
- 選項 2:按一下 [Edit as Text] (以文字形式編輯),然後以 JSON 陣列的形式貼上結構定義。如果您使用 JSON 陣列,可透過與建立 JSON 結構定義檔一樣的程序產生結構定義。
點選「建立資料表」。
SQL
使用 CREATE TABLE
陳述式。使用 column 選項指定結構定義。下列範例會建立名為 newtable
的新資料表,其中包含 x、y、z 資料欄,類型分別為整數、字串和布林值:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入下列陳述式:
CREATE TABLE IF NOT EXISTS mydataset.newtable (x INT64, y STRING, z BOOL) OPTIONS( description = 'My example table');
按一下「執行」
。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」。
bq
使用下列任一指令,以內嵌方式提供 field:data_type,field:data_type
格式的結構定義:
- 如果要載入資料,請使用
bq load
指令。 - 如要建立空白資料表,請使用
bq mk
指令。
在指令列中指定結構定義時,無法加入 RECORD
(STRUCT
) 或 RANGE
類型,也不能加入資料欄說明,或指定資料欄模式。所有模式均會使用預設設定 NULLABLE
。如要加入說明、模式、RECORD
類型和 RANGE
類型,請改為提供 JSON 結構定義檔。
如要使用內嵌結構定義將資料載入資料表,請輸入 load
指令並使用 --source_format
旗標指定資料格式。如要將資料載入預設專案以外的專案中,請使用下列格式加上專案 ID:project_id:dataset.table_name
。
(選用) 提供 --location
旗標,並將值設為您的位置。
bq --location=location load \ --source_format=format \ project_id:dataset.table_name \ path_to_source \ schema
更改下列內容:
location
:您位置的名稱。--location
是選用旗標。舉例來說,如果您在東京地區使用 BigQuery,就可以將旗標的值設為asia-northeast1
。您可以使用 .bigqueryrc 檔案,設定該位置的預設值。format
:NEWLINE_DELIMITED_JSON
或CSV
。project_id
:您的專案 ID。dataset
:包含您要載入資料的資料表所屬的資料集。table_name
:您要載入資料的資料表名稱。path_to_source
:本機或 Cloud Storage 上的 CSV 或 JSON 資料檔案位置。schema
:內嵌結構定義。
範例:
輸入下列指令,將資料從名為 myfile.csv
的本機 CSV 檔案載入預設專案中的 mydataset.mytable
。結構定義是以內嵌方式指定。
bq load \
--source_format=CSV \
mydataset.mytable \
./myfile.csv \
qtr:STRING,sales:FLOAT,year:STRING
如要進一步瞭解如何將資料載入 BigQuery,請參閱「載入資料簡介」。
如要在建立空白資料表時指定內嵌結構定義,請搭配 --table
或 -t
旗標輸入 bq mk
指令。如要建立非預設專案中的資料表,請使用下列格式將專案 ID 新增至指令:project_id:dataset.table
。
bq mk --table project_id:dataset.table schema
更改下列內容:
project_id
:您的專案 ID。dataset
:專案中的資料集。table
:您要建立的資料表名稱。schema
:內嵌結構定義。
舉例來說,下列指令會在預設專案中建立名為 mytable
的空白資料表。結構定義是以內嵌方式指定。
bq mk --table mydataset.mytable qtr:STRING,sales:FLOAT,year:STRING
如要進一步瞭解如何建立空白資料表,請參閱建立含有結構定義的空白資料表。
C#
將資料載入資料表時,如何指定資料表的結構定義:
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 C# 設定說明進行操作。詳情請參閱 BigQuery C# API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
建立空白資料表時,如何指定結構定義:
Go
將資料載入資料表時,如何指定資料表的結構定義:
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 BigQuery Go API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
建立空白資料表時,如何指定結構定義:
Java
將資料載入資料表時,如何指定資料表的結構定義:
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
建立空白資料表時,如何指定結構定義:
Python
將資料載入資料表時,如要指定資料表的結構定義,請設定 LoadJobConfig.schema 屬性。
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
如要在建立空白資料表時指定結構定義,請設定 Table.schema 屬性。
指定 JSON 結構定義檔
您也可以使用 JSON 結構定義檔指定結構定義,而非使用內嵌結構定義。JSON 結構定義檔是由包含以下項目的 JSON 陣列所組成:
- 資料欄的名稱
- 資料欄的資料類型
- 選用:資料欄的模式 (如果未指定,模式預設為
NULLABLE
) - 選用:資料欄的欄位 (如果是
STRUCT
類型) - 選用:資料欄的說明
- 選用:資料欄的政策標記,用於欄位層級的存取權控管
- 選用:
STRING
或BYTES
類型的值長度上限 - 選用:精確度,適用於
NUMERIC
或BIGNUMERIC
類型 - 選用:
NUMERIC
或BIGNUMERIC
類型的資料欄比例 - 選用:資料欄的排序規則,適用於
STRING
類型 - 選用:資料欄的預設值
- 選用:資料欄的捨去模式 (如果資料欄為
NUMERIC
或BIGNUMERIC
類型)
建立 JSON 結構定義檔
如要建立 JSON 結構定義檔,請為每個資料欄輸入 TableFieldSchema
。name
和 type
為必要欄位,其他欄位則為選填。
[ { "name": string, "type": string, "mode": string, "fields": [ { object (TableFieldSchema) } ], "description": string, "policyTags": { "names": [ string ] }, "maxLength": string, "precision": string, "scale": string, "collation": string, "defaultValueExpression": string, "roundingMode": string }, { "name": string, "type": string, ... } ]
如果資料欄是 RANGE<T>
類型,請使用 rangeElementType
欄位描述 T
,其中 T
必須是 DATE
、DATETIME
或 TIMESTAMP
。
[ { "name": "duration", "type": "RANGE", "mode": "NULLABLE", "rangeElementType": { "type": "DATE" } } ]
JSON 陣列會包含在括號 []
中。每個資料欄都必須以半形逗號分隔 (},
)。
如要將現有資料表結構定義寫入本機檔案,請執行下列操作:
bq
bq show \ --schema \ --format=prettyjson \ project_id:dataset.table > path_to_file
更改下列內容:
project_id
:您的專案 ID。dataset
:專案中的資料集。table
:現有資料表結構定義的名稱。path_to_file
:您要將資料表結構定義寫入的本機檔案位置。
Python
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
如要使用 Python 用戶端程式庫,從資料表寫入結構定義 JSON 檔案,請呼叫 Client.schema_to_json 方法。您可以使用輸出檔案做為 JSON 結構定義檔的起點。假如您使用此方法,請確定該檔案僅包含代表資料表結構定義的 JSON 陣列。
舉例來說,下列 JSON 陣列代表基本的資料表結構定義。此結構定義有三個資料欄:qtr
(REQUIRED
STRING
)、rep
(NULLABLE
STRING
) 和 sales
(NULLABLE
FLOAT
)。
[ { "name": "qtr", "type": "STRING", "mode": "REQUIRED", "description": "quarter" }, { "name": "rep", "type": "STRING", "mode": "NULLABLE", "description": "sales representative" }, { "name": "sales", "type": "FLOAT", "mode": "NULLABLE", "defaultValueExpression": "2.55" } ]
使用 JSON 結構定義檔
建立 JSON 結構定義檔後,您可以使用 bq 指令列工具指定結構定義。您無法透過 Google Cloud 控制台或 API 使用結構定義檔。
提供結構定義檔案:
- 如果要載入資料,請使用
bq load
指令。 - 如要建立空白資料表,請使用
bq mk
指令。
您提供的 JSON 結構定義檔必須儲存在可讀取的本機位置。您無法指定儲存在 Cloud Storage 或 Google 雲端硬碟中的 JSON 結構定義檔。
在載入資料時指定結構定義檔
如要使用 JSON 結構定義定義將資料載入資料表,請按照下列步驟操作:
bq
bq --location=location load \ --source_format=format \ project_id:dataset.table \ path_to_data_file \ path_to_schema_file
更改下列內容:
location
:您位置的名稱。--location
是選用旗標。舉例來說,如果您在東京地區使用 BigQuery,就可以將旗標的值設為asia-northeast1
。您可以使用 .bigqueryrc 檔來設定位置的預設值。format
:NEWLINE_DELIMITED_JSON
或CSV
。project_id
:您的專案 ID。dataset
:包含您要載入資料的資料表所屬的資料集。table
:您要載入資料的資料表名稱。path_to_data_file
:本機或 Cloud Storage 上的 CSV 或 JSON 資料檔案位置。path_to_schema_file
:本機上結構定義檔的路徑。
範例:
輸入下列指令,將資料從名為 myfile.csv
的本機 CSV 檔案載入預設專案中的 mydataset.mytable
。結構定義在目前目錄的 myschema.json
中指定。
bq load --source_format=CSV mydataset.mytable ./myfile.csv ./myschema.json
Python
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
如要使用 Python 用戶端程式庫從 JSON 檔案載入資料表結構定義,請呼叫 schema_from_json 方法。在建立資料表時指定結構定義檔
如要使用 JSON 結構定義檔在現有資料集中建立空白資料表,請按照下列步驟操作:
bq
bq mk --table project_id:dataset.table path_to_schema_file
更改下列內容:
project_id
:您的專案 ID。dataset
:專案中的資料集。table
:您要建立的資料表名稱。path_to_schema_file
:本機上結構定義檔的路徑。
舉例來說,以下指令會在預設專案的 mydataset
中建立名為 mytable
的資料表。結構定義是在目前目錄的 myschema.json
中指定:
bq mk --table mydataset.mytable ./myschema.json
Python
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
如要使用 Python 用戶端程式庫從 JSON 檔案載入資料表結構定義,請呼叫 schema_from_json 方法。在 API 中指定結構定義
使用 API 指定資料表結構定義:
如要在載入資料時指定結構定義,請呼叫
jobs.insert
方法,並在JobConfigurationLoad
資源中設定schema
屬性。如要在建立資料表時指定結構定義,請呼叫
tables.insert
方法,並設定Table
資源中的schema
屬性。
使用 API 指定結構定義的程序與建立 JSON 結構定義檔的程序十分相似。
表格安全性
如要控管 BigQuery 資料表的存取權,請參閱「使用 IAM 控管資源存取權」。
後續步驟
- 瞭解如何在結構定義中指定巢狀與重複的資料欄。
- 瞭解結構定義自動偵測功能。
- 瞭解如何將資料載入 BigQuery。
- 瞭解如何建立及使用資料表。