התצוגה TABLE_OPTIONS
התצוגה INFORMATION_SCHEMA.TABLE_OPTIONS מכילה שורה אחת לכל אפשרות,
לכל טבלה או תצוגה במערך נתונים. התצוגות TABLES ו-TABLE_OPTIONS מכילות גם מידע כללי על הצפיות.
מידע מפורט זמין בתצוגה INFORMATION_SCHEMA.VIEWS.
ההרשאות הנדרשות
כדי לשלוח שאילתה לתצוגה INFORMATION_SCHEMA.TABLE_OPTIONS, צריך את ההרשאות הבאות בממשק לניהול זהויות והרשאות גישה (IAM):
bigquery.tables.getbigquery.tables.listbigquery.routines.getbigquery.routines.list
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאות שצוינו למעלה:
roles/bigquery.adminroles/bigquery.dataViewerroles/bigquery.metadataViewer
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
כשמריצים שאילתה בתצוגה INFORMATION_SCHEMA.TABLE_OPTIONS, תוצאות השאילתה מכילות שורה אחת לכל אפשרות, לכל טבלה או תצוגה במערך נתונים. למידע מפורט על תצוגות, אפשר להריץ שאילתה על התצוגה INFORMATION_SCHEMA.VIEWS.
לתצוגה INFORMATION_SCHEMA.TABLE_OPTIONS יש את הסכימה הבאה:
| שם העמודה | סוג נתונים | ערך |
|---|---|---|
table_catalog |
STRING |
מזהה הפרויקט שמכיל את מערך הנתונים |
table_schema |
STRING |
השם של מערך הנתונים שמכיל את הטבלה או התצוגה, שנקרא גם datasetId |
table_name |
STRING |
השם של הטבלה או התצוגה, שנקרא גם tableId |
option_name |
STRING |
אחד מערכי השם בטבלת האפשרויות |
option_type |
STRING |
אחד מערכי סוג הנתונים בטבלת האפשרויות |
option_value |
STRING |
אחת מאפשרויות הערכים בטבלת האפשרויות |
טבלת אפשרויות
|
|
|
|---|---|---|
|
|
תיאור של הטבלה |
|
|
אם הרענון האוטומטי מופעל בתצוגה חומרית |
|
|
השעה שבה יפוג התוקף של הטבלה הזו |
|
|
השם התיאורי של הטבלה |
|
|
השם של מפתח Cloud KMS שמשמש להצפנת הטבלה |
|
|
מערך של STRUCT שמייצג את התוויות בטבלה |
|
|
הערך המקסימלי של נתוני הטבלה שהוגדרה בעדכונים של נתוני שינוי (CDC) ב-BigQuery |
|
|
משך החיים שמוגדר כברירת מחדל, בימים, של כל המחיצות בטבלה מחולקת למחיצות |
|
|
התדירות שבה תצוגה חומרית מתרעננת |
|
|
האם שאילתות בטבלה דורשות מסנן מחיצה |
|
|
תגים שמצורפים לטבלה בתחביר <key, value> במרחב שמות. מידע נוסף זמין במאמר בנושא תגים וגישה מותנית. |
בטבלאות חיצוניות, האפשרויות הן:
| אפשרויות | |
|---|---|
allow_jagged_rows |
אם הערך הוא ההגדרה חלה על נתוני CSV. |
allow_quoted_newlines |
אם ההגדרה חלה על נתוני CSV. |
bigtable_options |
נדרש רק כשיוצרים טבלה חיצונית של Bigtable. מציין את הסכימה של הטבלה החיצונית ב-Bigtable בפורמט JSON. רשימת האפשרויות להגדרת טבלאות Bigtable מופיעה במאמר בנושא |
column_name_character_map |
מגדיר את היקף התווים הנתמכים בשמות העמודות ואת אופן הטיפול בתווים לא נתמכים. ההגדרה שמוגדרת כברירת מחדל היא הערכים הנתמכים כוללים:
האפשרות הזו חלה על נתונים בפורמט CSV ו-Parquet. |
compression |
סוג הדחיסה של מקור הנתונים. הערכים הנתמכים כוללים:
ההגדרה חלה על נתוני CSV ו-JSON. |
decimal_target_types |
ההגדרה קובעת איך להמיר סוג דוגמה: |
description |
תיאור של הטבלה. |
enable_list_inference |
אם ההגדרה חלה על נתונים בפורמט Parquet. |
enable_logical_types |
אם ההגדרה חלה על נתוני Avro. |
encoding |
קידוד התווים של הנתונים. הערכים הנתמכים כוללים:
ההגדרה חלה על נתוני CSV. |
enum_as_string |
אם ההגדרה חלה על נתונים בפורמט Parquet. |
expiration_timestamp |
הזמן שבו תוקף הטבלה יפוג. אם לא מציינים תאריך תפוגה, הטבלה לא תפוג. דוגמה: |
field_delimiter |
התו המפריד בין השדות בקובץ CSV. ההגדרה חלה על נתוני CSV. |
format |
הפורמט של הנתונים החיצוניים.
הערכים הנתמכים של
הערכים הנתמכים של
הערך |
hive_partition_uri_prefix |
קידומת משותפת לכל מזהי ה-URI של המקור לפני שמתחיל קידוד מפתח המחיצה. ההגדרה חלה רק על טבלאות חיצוניות עם חלוקה למחיצות ב-Hive. ההגדרה הזו חלה על נתוני Avro, CSV, JSON, Parquet ו-ORC. דוגמה: |
file_set_spec_type |
מציין איך לפרש כתובות URI של מקורות למשימות טעינה ולטבלאות חיצוניות. הערכים הנתמכים כוללים:
לדוגמה, אם ה-URI של המקור הוא |
ignore_unknown_values |
אם ההגדרה חלה על נתוני CSV ו-JSON. |
json_extension |
לנתוני JSON, מציין פורמט מסוים של חילופי JSON. אם לא מציינים את הפורמט, BigQuery קורא את הנתונים כרשומות JSON כלליות. הערכים הנתמכים כוללים: |
max_bad_records |
המספר המקסימלי של רשומות פגומות להתעלמות בזמן קריאת הנתונים. רלוונטי לנתוני CSV, JSON ו-Google Sheets. |
max_staleness |
האפשרות הזו רלוונטית לטבלאות BigLake ולטבלאות אובייקטים. המדיניות הזו מציינת אם פעולות שמתבצעות בטבלה משתמשות במטא-נתונים ששמורים במטמון, ומה רמת העדכניות של המטא-נתונים ששמורים במטמון שנדרשת כדי שהפעולה תוכל להשתמש בהם. כדי להשבית את השמירה במטמון של המטא-נתונים, מציינים את הערך 0. (זוהי ברירת המחדל) כדי להפעיל שמירת מטא-נתונים במטמון, צריך לציין ערך של מילול לציון מרווח בין 30 דקות ל-7 ימים. לדוגמה, כדי להגדיר את מרווח הזמן של הנתונים הלא עדכניים ל-4 שעות, מציינים |
null_marker |
המחרוזת שמייצגת ערכים של ההגדרה חלה על נתוני CSV. |
null_markers |
רשימת המחרוזות שמייצגות ערכים של אי אפשר להשתמש באפשרות הזו עם האפשרות ההגדרה חלה על נתוני CSV. |
object_metadata |
נדרש רק כשיוצרים טבלת אובייקטים. מגדירים את הערך של האפשרות הזו כ- |
preserve_ascii_control_characters |
אם ההגדרה חלה על נתוני CSV. |
projection_fields |
רשימה של מאפייני ישות לטעינה. ההגדרה חלה על נתונים ב-Datastore. |
quote |
המחרוזת שמשמשת לציטוט של קטעי נתונים בקובץ CSV. אם הנתונים שלכם מכילים תווי שורה חדשה שמוקפים במירכאות, צריך להגדיר את המאפיין ההגדרה חלה על נתוני CSV. |
reference_file_schema_uri |
קובץ עזר שסופק על ידי המשתמש עם סכימת הטבלה. רלוונטי לנתונים בפורמט Parquet/ORC/AVRO. דוגמה: |
require_hive_partition_filter |
אם ההגדרה הזו חלה על נתוני Avro, CSV, JSON, Parquet ו-ORC. |
sheet_range |
הטווח של גיליון אלקטרוני ב-Google Sheets שממנו רוצים לשלוף נתונים. המידע מתייחס לנתונים ב-Google Sheets. דוגמה: |
skip_leading_rows |
מספר השורות בחלק העליון של הקובץ שצריך לדלג עליהן כשקוראים את הנתונים. ההגדרה הזו חלה על נתונים ב-CSV וב-Google Sheets. |
source_column_match |
ההגדרה הזו קובעת את השיטה שבה המערכת משתמשת כדי להתאים בין העמודות שנטענו לבין הסכימה. אם לא מציינים ערך, ברירת המחדל מבוססת על האופן שבו הסכימה מסופקת. אם ההגדרה 'זיהוי אוטומטי' מופעלת, התנהגות ברירת המחדל היא התאמת עמודות לפי שם. אחרת, ברירת המחדל היא התאמה בין העמודות לפי המיקום שלהן. השינוי הזה נעשה כדי לשמור על תאימות לאחור. הערכים הנתמכים כוללים:
|
tags |
<ARRAY<STRUCT<STRING, STRING>>>
מערך של תגי IAM לטבלה, שמוצגים כצמדי מפתח/ערך. המפתח צריך להיות שם המפתח במרחב השמות, והערך צריך להיות השם המקוצר. |
time_zone |
אזור הזמן שמוגדר כברירת מחדל, שיחול כשמנתחים ערכים של חותמות זמן שלא הוגדר להם אזור זמן ספציפי. בודקים את השמות התקינים של אזורי הזמן. אם הערך הזה לא מופיע, המערכת מנתחת את ערכי חותמת הזמן ללא אזור זמן ספציפי באמצעות אזור הזמן שמוגדר כברירת מחדל UTC. ההגדרה חלה על נתוני CSV ו-JSON. |
date_format |
רכיבי פורמט
שמגדירים את הפורמט של ערכי התאריך בקובצי הקלט (לדוגמה, אם הערך הזה קיים, זהו הפורמט היחיד התואם של DATE. זיהוי אוטומטי של סכימה יקבע גם את סוג העמודה DATE על סמך הפורמט הזה במקום הפורמט הקיים. אם הערך הזה לא מופיע, המערכת מנתחת את שדה התאריך באמצעות פורמטים שמוגדרים כברירת מחדל. ההגדרה חלה על נתוני CSV ו-JSON. |
datetime_format |
רכיבי פורמט
שמגדירים את הפורמט של ערכי DATETIME בקובצי הקלט
(לדוגמה, אם הערך הזה קיים, זהו הפורמט היחיד התואם של DATETIME. זיהוי אוטומטי של סכימה יקבע גם את סוג העמודה DATETIME על סמך הפורמט הזה במקום הפורמט הקיים. אם הערך הזה לא מופיע, השדה DATETIME מנותח באמצעות פורמטים שמוגדרים כברירת מחדל. ההגדרה חלה על נתוני CSV ו-JSON. |
time_format |
רכיבי פורמט
שמגדירים את הפורמט של ערכי השעה בקובצי הקלט (לדוגמה, אם הערך הזה קיים, הפורמט הזה הוא הפורמט היחיד התואם של TIME. זיהוי אוטומטי של סכימה יקבע גם את סוג העמודה TIME על סמך הפורמט הזה במקום הפורמט הקיים. אם הערך הזה לא מופיע, השדה TIME מנותח באמצעות פורמטי ברירת המחדל. ההגדרה חלה על נתוני CSV ו-JSON. |
timestamp_format |
רכיבי פורמט
שמגדירים איך ערכי חותמת הזמן מפורמטים בקובצי הקלט
(לדוגמה, אם הערך הזה קיים, הפורמט הזה הוא פורמט חותמת הזמן התואם היחיד. זיהוי אוטומטי של סכימה יקבע גם את סוג העמודה TIMESTAMP על סמך הפורמט הזה במקום הפורמט הקיים. אם הערך הזה לא מופיע, השדה TIMESTAMP מנותח באמצעות פורמטים שמוגדרים כברירת מחדל. ההגדרה חלה על נתוני CSV ו-JSON. |
uris |
בטבלאות חיצוניות, כולל טבלאות אובייקטים, שאינן טבלאות Bigtable:
מערך של מזהי URI מוגדרים במלואם למיקומי הנתונים החיצוניים.
כל URI יכול להכיל כוכבית אחת ( בדוגמאות הבאות מוצגים ערכים חוקיים של
לטבלאות Bigtable:
כתובת ה-URI שמזהה את טבלת Bigtable שבה רוצים להשתמש כמקור נתונים. אפשר לציין רק URI אחד של Bigtable. דוגמה:
מידע נוסף על יצירת URI של Bigtable זמין במאמר בנושא אחזור ה-URI של Bigtable. |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מערך נתונים או מסווג אזור. לשאילתות עם מזהה מערך נתונים, צריכות להיות לכם הרשאות למערך הנתונים. כדי להריץ שאילתות עם מסנן אזור, צריך הרשאות בפרויקט. מידע נוסף מופיע במאמר בנושא תחביר. בטבלה הבאה מוסברות רמות הפירוט של האזור והמשאבים בתצוגה הזו:
| שם התצוגה | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_OPTIONS |
ברמת הפרויקט | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
רמת מערך הנתונים | מיקום מערך הנתונים |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`. -
DATASET_ID: המזהה של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מאפיין מסנן של מערך נתונים.
דוגמה
דוגמה 1:
בדוגמה הבאה מאחזרים את זמני התפוגה של טבלאות ברירת המחדל לכל הטבלאות ב-mydataset בפרויקט ברירת המחדל (myproject) על ידי שאילתה של התצוגה INFORMATION_SCHEMA.TABLE_OPTIONS.
כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא: `project_id`.dataset.INFORMATION_SCHEMA.view. לדוגמה: `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
התוצאה אמורה להיראות כך:
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | 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" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
דוגמה 2:
בדוגמה הבאה מאחזרים מטא-נתונים על כל הטבלאות ב-mydataset שמכילות נתוני בדיקה. השאילתה משתמשת בערכים באפשרות description כדי למצוא טבלאות שמכילות את המחרוזת 'test' בכל מקום בתיאור. mydataset נמצא בפרויקט ברירת המחדל שלכם – myproject.
כדי להריץ את השאילתה בפרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא:
`project_id`.dataset.INFORMATION_SCHEMA.view;
לדוגמה:
`myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
התוצאה אמורה להיראות כך:
+----------------+---------------+------------+-------------+-------------+--------------+ | 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" | +----------------+---------------+------------+-------------+-------------+--------------+