Tabel Virtual TABLE_OPTIONS
Tabel virtual INFORMATION_SCHEMA.TABLE_OPTIONS
berisi satu baris untuk setiap opsi, untuk setiap tabel atau tabel virtual dalam set data. Tabel virtual TABLES
dan TABLE_OPTIONS
juga berisi informasi umum tentang tabel virtual.
Untuk mengetahui informasi selengkapnya, buat kueri tabel virtual INFORMATION_SCHEMA.VIEWS
.
Izin yang diperlukan
Untuk membuat kueri tabel virtual INFORMATION_SCHEMA.TABLE_OPTIONS
, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
Setiap peran IAM yang telah ditetapkan berikut mencakup izin sebelumnya:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.
Skema
Saat Anda membuat kueri tabel virtual INFORMATION_SCHEMA.TABLE_OPTIONS
, hasil kueri akan berisi satu baris untuk setiap opsi, untuk setiap tabel atau tabel virtual dalam set data. Untuk mengetahui informasi mendetail tentang tabel virtual, buat kueri tabel virtual INFORMATION_SCHEMA.VIEWS
.
Tabel virtual INFORMATION_SCHEMA.TABLE_OPTIONS
memiliki skema berikut:
Nama kolom | Jenis data | Nilai |
---|---|---|
TABLE_CATALOG |
STRING |
ID project dari project yang berisi set data |
TABLE_SCHEMA |
STRING |
Nama set data yang berisi tabel atau tabel virtual juga disebut sebagai datasetId |
TABLE_NAME |
STRING |
Nama tabel atau tabel virtual juga disebut sebagai tableId |
OPTION_NAME |
STRING |
Salah satu nilai nama dalam tabel opsi |
OPTION_TYPE |
STRING |
Salah satu nilai jenis data dalam tabel opsi |
OPTION_VALUE |
STRING |
Salah satu opsi nilai dalam tabel opsi |
Tabel Opsi
OPTION_NAME |
OPTION_TYPE |
OPTION_VALUE |
---|---|---|
partition_expiration_days |
FLOAT64 |
Masa aktif default, dalam hari, untuk semua partisi dalam tabel berpartisi |
expiration_timestamp |
TIMESTAMP |
Waktu saat tabel ini berakhir |
kms_key_name |
STRING |
Nama kunci Cloud KMS yang digunakan untuk mengenkripsi tabel |
friendly_name |
STRING |
Nama deskriptif tabel |
description |
STRING |
Deskripsi tabel |
labels |
ARRAY<STRUCT<STRING, STRING>> |
Array STRUCT yang merepresentasikan label pada tabel |
require_partition_filter |
BOOL |
Apakah kueri pada tabel memerlukan filter partisi |
enable_refresh |
BOOL |
Apakah muat ulang otomatis diaktifkan untuk tampilan terwujud |
refresh_interval_minutes |
FLOAT64 |
Seberapa sering tampilan terwujud dimuat ulang |
Untuk tabel eksternal, opsi berikut dapat dipilih:
Opsi | |
---|---|
allow_jagged_rows |
Jika Berlaku untuk data CSV. |
allow_quoted_newlines |
Jika Berlaku untuk data CSV. |
bigtable_options |
Hanya diperlukan saat membuat tabel eksternal Bigtable. Menentukan skema tabel eksternal Bigtable dalam format JSON. Untuk daftar opsi definisi tabel Bigtable, lihat |
compression |
Jenis kompresi sumber data. Nilai yang didukung meliputi: Berlaku untuk data CSV dan JSON. |
decimal_target_types |
Menentukan cara mengonversi jenis Contoh: |
description |
Deskripsi tabel ini. |
enable_list_inference |
Jika Berlaku untuk data Parquet. |
enable_logical_types |
Jika Berlaku untuk data Avro. |
encoding |
Encoding karakter data. Nilai yang didukung mencakup: Berlaku untuk data CSV. |
enum_as_string |
Jika Berlaku untuk data Parquet. |
expiration_timestamp |
Waktu habis masa berlaku tabel ini Jika tidak ditentukan, masa berlaku tabel tidak akan habis. Contoh: |
field_delimiter |
Pemisah untuk kolom dalam file CSV. Berlaku untuk data CSV. |
format |
Format data eksternal.
Nilai yang didukung untuk
Nilai yang didukung untuk
Nilai |
hive_partition_uri_prefix |
Imbuhan umum untuk semua URI sumber sebelum encoding kunci partisi dimulai. Hanya berlaku untuk tabel eksternal yang dipartisi hive. Berlaku untuk data Avro, CSV, JSON, Parquet, dan ORC. Contoh: |
file_set_spec_type |
Menentukan cara menafsirkan URI sumber untuk tugas pemuatan dan tabel eksternal. Dalam pratinjau. Nilai yang didukung meliputi:
Misalnya, jika Anda memiliki URI sumber |
ignore_unknown_values |
Jika Berlaku untuk data CSV dan JSON. |
json_extension |
Untuk data JSON, menunjukkan format pertukaran JSON tertentu. Jika tidak ditentukan, BigQuery akan membaca data sebagai data JSON generik. Nilai yang didukung meliputi: |
max_bad_records |
Jumlah maksimum catatan buruk yang diabaikan saat membaca data. Berlaku untuk: data CSV, JSON, dan Google Spreadsheet. |
max_staleness |
Berlaku untuk tabel BigLake dan tabel objek. Menentukan apakah metadata yang di-cache digunakan oleh operasi terhadap tabel, dan seberapa baru metadata yang di-cache agar operasi dapat menggunakannya. Untuk menonaktifkan caching metadata, tentukan 0. Ini adalah setelan defaultnya. Untuk mengaktifkan caching metadata, isi nilai literal interval dari 30 menit atau hingga 7 hari. Misalnya, tentukan |
metadata_cache_mode |
Berlaku untuk tabel BigLake dan tabel objek. Menentukan apakah cache metadata untuk tabel dimuat ulang secara otomatis atau manual. Tetapkan ke Tetapkan ke Anda harus menetapkan |
null_marker |
String yang merepresentasikan nilai Berlaku untuk data CSV. |
object_metadata |
Hanya diperlukan saat membuat tabel objek. Tetapkan nilai opsi ini ke |
preserve_ascii_control_characters |
Jika Berlaku untuk data CSV. |
projection_fields |
Daftar properti entity yang akan dimuat. Berlaku untuk data Datastore. |
quote |
String yang digunakan untuk mengutip bagian data dalam file CSV. Jika data Anda berisi karakter newline yang dikutip, tetapkan properti Berlaku untuk data CSV. |
reference_file_schema_uri |
File referensi yang disediakan pengguna dengan skema tabel. Berlaku untuk data Parquet/ORC/AVRO. Contoh: |
require_hive_partition_filter |
Jika Berlaku untuk data Avro, CSV, JSON, Parquet, dan ORC. |
sheet_range |
Rentang spreadsheet Google Spreadsheet yang akan digunakan untuk membuat kueri. Berlaku untuk data Google Spreadsheet. Contoh: |
skip_leading_rows |
Jumlah baris di bagian atas file yang dilewati saat membaca data. Berlaku untuk data CSV dan Google Spreadsheet. |
uris |
Untuk tabel eksternal, termasuk tabel objek, yang bukan tabel Bigtable:
Array URI yang sepenuhnya memenuhi syarat untuk lokasi data eksternal.
Setiap URI dapat berisi satu karakter pengganti tanda bintang ( Contoh berikut menunjukkan nilai
Untuk tabel Bigtable:
URI yang mengidentifikasi tabel Bigtable untuk digunakan sebagai sumber data. Anda hanya dapat menentukan satu URI Bigtable. Contoh: Untuk mengetahui informasi selengkapnya tentang cara membuat URI Bigtable, baca Mengambil URI Bigtable. |
Cakupan dan sintaksis
Kueri terhadap tabel virtual ini harus menyertakan set data atau penentu region. Untuk kueri dengan penentu set data, Anda harus memiliki izin untuk set data. Untuk kueri dengan penentu region, Anda harus memiliki izin untuk project. Untuk informasi selengkapnya, lihat Sintaksis. Tabel berikut menjelaskan cakupan region dan resource untuk tabel virtual ini:
Nama tabel virtual | Cakupan resource | Cakupan region |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_OPTIONS |
Level project | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
Level set data | Lokasi set data |
- Opsional:
PROJECT_ID
: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan. REGION
: nama region set data apa pun. Misalnya,region-us
.DATASET_ID
: ID set data Anda. Untuk mengetahui informasi selengkapnya, lihat Penentu set data.
Contoh
Contoh 1:
Contoh berikut mengambil waktu habis masa berlaku tabel default untuk semua tabel di mydataset
dalam project default Anda (myproject
) dengan membuat kueri tabel virtual INFORMATION_SCHEMA.TABLE_OPTIONS
.
Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID ke set data dalam format berikut: `project_id`.dataset.INFORMATION_SCHEMA.view
; misalnya, `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
Hasilnya mirip dengan berikut ini:
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | myproject | mydataset | mytable1 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2020-01-16T21:12:28.000Z" | | myproject | mydataset | mytable2 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2021-01-01T21:12:28.000Z" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
Contoh 2:
Contoh berikut mengambil metadata tentang semua tabel di mydataset
yang berisi data pengujian. Kueri menggunakan nilai dalam opsi description
untuk menemukan tabel yang berisi "test" di mana pun dalam deskripsi. mydataset
ada dalam project default Anda — myproject
.
Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID ke set data dalam format berikut: `project_id`.dataset.INFORMATION_SCHEMA.view
; misalnya, `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
Hasilnya mirip dengan berikut ini:
+----------------+---------------+------------+-------------+-------------+--------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+-------------+-------------+--------------+ | myproject | mydataset | mytable1 | description | STRING | "test data" | | myproject | mydataset | mytable2 | description | STRING | "test data" | +----------------+---------------+------------+-------------+-------------+--------------+