MCP Tools Reference: bigquery.googleapis.com

כלי: get_table_info

קבלת מידע על מטא-נתונים של טבלה ב-BigQuery.

בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להפעיל את כלי ה-MCP‏ get_table_info.

בקשת Curl
                  
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
}'
                

סכימת הקלט

בקשה להזמנת שולחן.

GetTableRequest

ייצוג ב-JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string
}
שדות
projectId

string

חובה. מזהה הפרויקט של בקשת הטבלה.

datasetId

string

חובה. מזהה מערך הנתונים של בקשת הטבלה.

tableId

string

חובה. מזהה הטבלה של בקשת הטבלה.

סכימת פלט

טבלה

ייצוג ב-JSON
{
  "kind": string,
  "etag": string,
  "id": string,
  "selfLink": string,
  "tableReference": {
    object (TableReference)
  },
  "friendlyName": string,
  "description": string,
  "labels": {
    string: string,
    ...
  },
  "schema": {
    object (TableSchema)
  },
  "timePartitioning": {
    object (TimePartitioning)
  },
  "rangePartitioning": {
    object (RangePartitioning)
  },
  "clustering": {
    object (Clustering)
  },
  "requirePartitionFilter": boolean,
  "numBytes": string,
  "numPhysicalBytes": string,
  "numLongTermBytes": string,
  "numRows": string,
  "creationTime": string,
  "expirationTime": string,
  "lastModifiedTime": string,
  "type": string,
  "view": {
    object (ViewDefinition)
  },
  "materializedView": {
    object (MaterializedViewDefinition)
  },
  "materializedViewStatus": {
    object (MaterializedViewStatus)
  },
  "externalDataConfiguration": {
    object (ExternalDataConfiguration)
  },
  "biglakeConfiguration": {
    object (BigLakeConfiguration)
  },
  "managedTableType": enum (ManagedTableType),
  "location": string,
  "streamingBuffer": {
    object (Streamingbuffer)
  },
  "encryptionConfiguration": {
    object (EncryptionConfiguration)
  },
  "snapshotDefinition": {
    object (SnapshotDefinition)
  },
  "defaultCollation": string,
  "defaultRoundingMode": enum (RoundingMode),
  "cloneDefinition": {
    object (CloneDefinition)
  },
  "numTimeTravelPhysicalBytes": string,
  "numTotalLogicalBytes": string,
  "numActiveLogicalBytes": string,
  "numLongTermLogicalBytes": string,
  "numCurrentPhysicalBytes": string,
  "numTotalPhysicalBytes": string,
  "numActivePhysicalBytes": string,
  "numLongTermPhysicalBytes": string,
  "numPartitions": string,
  "maxStaleness": string,
  "restrictions": {
    object (RestrictionConfig)
  },
  "tableConstraints": {
    object (TableConstraints)
  },
  "resourceTags": {
    string: string,
    ...
  },
  "tableReplicationInfo": {
    object (TableReplicationInfo)
  },
  "replicas": [
    {
      object (TableReference)
    }
  ],
  "externalCatalogTableOptions": {
    object (ExternalCatalogTableOptions)
  },

  // Union field _partition_definition can be only one of the following:
  "partitionDefinition": {
    object (PartitioningDefinition)
  }
  // End of list of possible types for union field _partition_definition.
}
שדות
kind

string

סוג מזהה המשאב.

etag

string

פלט בלבד. גיבוב של המשאב הזה.

id

string

פלט בלבד. מזהה אטום שמזהה באופן ייחודי את הטבלה.

selfLink

string

פלט בלבד. כתובת URL שאפשר להשתמש בה כדי לגשת שוב למשאב הזה.

tableReference

object (TableReference)

חובה. הפניה שמתארת את המזהה של הטבלה הזו.

friendlyName

string

זה שינוי אופציונלי. שם תיאורי לטבלה.

description

string

זה שינוי אופציונלי. תיאור ידידותי למשתמש של הטבלה הזו.

labels

map (key: string, value: string)

התוויות שמשויכות לטבלה הזו. אפשר להשתמש בהם כדי לארגן ולקבץ את הטבלאות. המפתחות והערכים של התוויות יכולים להכיל עד 63 תווים, שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. הוספת ערכים לתוויות היא אופציונלית. המפתחות של התוויות צריכים להתחיל באות, ולכל תווית ברשימה צריך להיות מפתח שונה.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

schema

object (TableSchema)

זה שינוי אופציונלי. מתאר את הסכימה של הטבלה הזו.

timePartitioning

object (TimePartitioning)

אם מציינים את הפרמטר הזה, המערכת מגדירה חלוקה למחיצות לפי זמן עבור הטבלה הזו.

rangePartitioning

object (RangePartitioning)

אם מציינים, מגדירים את חלוקה למחיצות (partitioning) של הטבלה הזו.

clustering

object (Clustering)

מפרט האשכולות של הטבלה. חובה לציין את האפשרות הזו כשמבצעים חלוקה למחיצות לפי זמן. הנתונים בטבלה יחולקו למחיצות ואז יקובצו לאשכולות.

requirePartitionFilter

boolean

זה שינוי אופציונלי. אם הערך הוא true, צריך לציין מסנן מחיצות שאפשר להשתמש בו כדי לבטל מחיצות בשאילתות על הטבלה הזו.

numBytes

string (Int64Value format)

פלט בלבד. הגודל של הטבלה הזו בבייטים לוגיים, לא כולל נתונים במאגר הזמני של הסטרימינג.

numPhysicalBytes

string (Int64Value format)

פלט בלבד. הגודל הפיזי של הטבלה בבייטים. זה כולל את האחסון שמשמש לשימוש בתכונה 'חזרה בזמן'.

numLongTermBytes

string (Int64Value format)

פלט בלבד. מספר הבייטים הלוגיים בטבלה שנחשבים 'אחסון לטווח ארוך'.

numRows

string (UInt64Value format)

פלט בלבד. מספר השורות של הנתונים בטבלה הזו, לא כולל נתונים במאגר הזמני של הסטרימינג.

creationTime

string (int64 format)

פלט בלבד. הזמן שבו הטבלה הזו נוצרה, באלפיות השנייה מאז ראשית הזמן.

expirationTime

string (Int64Value format)

זה שינוי אופציונלי. הזמן שבו תוקף הטבלה יפוג, באלפיות השנייה מאז ראשית הזמן. אם לא מציינים תאריך סיום, הטבלה תישאר ללא הגבלת זמן. טבלאות שתוקפן פג יימחקו ונפח האחסון שלהן יוחזר. אפשר להשתמש במאפיין defaultTableExpirationMs של מערך הנתונים המכיל כדי להגדיר expirationTime כברירת מחדל בטבלאות שנוצרות.

lastModifiedTime

string (uint64 format)

פלט בלבד. הזמן שבו הטבלה הזו שונתה לאחרונה, במילישניות מאז ראשית התקופה.

type

string

פלט בלבד. תיאור של סוג הטבלה. יש תמיכה בערכים הבאים:

  • TABLE: טבלה רגילה ב-BigQuery.
  • VIEW: טבלה וירטואלית שמוגדרת על ידי שאילתת SQL.
  • EXTERNAL: טבלה שמפנה לנתונים שמאוחסנים במערכת אחסון חיצונית, כמו Google Cloud Storage.
  • MATERIALIZED_VIEW: תצוגה מחושבת מראש שמוגדרת על ידי שאילתת SQL.
  • SNAPSHOT: טבלה ב-BigQuery שלא ניתן לשנות, ששומרת את התוכן של טבלת בסיס בזמן מסוים. מידע נוסף על תמונות מצב של טבלאות

ערך ברירת המחדל הוא TABLE.

view

object (ViewDefinition)

זה שינוי אופציונלי. הגדרת התצוגה.

materializedView

object (MaterializedViewDefinition)

זה שינוי אופציונלי. ההגדרה של התצוגה המהותית.

materializedViewStatus

object (MaterializedViewStatus)

פלט בלבד. הסטטוס של התצוגה המהותית.

externalDataConfiguration

object (ExternalDataConfiguration)

זה שינוי אופציונלי. תיאור של פורמט הנתונים, המיקום ומאפיינים אחרים של טבלה שמאוחסנת מחוץ ל-BigQuery. אחרי שמגדירים את המאפיינים האלה, אפשר להריץ שאילתות על מקור הנתונים כאילו הוא היה טבלה ב-BigQuery.

biglakeConfiguration

object (BigLakeConfiguration)

זה שינוי אופציונלי. מציינת את ההגדרה של טבלה ב-BigQuery עבור Apache Iceberg.

managedTableType

enum (ManagedTableType)

זה שינוי אופציונלי. אם היא מוגדרת, היא מבטלת את סוג הטבלה המנוהלת שמוגדר כברירת מחדל במערך הנתונים.

location

string

פלט בלבד. המיקום הגיאוגרפי שבו נמצאת הטבלה. הערך הזה עובר בירושה ממערך הנתונים.

streamingBuffer

object (Streamingbuffer)

פלט בלבד. השדה הזה מכיל מידע על מאגר הנתונים הזמני של הסטרימינג של הטבלה הזו, אם יש כזה. השדה הזה לא יופיע אם הטבלה לא מועברת בסטרימינג או אם אין נתונים במאגר הזמני של הסטרימינג.

encryptionConfiguration

object (EncryptionConfiguration)

הגדרת הצפנה בהתאמה אישית (למשל, מפתחות Cloud KMS).

snapshotDefinition

object (SnapshotDefinition)

פלט בלבד. מכיל מידע על תמונת המצב. הערך הזה מוגדר באמצעות יצירת תמונת מצב.

defaultCollation

string

זה שינוי אופציונלי. הגדרת ברירת המחדל של כללי השוואה (collation) של שדות STRING חדשים בטבלה. במהלך יצירה או עדכון של טבלה, אם מוסיפים לטבלה שדה STRING בלי לציין איסוף מפורש, הטבלה מקבלת בירושה את איסוף ברירת המחדל של הטבלה. שינוי בשדה הזה משפיע רק על שדות שנוספו אחריו, ולא משנה את השדות הקיימים. יש תמיכה בערכים הבאים:

  • ‫‎'und:ci': לוקאל לא מוגדר, לא תלוי רישיות.
  • ‫'': מחרוזת ריקה. ברירת המחדל היא התנהגות תלוית אותיות רישיות.
defaultRoundingMode

enum (RoundingMode)

זה שינוי אופציונלי. הגדרה של ברירת המחדל של מצב העיגול של שדות עשרוניים חדשים (NUMERIC או BIGNUMERIC) בטבלה. במהלך יצירה או עדכון של טבלה, אם מוסיפים לטבלה שדה עשרוני בלי לציין מצב עיגול מפורש, השדה מקבל בירושה את מצב העיגול שמוגדר כברירת המחדל של הטבלה. שינוי השדה הזה לא משפיע על שדות קיימים.

cloneDefinition

object (CloneDefinition)

פלט בלבד. מכיל מידע על השיבוט. הערך הזה מוגדר באמצעות פעולת השיבוט.

numTimeTravelPhysicalBytes

string (Int64Value format)

פלט בלבד. מספר הבייטים הפיזיים שמשמשים לאחסון של נתונים שנמחקו או שונו (time travel). הנתונים האלה לא מתעדכנים בזמן אמת, ויכול להיות שיהיה עיכוב של כמה שניות עד כמה דקות.

numTotalLogicalBytes

string (Int64Value format)

פלט בלבד. המספר הכולל של בייטים לוגיים בטבלה או בתצוגה חומרית.

numActiveLogicalBytes

string (Int64Value format)

פלט בלבד. מספר הבייטים הלוגיים שנוצרו לפני פחות מ-90 יום.

numLongTermLogicalBytes

string (Int64Value format)

פלט בלבד. מספר הבייטים הלוגיים שנוצרו לפני יותר מ-90 ימים.

numCurrentPhysicalBytes

string (Int64Value format)

פלט בלבד. מספר הבייטים הפיזיים שמשמשים לאחסון של נתונים פעילים. הנתונים האלה לא מתעדכנים בזמן אמת, ויכול להיות שיהיה עיכוב של כמה שניות עד כמה דקות.

numTotalPhysicalBytes

string (Int64Value format)

פלט בלבד. הגודל הפיזי של הטבלה בבייטים. הנפח הזה כולל גם את האחסון שמשמש לשימוש בתכונה 'חזרה בזמן'. הנתונים האלה לא מתעדכנים בזמן אמת, ויכול להיות שיהיה עיכוב של כמה שניות עד כמה דקות.

numActivePhysicalBytes

string (Int64Value format)

פלט בלבד. מספר הבייטים הפיזיים שנוצרו לפני פחות מ-90 יום. הנתונים האלה לא מתעדכנים בזמן אמת, ויכול להיות שיהיה עיכוב של כמה שניות עד כמה דקות.

numLongTermPhysicalBytes

string (Int64Value format)

פלט בלבד. מספר הבייטים הפיזיים שעברו יותר מ-90 ימים מאז שנוצרו. הנתונים האלה לא מתעדכנים בזמן אמת, ויכול להיות שיהיה עיכוב של כמה שניות עד כמה דקות.

numPartitions

string (Int64Value format)

פלט בלבד. מספר המחיצות שקיימות בטבלה או בתצוגה החומרית. הנתונים האלה לא מתעדכנים בזמן אמת, ויכול להיות שיהיה עיכוב של כמה שניות עד כמה דקות.

maxStaleness

string

זה שינוי אופציונלי. הזמן המקסימלי שעבר מאז שהנתונים עודכנו, שיכול להיות שיוחזרו כשמבצעים שאילתה בטבלה (או בתצוגה חומרית לא עדכנית). הנתונים המיושנים מקודדים כמחרוזת של סוג sql IntervalValue.

restrictions

object (RestrictionConfig)

זה שינוי אופציונלי. פלט בלבד. הגדרת הגבלה לטבלה. אם ההגדרה מוגדרת, הגישה לטבלה מוגבלת בהתאם להגדרה. פרטים נוספים מופיעים במאמר בנושא העברת נתונים יוצאים.

tableConstraints

object (TableConstraints)

זה שינוי אופציונלי. פרטי מפתח ראשי ומפתח זר בטבלאות

resourceTags

map (key: string, value: string)

זה שינוי אופציונלי. התגים שמצורפים לטבלה הזו. מפתחות התגים הם ייחודיים באופן גלובלי. מפתח התג צריך להיות בפורמט של מרחב שמות, לדוגמה: 123456789012/environment, כאשר 123456789012 הוא המזהה של משאב הארגון או הפרויקט ברמת ההורה של מפתח התג הזה. ערך התג צריך להיות השם המקוצר, לדוגמה Production. פרטים נוספים מופיעים במאמר בנושא הגדרות תגים.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tableReplicationInfo

object (TableReplicationInfo)

זה שינוי אופציונלי. פרטי שכפול הטבלה עבור טבלה שנוצרה AS REPLICA DDL כמו: CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv

replicas[]

object (TableReference)

זה שינוי אופציונלי. פלט בלבד. הפניות לטבלה של כל העותקים הפעילים כרגע בטבלה.

externalCatalogTableOptions

object (ExternalCatalogTableOptions)

זה שינוי אופציונלי. אפשרויות להגדרת טבלה שתואמת לקוד פתוח.

שדה איחוד _partition_definition.

הערך _partition_definition יכול להיות רק אחד מהבאים:

partitionDefinition

object (PartitioningDefinition)

זה שינוי אופציונלי. פרטי המחיצות לכל פורמט הטבלה, כולל טבלאות מנוהלות מחולקות למחיצות, טבלאות Hive מחולקות למחיצות, טבלאות Iceberg מחולקות למחיצות וטבלאות מחולקות למחיצות במאגר המטא-נתונים. השדה הזה מאוכלס רק בטבלאות מחולקות של מאגר מטא-נתונים. בפורמטים אחרים של טבלאות, זהו שדה פלט בלבד.

TableReference

ייצוג ב-JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string
}
שדות
projectId

string

חובה. מזהה הפרויקט שמכיל את הטבלה הזו.

datasetId

string

חובה. המזהה של קבוצת הנתונים שמכילה את הטבלה הזו.

tableId

string

חובה. המזהה של הטבלה. המזהה יכול להכיל תווים ב-Unicode בקטגוריות L (אות), M (סימן), N (מספר), Pc (מחבר, כולל קו תחתון), Pd (מקף) ו-Zs (רווח). מידע נוסף זמין במאמר בנושא קטגוריה כללית. האורך המקסימלי הוא 1,024 תווים. פעולות מסוימות מאפשרות להוסיף למזהה הטבלה סיומת של קישוט מחיצה, כמו sample_table$20190123.

StringValue

ייצוג ב-JSON
{
  "value": string
}
שדות
value

string

ערך המחרוזת.

LabelsEntry

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

TableSchema

ייצוג ב-JSON
{
  "fields": [
    {
      object (TableFieldSchema)
    }
  ],
  "foreignTypeInfo": {
    object (ForeignTypeInfo)
  }
}
שדות
fields[]

object (TableFieldSchema)

תיאור השדות בטבלה.

foreignTypeInfo

object (ForeignTypeInfo)

זה שינוי אופציונלי. מציין מטא-נתונים של הגדרת סוג הנתונים החיצוני בסכימת השדה (TableFieldSchema.foreign_type_definition).

TableFieldSchema

ייצוג ב-JSON
{
  "name": string,
  "type": string,
  "mode": string,
  "fields": [
    {
      object (TableFieldSchema)
    }
  ],
  "description": string,
  "policyTags": {
    object (PolicyTagList)
  },
  "dataPolicies": [
    {
      object (DataPolicyOption)
    }
  ],
  "maxLength": string,
  "precision": string,
  "scale": string,
  "timestampPrecision": string,
  "roundingMode": enum (RoundingMode),
  "collation": string,
  "defaultValueExpression": string,
  "rangeElementType": {
    object (FieldElementType)
  },
  "foreignTypeDefinition": string
}
שדות
name

string

חובה. שם השדה. השם חייב להכיל רק אותיות (a-z,‏ A-Z), מספרים (0-9) או קווים תחתונים (_), והוא חייב להתחיל באות או בקו תחתון. האורך המקסימלי הוא 300 תווים.

type

string

חובה. סוג הנתונים של השדה. הערכים האפשריים כוללים:

  • מחרוזת
  • BYTES
  • מספר שלם (או INT64)
  • מספר ממשי (FLOAT) (או FLOAT64)
  • בוליאני (או BOOL)
  • TIMESTAMP
  • תאריך
  • שעות
  • DATETIME
  • GEOGRAPHY
  • NUMERIC
  • BIGNUMERIC
  • JSON
  • רשומה (או STRUCT)
  • RANGE

השימוש ב-RECORD/STRUCT מציין שהשדה מכיל סכימה מקוננת.

mode

string

זה שינוי אופציונלי. השדה mode. הערכים האפשריים הם NULLABLE, ‏ REQUIRED ו-REPEATED. ערך ברירת המחדל הוא NULLABLE.

fields[]

object (TableFieldSchema)

זה שינוי אופציונלי. מתאר את השדות של הסכימה המקוננת אם מאפיין הסוג מוגדר כ-RECORD.

description

string

זה שינוי אופציונלי. תיאור השדה. האורך המקסימלי הוא 1,024 תווים.

policyTags

object (PolicyTagList)

זה שינוי אופציונלי. תגי המדיניות שמצורפים לשדה הזה, שמשמשים לבקרת גישה ברמת השדה. אם לא מוגדר, ברירת המחדל היא policy_tags ריקים.

dataPolicies[]

object (DataPolicyOption)

זה שינוי אופציונלי. כללי מדיניות לגבי נתונים שמצורפים לשדה הזה, ומשמשים לבקרת גישה ברמת השדה.

maxLength

string (int64 format)

זה שינוי אופציונלי. האורך המקסימלי של הערכים בשדה הזה עבור מחרוזות או בייטים.

אם לא מציינים את max_length, לא מוטלת על השדה הזה מגבלת אורך מקסימלית.

אם type = "STRING", ‏ max_length מייצג את האורך המקסימלי של מחרוזות בקידוד UTF-8 בשדה הזה.

אם type = "BYTES", ‏ max_length מייצג את מספר הבייטים המקסימלי בשדה הזה.

אסור להגדיר את השדה הזה אם הערך של type הוא לא STRING ולא BYTES.

precision

string (int64 format)

זה שינוי אופציונלי. אילוצים של דיוק (מספר הספרות המקסימלי הכולל בבסיס 10) וקנה מידה (מספר הספרות המקסימלי בחלק השברי בבסיס 10) לערכים של השדה הזה עבור NUMERIC או BIGNUMERIC.

אי אפשר להגדיר דיוק או קנה מידה אם type ≠ "NUMERIC" ו-≠ "BIGNUMERIC".

אם לא מציינים את הדיוק והקנה מידה, לא מוטל על השדה הזה אילוץ של טווח ערכים, כל עוד הערכים מותרים לפי הסוג.

הערכים בשדה NUMERIC או BIGNUMERIC חייבים להיות בטווח הזה כאשר:

  • הדיוק (P) והקנה מידה (S) מוגדרים: [-10P-S + 10-S, 10P-S - 10-S]
  • הארגומנט precision (P) צוין אבל לא הארגומנט scale (ולכן הארגומנט scale מפורש כשווי ערך לאפס): [‎-10P + 1, 10P - 1].

ערכים קבילים לדיוק ולסולם אם שניהם מצוינים:

  • אם type = "NUMERIC": 1 ≤ precision - scale ≤ 29 and 0 ≤ scale ≤ 9.
  • אם type = "BIGNUMERIC": ‏ 1 ≤ precision - scale ≤ 38 ו-0 ≤ scale ≤ 38.

ערכים קבילים לדיוק אם מציינים רק דיוק ולא קנה מידה (ולכן קנה המידה מפורש כשווי ערך לאפס):

  • אם type = "NUMERIC": ‏ 1 ≤ precision ≤ 29.
  • אם type = "BIGNUMERIC": ‏ 1 ≤ precision ≤ 38.

אם מציינים את קנה המידה אבל לא את הדיוק, הערך לא תקין.

scale

string (int64 format)

זה שינוי אופציונלי. לקבלת פרטים, אפשר לעיין במסמכי התיעוד.

timestampPrecision

string (Int64Value format)

זה שינוי אופציונלי. הדיוק (מספר הספרות הכולל המקסימלי בבסיס 10) של שניות מסוג TIMESTAMP.

הערכים האפשריים כוללים: * 6 (ברירת מחדל, לסוג TIMESTAMP עם דיוק של מיקרו-שנייה) * 12 (לסוג TIMESTAMP עם דיוק של פיקו-שנייה)

roundingMode

enum (RoundingMode)

זה שינוי אופציונלי. מציין את אופן העיגול שיש להשתמש בו כשמאחסנים ערכים מסוג NUMERIC ו-BIGNUMERIC.

collation

string

זה שינוי אופציונלי. אפשר להגדיר איסוף שדות רק אם סוג השדה הוא STRING. יש תמיכה בערכים הבאים:

  • ‫‎'und:ci': לוקאל לא מוגדר, לא תלוי רישיות.
  • ‫'': מחרוזת ריקה. ברירת המחדל היא התנהגות תלוית אותיות רישיות.
defaultValueExpression

string

זה שינוי אופציונלי. ביטוי SQL שמציין את ערך ברירת המחדל של השדה הזה.

rangeElementType

object (FieldElementType)

זה שינוי אופציונלי. סוג המשנה של הטווח, אם הסוג של השדה הזה הוא RANGE. אם הסוג הוא RANGE, חובה למלא את השדה הזה. הערכים של סוג רכיב השדה יכולים להיות:

  • תאריך
  • DATETIME
  • TIMESTAMP
foreignTypeDefinition

string

זה שינוי אופציונלי. ההגדרה של סוג הנתונים החיצוני. ההגדרה הזו תקפה רק לשדות סכימה ברמה העליונה (לא לשדות מוטמעים). אם הסוג הוא FOREIGN (זר), חובה למלא את השדה הזה.

PolicyTagList

ייצוג ב-JSON
{
  "names": [
    string
  ]
}
שדות
names[]

string

רשימה של שמות משאבים של תגי מדיניות. לדוגמה, "projects/1/locations/eu/taxonomies/2/policyTags/3". נכון לעכשיו, מותר להשתמש בתג מדיניות אחד לכל היותר.

DataPolicyOption

ייצוג ב-JSON
{

  // Union field _name can be only one of the following:
  "name": string
  // End of list of possible types for union field _name.
}
שדות

שדה איחוד _name.

הערך _name יכול להיות רק אחד מהבאים:

name

string

שם המשאב של מדיניות הנתונים בפורמט projects/project_id/locations/location_id/dataPolicies/data_policy_id.

Int64Value

ייצוג ב-JSON
{
  "value": string
}
שדות
value

string (int64 format)

הערך int64.

FieldElementType

ייצוג ב-JSON
{
  "type": string
}
שדות
type

string

חובה. הסוג של רכיב שדה. מידע נוסף זמין במאמר TableFieldSchema.type.

ForeignTypeInfo

ייצוג ב-JSON
{
  "typeSystem": enum (TypeSystem)
}
שדות
typeSystem

enum (TypeSystem)

חובה. מציין את המערכת שמגדירה את סוג הנתונים החיצוני.

TimePartitioning

ייצוג ב-JSON
{
  "type": string,
  "expirationMs": string,
  "field": string,
  "requirePartitionFilter": boolean
}
שדות
type

string

חובה. הסוגים הנתמכים הם DAY,‏ HOUR,‏ MONTH ו-YEAR, שיצרו מחיצה אחת לכל יום, שעה, חודש ושנה, בהתאמה.

expirationMs

string (Int64Value format)

זה שינוי אופציונלי. מספר אלפיות השנייה שבהן האחסון יישמר עבור מחיצה. נעשה כאן שימוש בפונקציית wrapper כי 0 הוא ערך לא תקין.

field

string

זה שינוי אופציונלי. אם לא מוגדר, הטבלה מחולקת למחיצות לפי פסאודו-עמודה '_PARTITIONTIME'; אם מוגדר, הטבלה מחולקת למחיצות לפי השדה הזה. השדה חייב להיות שדה TIMESTAMP או DATE ברמה העליונה. המצב שלו חייב להיות NULLABLE או REQUIRED. השתמשנו כאן ב-wrapper כי מחרוזת ריקה היא ערך לא תקין.

requirePartitionFilter
(deprecated)

boolean

אם הערך הוא true, צריך לציין מסנן מחיצות שאפשר להשתמש בו כדי לבטל מחיצות בשאילתות על הטבלה הזו. השדה הזה הוצא משימוש. במקום זאת, צריך להגדיר את השדה עם אותו שם בטבלה עצמה. השדה הזה צריך wrapper כי אנחנו רוצים להציג את ערך ברירת המחדל, false, אם המשתמש הגדיר אותו באופן מפורש.

BoolValue

ייצוג ב-JSON
{
  "value": boolean
}
שדות
value

boolean

הערך הבוליאני.

RangePartitioning

ייצוג ב-JSON
{
  "field": string,
  "range": {
    object (Range)
  }
}
שדות
field

string

חובה. השם של העמודה שלפיה יחולק הטבלה למחיצות. היא חייבת להיות עמודה ברמה העליונה, מסוג INT64, שהמצב שלה הוא NULLABLE או REQUIRED.

range

object (Range)

הגדרת הטווחים לחלוקה למחיצות לפי טווח.

טווח

ייצוג ב-JSON
{
  "start": string,
  "end": string,
  "interval": string
}
שדות
start

string

חובה. תחילת חלוקת הטווח, כולל. השדה הזה הוא ערך INT64 שמיוצג כמחרוזת.

end

string

חובה. סוף חלוקת הטווח, לא כולל. השדה הזה הוא ערך INT64 שמיוצג כמחרוזת.

interval

string

חובה. הרוחב של כל מרווח. השדה הזה הוא ערך INT64 שמיוצג כמחרוזת.

סידור באשכולות

ייצוג ב-JSON
{
  "fields": [
    string
  ]
}
שדות
fields[]

string

שדה אחד או יותר שעל פיו יתבצע האשכול. יש תמיכה רק בשדות ברמה העליונה, שאינם חוזרים ושמכילים סוג פשוט. סדר השדות של האשכולות צריך להיות לפי סדר העדיפות, מהחשוב ביותר לפילטור ועד לפחות חשוב.

מידע נוסף זמין במאמר מבוא לטבלאות מקובצות.

PartitioningDefinition

ייצוג ב-JSON
{
  "partitionedColumn": [
    {
      object (PartitionedColumn)
    }
  ]
}
שדות
partitionedColumn[]

object (PartitionedColumn)

זה שינוי אופציונלי. פרטים על כל עמודת חלוקה למחיצות. השדה הזה הוא פלט רק לכל סוגי החלוקה למחיצות, חוץ מטבלאות מחולקות למחיצות ב-Metastore. טבלאות מקוריות ב-BigQuery תומכות רק בעמודה אחת של חלוקה למחיצות. יכול להיות שבסוגי טבלאות אחרים יש תמיכה ב-0, ב-1 או ביותר עמודות חלוקה. בטבלאות מחולקות של metastore, הסדר צריך להיות זהה לסדר ההגדרה ב-Hive Metastore, שבו הוא צריך להיות זהה לפריסה הפיזית של הטבלה. לדוגמה,

CREATE TABLE a_table(id BIGINT, name STRING) PARTITIONED BY (city STRING, state STRING).

במקרה כזה, הערכים צריכים להיות ['city', 'state'] בסדר הזה.

PartitionedColumn

ייצוג ב-JSON
{

  // Union field _field can be only one of the following:
  "field": string
  // End of list of possible types for union field _field.
}
שדות

שדה איחוד _field.

הערך _field יכול להיות רק אחד מהבאים:

field

string

חובה. השם של עמודת החלוקה.

UInt64Value

ייצוג ב-JSON
{
  "value": string
}
שדות
value

string

הערך uint64.

ViewDefinition

ייצוג ב-JSON
{
  "query": string,
  "userDefinedFunctionResources": [
    {
      object (UserDefinedFunctionResource)
    }
  ],
  "useLegacySql": boolean,
  "useExplicitColumnNames": boolean,
  "privacyPolicy": {
    object (PrivacyPolicy)
  },
  "foreignDefinitions": [
    {
      object (ForeignViewDefinition)
    }
  ]
}
שדות
query

string

חובה. שאילתה ש-BigQuery מריץ כשמתייחסים לתצוגה.

userDefinedFunctionResources[]

object (UserDefinedFunctionResource)

תיאור של משאבי פונקציות בהגדרת המשתמש שנעשה בהם שימוש בשאילתה.

useLegacySql

boolean

מציינים אם להשתמש ב-SQL מדור קודם של BigQuery בתצוגה הזו. ערך ברירת המחדל הוא True. אם הערך הוא false, התצוגה משתמשת ב-GoogleSQL של BigQuery.

בשאילתות ובתצוגות שמפנות לתצוגה הזו צריך להשתמש באותו ערך של הדגל. נעשה כאן שימוש ב-wrapper כי ערך ברירת המחדל הוא True.

useExplicitColumnNames

boolean

הערך הוא True אם שמות העמודות צוינו באופן מפורש. לדוגמה, באמצעות התחביר 'CREATE VIEW v(c1, c2) AS ...‎'. אפשר להגדיר רק לתצוגות GoogleSQL.

privacyPolicy

object (PrivacyPolicy)

זה שינוי אופציונלי. מציין את מדיניות הפרטיות של התצוגה המפורטת.

foreignDefinitions[]

object (ForeignViewDefinition)

זה שינוי אופציונלי. ייצוגים של תצוגות ממדינות זרות.

UserDefinedFunctionResource

ייצוג ב-JSON
{
  "resourceUri": string,
  "inlineCode": string
}
שדות
resourceUri

string

[אחת מהאפשרויות] משאב קוד לטעינה מ-URI של Cloud Storage‏ (gs://bucket/path).

inlineCode

string

[Pick one] An inline resource that contains code for a user-defined function (UDF). אספקת משאב קוד מוטבע שקולה לאספקת URI לקובץ שמכיל את אותו קוד.

PrivacyPolicy

ייצוג ב-JSON
{

  // Union field privacy_policy can be only one of the following:
  "aggregationThresholdPolicy": {
    object (AggregationThresholdPolicy)
  },
  "differentialPrivacyPolicy": {
    object (DifferentialPrivacyPolicy)
  }
  // End of list of possible types for union field privacy_policy.

  // Union field _join_restriction_policy can be only one of the following:
  "joinRestrictionPolicy": {
    object (JoinRestrictionPolicy)
  }
  // End of list of possible types for union field _join_restriction_policy.
}
שדות
שדה איחוד privacy_policy. מדיניות הפרטיות שמשויכת למפרט הדרישות הזה. לכל אובייקט של מקור נתונים אפשר להגדיר רק שיטת פרטיות אחת. הערך privacy_policy יכול להיות רק אחד מהבאים:
aggregationThresholdPolicy

object (AggregationThresholdPolicy)

זה שינוי אופציונלי. מדיניות שמשמשת לספי איסוף נתונים.

differentialPrivacyPolicy

object (DifferentialPrivacyPolicy)

זה שינוי אופציונלי. המדיניות שמשמשת לפרטיות דיפרנציאלית.

שדה איחוד _join_restriction_policy.

הערך _join_restriction_policy יכול להיות רק אחד מהבאים:

joinRestrictionPolicy

object (JoinRestrictionPolicy)

זה שינוי אופציונלי. מדיניות הגבלת ההצטרפות לא נכללת באחת מהמדיניות, כי אפשר להגדיר את המדיניות הזו יחד עם מדיניות אחרת. המדיניות הזו מאפשרת לספקי נתונים לאכוף הצטרפות ל-join_allowed_columns כשמתבצעת שאילתה על נתונים מתצוגה שמוגנת על ידי פרטיות.

AggregationThresholdPolicy

ייצוג ב-JSON
{
  "privacyUnitColumns": [
    string
  ],

  // Union field _threshold can be only one of the following:
  "threshold": string
  // End of list of possible types for union field _threshold.
}
שדות
privacyUnitColumns[]

string

זה שינוי אופציונלי. העמודות של יחידת הפרטיות שמשויכות למדיניות הזו. בשלב הזה, אפשר להגדיר רק עמודה אחת לכל אובייקט של מקור נתונים (טבלה, תצוגה) כעמודה של יחידת פרטיות. השדה מיוצג כשדה חוזר במטא-נתונים כדי לאפשר הרחבה למספר עמודות בעתיד. אסור להשתמש בשדות כפולים או חוזרים במבנה. בשדות מקוננים, משתמשים בסימון נקודות ('outer.inner')

שדה איחוד _threshold.

הערך _threshold יכול להיות רק אחד מהבאים:

threshold

string (int64 format)

זה שינוי אופציונלי. הסף של המדיניות 'הסף לצבירת נתונים'.

DifferentialPrivacyPolicy

ייצוג ב-JSON
{

  // Union field _max_epsilon_per_query can be only one of the following:
  "maxEpsilonPerQuery": number
  // End of list of possible types for union field _max_epsilon_per_query.

  // Union field _delta_per_query can be only one of the following:
  "deltaPerQuery": number
  // End of list of possible types for union field _delta_per_query.

  // Union field _max_groups_contributed can be only one of the following:
  "maxGroupsContributed": string
  // End of list of possible types for union field _max_groups_contributed.

  // Union field _privacy_unit_column can be only one of the following:
  "privacyUnitColumn": string
  // End of list of possible types for union field _privacy_unit_column.

  // Union field _epsilon_budget can be only one of the following:
  "epsilonBudget": number
  // End of list of possible types for union field _epsilon_budget.

  // Union field _delta_budget can be only one of the following:
  "deltaBudget": number
  // End of list of possible types for union field _delta_budget.

  // Union field _epsilon_budget_remaining can be only one of the following:
  "epsilonBudgetRemaining": number
  // End of list of possible types for union field _epsilon_budget_remaining.

  // Union field _delta_budget_remaining can be only one of the following:
  "deltaBudgetRemaining": number
  // End of list of possible types for union field _delta_budget_remaining.
}
שדות

שדה איחוד _max_epsilon_per_query.

הערך _max_epsilon_per_query יכול להיות רק אחד מהבאים:

maxEpsilonPerQuery

number

זה שינוי אופציונלי. ערך האפסילון המקסימלי שאפשר להשתמש בו בשאילתה. אם המנוי מציין את אפסילון כפרמטר בשאילתת SELECT, הוא צריך להיות קטן מהערך הזה או שווה לו. הפרמטר אפסילון קובע את כמות הרעש שנוספת לקבוצות – ערך אפסילון גבוה יותר פירושו פחות רעש.

שדה איחוד _delta_per_query.

הערך _delta_per_query יכול להיות רק אחד מהבאים:

deltaPerQuery

number

זה שינוי אופציונלי. ערך הדלתא שמשמש לכל שאילתה. ‫Delta מייצג את ההסתברות ששורה כלשהי לא תהיה פרטית דיפרנציאלית ברמת אפסילון. מציין את הסיכון שקשור לחשיפת שורות מצטברות בתוצאה של שאילתה.

שדה איחוד _max_groups_contributed.

הערך _max_groups_contributed יכול להיות רק אחד מהבאים:

maxGroupsContributed

string (int64 format)

זה שינוי אופציונלי. הערך המקסימלי של קבוצות שמשמש לכל שאילתה. מייצג את המספר המקסימלי של קבוצות שכל ישות מוגנת יכולה לתרום להן. שינוי הערך הזה לא משפר את הפרטיות ולא פוגע בה. הערך הטוב ביותר לדיוק ולשימושיות תלוי בשאילתה ובנתונים.

שדה איחוד _privacy_unit_column.

הערך _privacy_unit_column יכול להיות רק אחד מהבאים:

privacyUnitColumn

string

זה שינוי אופציונלי. העמודה של יחידת הפרטיות שמשויכת למדיניות הזו. לכללי מדיניות בנושא פרטיות דיפרנציאלית יכולה להיות רק עמודה אחת של יחידת פרטיות לכל אובייקט של מקור נתונים (טבלה, תצוגה).

שדה איחוד _epsilon_budget.

הערך _epsilon_budget יכול להיות רק אחד מהבאים:

epsilonBudget

number

זה שינוי אופציונלי. מכסת האפסילון הכוללת לכל השאילתות שמופעלות על התצוגה שמוגנת על ידי פרטיות. כל שאילתה של מנוי שמופעלת על התצוגה הזו מחייבת את המנוי בסכום האפסילון שהוא מבקש בשאילתה. אם יש מספיק תקציב, המערכת תנסה להשלים את השאילתה של המנוי. יכול להיות שהיא עדיין תיכשל מסיבות אחרות, ובמקרה כזה החיוב יוחזר. אם התקציב לא מספיק, השאילתה נדחית. יכול להיות שיהיו כמה ניסיונות חיוב אם שאילתה אחת מפנה לכמה תצוגות. במקרה כזה, התקציב צריך להספיק לכל החיובים, אחרת השאילתה תידחה והחיובים יוחזרו כמיטב היכולת. לתקציב אין מדיניות רענון, ואפשר לעדכן אותו רק באמצעות ALTER VIEW או לעקוף אותו על ידי יצירת תצוגה חדשה שאפשר לשלוח לה שאילתות עם תקציב חדש.

שדה איחוד _delta_budget.

הערך _delta_budget יכול להיות רק אחד מהבאים:

deltaBudget

number

זה שינוי אופציונלי. התקציב הכולל של הדלתא לכל השאילתות שמופעלות על התצוגה שמוגנת על ידי פרטיות. כל שאילתה של מנוי ביחס לתצוגה הזו מחויבת בסכום הדלתא שהוגדר מראש על ידי התורם באמצעות השדה delta_per_query במדיניות הפרטיות. אם יש מספיק תקציב, המערכת תנסה להשלים את השאילתה של המנוי. יכול להיות שהיא עדיין תיכשל מסיבות אחרות, ובמקרה כזה החיוב יוחזר. אם התקציב לא מספיק, השאילתה נדחית. יכול להיות שיהיו כמה ניסיונות חיוב אם שאילתה אחת מפנה לכמה תצוגות. במקרה כזה, התקציב צריך להספיק לכל החיובים, אחרת השאילתה תידחה והחיובים יוחזרו כמיטב היכולת. לתקציב אין מדיניות רענון, ואפשר לעדכן אותו רק באמצעות ALTER VIEW או לעקוף אותו על ידי יצירת תצוגה חדשה שאפשר לשלוח לה שאילתות עם תקציב חדש.

שדה איחוד _epsilon_budget_remaining.

הערך _epsilon_budget_remaining יכול להיות רק אחד מהבאים:

epsilonBudgetRemaining

number

פלט בלבד. התקציב שנותר לאפסילון. אם התקציב מוצה, אי אפשר לשלוח יותר שאילתות. שימו לב שהתקציב של שאילתות שנמצאות בתהליך מנוכה לפני שהשאילתה מופעלת. אם השאילתה נכשלת או מבוטלת, התקציב מוחזר. במקרה כזה, סכום התקציב שנותר יכול לגדול.

שדה איחוד _delta_budget_remaining.

הערך _delta_budget_remaining יכול להיות רק אחד מהבאים:

deltaBudgetRemaining

number

פלט בלבד. ההפרש בין התקציב המקורי לבין התקציב שנותר. אם התקציב מוצה, אי אפשר לשלוח יותר שאילתות. שימו לב שהתקציב של שאילתות שנמצאות בתהליך מנוכה לפני שהשאילתה מופעלת. אם השאילתה נכשלת או מבוטלת, התקציב מוחזר. במקרה כזה, סכום התקציב שנותר יכול לגדול.

JoinRestrictionPolicy

ייצוג ב-JSON
{
  "joinAllowedColumns": [
    string
  ],

  // Union field _join_condition can be only one of the following:
  "joinCondition": enum (JoinCondition)
  // End of list of possible types for union field _join_condition.
}
שדות
joinAllowedColumns[]

string

זה שינוי אופציונלי. העמודות היחידות שאפשר לבצע בהן הצטרפות. חובה לציין את השדה הזה עבור join_conditions JOIN_ANY ו-JOIN_ALL, ואי אפשר להגדיר אותו עבור JOIN_BLOCKED.

שדה איחוד _join_condition.

הערך _join_condition יכול להיות רק אחד מהבאים:

joinCondition

enum (JoinCondition)

זה שינוי אופציונלי. מציין אם נדרש צירוף בשאילתות לתצוגה. ברירת המחדל היא JOIN_CONDITION_UNSPECIFIED.

ForeignViewDefinition

ייצוג ב-JSON
{
  "query": string,
  "dialect": string
}
שדות
query

string

חובה. השאילתה שמגדירה את התצוגה.

dialect

string

זה שינוי אופציונלי. מייצג את הניב של השאילתה.

MaterializedViewDefinition

ייצוג ב-JSON
{
  "query": string,
  "lastRefreshTime": string,
  "enableRefresh": boolean,
  "refreshIntervalMs": string,
  "allowNonIncrementalDefinition": boolean
}
שדות
query

string

חובה. שאילתה שהתוצאות שלה נשמרות.

lastRefreshTime

string (int64 format)

פלט בלבד. הזמן שבו התצוגה המהותית הזו רעננה לאחרונה, באלפיות השנייה מאז תקופת ה-Epoch.

enableRefresh

boolean

זה שינוי אופציונלי. הפעלת רענון אוטומטי של התצוגה החומרית כשהטבלה הבסיסית מתעדכנת. ערך ברירת המחדל הוא true.

refreshIntervalMs

string (UInt64Value format)

זה שינוי אופציונלי. התדירות המקסימלית שבה התצוגה החומרית הזו תתעדכן. ערך ברירת המחדל הוא 1,800,000 (30 דקות).

allowNonIncrementalDefinition

boolean

זה שינוי אופציונלי. האפשרות הזו מציינת את הכוונה ליצור תצוגה חומרית שלא מתעדכנת באופן מצטבר. תצוגות חומריות לא מצטברות תומכות במגוון רחב יותר של שאילתות SQL. אי אפשר לשנות את האפשרות allow_non_incremental_definition אחרי שיוצרים את התצוגה החומרית.

MaterializedViewStatus

ייצוג ב-JSON
{
  "refreshWatermark": string,
  "lastRefreshStatus": {
    object (ErrorProto)
  }
}
שדות
refreshWatermark

string (Timestamp format)

פלט בלבד. רענון סימן המים של תצוגה מהותית. הנתונים של טבלאות הבסיס נאספו במטמון של התצוגה החומרית עד למועד הזה.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

lastRefreshStatus

object (ErrorProto)

פלט בלבד. תוצאת השגיאה של הרענון האוטומטי האחרון. אם השדה הזה מופיע, המשמעות היא שהרענון האוטומטי האחרון נכשל.

חותמת הזמן

ייצוג ב-JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

מייצג את מספר השניות מאז ראשית זמן יוניקס (Unix epoch) ב-1 בינואר 1970 בשעה 00:00:00 UTC. הערך חייב להיות בין ‎-62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z).

nanos

integer

שברים לא שליליים של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של הננו-שניות במשך הזמן, ולא מהווה חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל.

ErrorProto

ייצוג ב-JSON
{
  "reason": string,
  "location": string,
  "debugInfo": string,
  "message": string
}
שדות
reason

string

קוד שגיאה קצר שמסכם את השגיאה.

location

string

מציין איפה השגיאה התרחשה, אם יש כזו.

debugInfo

string

מידע על תוצאות ניפוי הבאגים. המאפיין הזה הוא פנימי ל-Google ואין להשתמש בו.

message

string

תיאור השגיאה שכתוב בצורה שקריאה לאנשים.

ExternalDataConfiguration

ייצוג ב-JSON
{
  "sourceUris": [
    string
  ],
  "fileSetSpecType": enum (FileSetSpecType),
  "schema": {
    object (TableSchema)
  },
  "sourceFormat": string,
  "maxBadRecords": integer,
  "autodetect": boolean,
  "ignoreUnknownValues": boolean,
  "compression": string,
  "csvOptions": {
    object (CsvOptions)
  },
  "jsonOptions": {
    object (JsonOptions)
  },
  "bigtableOptions": {
    object (BigtableOptions)
  },
  "googleSheetsOptions": {
    object (GoogleSheetsOptions)
  },
  "hivePartitioningOptions": {
    object (HivePartitioningOptions)
  },
  "connectionId": string,
  "decimalTargetTypes": [
    enum (DecimalTargetType)
  ],
  "avroOptions": {
    object (AvroOptions)
  },
  "jsonExtension": enum (JsonExtension),
  "parquetOptions": {
    object (ParquetOptions)
  },
  "referenceFileSchemaUri": string,
  "metadataCacheMode": enum (MetadataCacheMode),
  "timestampTargetPrecision": [
    integer
  ],

  // Union field _object_metadata can be only one of the following:
  "objectMetadata": enum (ObjectMetadata)
  // End of list of possible types for union field _object_metadata.

  // Union field _time_zone can be only one of the following:
  "timeZone": string
  // End of list of possible types for union field _time_zone.

  // Union field _date_format can be only one of the following:
  "dateFormat": string
  // End of list of possible types for union field _date_format.

  // Union field _datetime_format can be only one of the following:
  "datetimeFormat": string
  // End of list of possible types for union field _datetime_format.

  // Union field _time_format can be only one of the following:
  "timeFormat": string
  // End of list of possible types for union field _time_format.

  // Union field _timestamp_format can be only one of the following:
  "timestampFormat": string
  // End of list of possible types for union field _timestamp_format.
}
שדות
sourceUris[]

string

‫[Required] כתובות ה-URI המלאות שמפנות לנתונים שלכם ב-Google Cloud. למזהי URI של Google Cloud Storage: כל מזהה URI יכול להכיל תו כללי אחד '*', והוא חייב להופיע אחרי שם ה-bucket. מגבלות הגודל שקשורות לעבודות טעינה חלות על מקורות נתונים חיצוניים. למזהי URI של Google Cloud Bigtable: אפשר לציין בדיוק מזהה URI אחד, והוא צריך להיות כתובת URL מלאה ותקינה של HTTPS לטבלה של Google Cloud Bigtable. לגיבויים של Google Cloud Datastore, אפשר לציין בדיוק URI אחד. בנוסף, אסור להשתמש בתו הכללי לחיפוש '*'.

fileSetSpecType

enum (FileSetSpecType)

זה שינוי אופציונלי. מציין איך מפרשים מזהי URI של מקורות כדי ליצור את קבוצת הקבצים לטעינה. כברירת מחדל, מזהי ה-URI של המקורות מורחבים ביחס לאחסון הבסיסי. אפשרות נוספת היא לציין קובצי מניפסט. רלוונטי רק למערכות אחסון אובייקטים.

schema

object (TableSchema)

זה שינוי אופציונלי. הסכימה של הנתונים. אם האפשרות 'זיהוי אוטומטי' לא מופעלת, חובה להשתמש בסכימה בפורמטים CSV ו-JSON. אסור להשתמש בסכימה בפורמטים Google Cloud Bigtable, ‏ Cloud Datastore backups, ‏ Avro, ‏ ORC ו-Parquet.

sourceFormat

string

[חובה] פורמט הנתונים. עבור קובצי CSV, מציינים CSV. בהעלאות דרך Google Sheets, מציינים את הערך GOOGLE_SHEETS. לפורמט JSON שמופרד בתו שורה חדשה, מציינים NEWLINE_DELIMITED_JSON. לקובצי Avro, מציינים 'AVRO'. לגיבויים של Google Cloud Datastore, מציינים DATASTORE_BACKUP. עבור טבלאות Apache Iceberg, מציינים ICEBERG. לקובצי ORC, מציינים ORC. עבור קובצי Parquet, מציינים PARQUET. ‫[Beta] ב-Google Cloud Bigtable, מציינים BIGTABLE.

maxBadRecords

integer

זה שינוי אופציונלי. המספר המקסימלי של רשומות פגומות ש-BigQuery יכול להתעלם מהן כשקוראים נתונים. אם מספר הרשומות הפגומות חורג מהערך הזה, הפונקציה מחזירה שגיאה לא תקינה בתוצאת העבודה. ערך ברירת המחדל הוא 0, כלומר כל הרשומות צריכות להיות תקינות. המערכת מתעלמת מההגדרה הזו בגיבויים של Google Cloud Bigtable, ‏ Google Cloud Datastore, ‏ Avro, ‏ ORC ו-Parquet.

autodetect

boolean

מנסה לזהות באופן אוטומטי את אפשרויות הסכימה והפורמט. כל אפשרות שצוינה באופן מפורש תכובד.

ignoreUnknownValues

boolean

זה שינוי אופציונלי. מציין אם BigQuery צריך לאפשר ערכים נוספים שלא מיוצגים בסכימת הטבלה. אם הערך הוא true, המערכת מתעלמת מהערכים המיותרים. אם הערך הוא false, רשומות עם עמודות נוספות נחשבות לרשומות פגומות, ואם יש יותר מדי רשומות פגומות, מוחזרת שגיאה לא תקינה בתוצאת העבודה. ערך ברירת המחדל הוא false. המאפיין sourceFormat קובע מה נחשב ב-BigQuery כערך נוסף: CSV: עמודות בסוף JSON: ערכים עם שמות שלא תואמים לשמות של עמודות Google Cloud Bigtable: ההגדרה הזו לא רלוונטית. גיבויים של Google Cloud Datastore: המערכת מתעלמת מההגדרה הזו. ‫Avro: המערכת מתעלמת מההגדרה הזו. ORC: המערכת מתעלמת מההגדרה הזו. ‫Parquet: המערכת מתעלמת מההגדרה הזו.

compression

string

זה שינוי אופציונלי. סוג הדחיסה של מקור הנתונים. הערכים האפשריים כוללים GZIP ו-NONE. ערך ברירת המחדל הוא NONE. המערכת מתעלמת מההגדרה הזו בגיבויים של Google Cloud Bigtable ו-Google Cloud Datastore, ובפורמטים Avro,‏ ORC ו-Parquet. מחרוזת ריקה היא ערך לא תקין.

csvOptions

object (CsvOptions)

זה שינוי אופציונלי. מאפיינים נוספים להגדרה אם sourceFormat מוגדר כ-CSV.

jsonOptions

object (JsonOptions)

זה שינוי אופציונלי. מאפיינים נוספים להגדרה אם sourceFormat מוגדר כ-JSON.

bigtableOptions

object (BigtableOptions)

זה שינוי אופציונלי. אפשרויות נוספות אם sourceFormat מוגדר ל-BIGTABLE.

googleSheetsOptions

object (GoogleSheetsOptions)

זה שינוי אופציונלי. אפשרויות נוספות אם sourceFormat מוגדר כ-GOOGLE_SHEETS.

hivePartitioningOptions

object (HivePartitioningOptions)

זה שינוי אופציונלי. כשמגדירים את ההגדרה הזו, היא קובעת את התמיכה בחלוקה למחיצות (partitioning) ב-Hive. לא כל פורמטי האחסון תומכים בחלוקה למחיצות של Hive. אם תבקשו חלוקה למחיצות של Hive בפורמט שלא נתמך, או אם תספקו הגדרה לא תקינה, תתקבל שגיאה.

connectionId

string

זה שינוי אופציונלי. החיבור שמציין את פרטי הכניסה שישמשו לקריאת אחסון חיצוני, כמו Azure Blob,‏ Cloud Storage או S3. ה-connection_id יכול להיות בפורמט {project_id}.{location_id};{connection_id} או projects/{project_id}/locations/{location_id}/connections/{connection_id}.

decimalTargetTypes[]

enum (DecimalTargetType)

הפונקציה מגדירה את רשימת סוגי הנתונים האפשריים של SQL שאליהם יומרו הערכים העשרוניים של המקור. הרשימה הזו, ופרמטרים של דיוק וקנה מידה של השדה העשרוני, קובעים את סוג היעד. הסוג נבחר לפי הסדר NUMERIC,‏ BIGNUMERIC ו-STRING, אם הוא מופיע ברשימה שצוינה ואם הוא תומך בדיוק ובקנה מידה. הסוג STRING תומך בכל ערכי הדיוק והקנה מידה. אם אף אחד מהסוגים שמופיעים ברשימה לא תומך בדיוק ובקנה המידה, המערכת בוחרת את הסוג שתומך בטווח הרחב ביותר ברשימה שצוינה. אם ערך חורג מהטווח הנתמך בזמן קריאת הנתונים, תוצג שגיאה.

דוגמה: נניח שהערך של השדה הזה הוא [‎"NUMERIC", "BIGNUMERIC"‎]. אם (precision,scale) הוא:

  • (38,9) -> NUMERIC;
  • ‫(39,9) -> BIGNUMERIC (NUMERIC לא יכול להכיל 30 ספרות של מספרים שלמים);
  • ‫(38,10) -> BIGNUMERIC (NUMERIC לא יכול להכיל 10 ספרות אחרי הנקודה);
  • ‪(76,38) -> BIGNUMERIC;
  • ‫(77,38) -> BIGNUMERIC (שגיאה אם הערך חורג מהטווח הנתמך).

השדה הזה לא יכול להכיל סוגים כפולים. סדר הסוגים בשדה הזה לא משנה. לדוגמה, [‎"BIGNUMERIC", "NUMERIC"‎] זהה ל-‎["NUMERIC", "BIGNUMERIC"‎] ותמיד NUMERIC קודם ל-BIGNUMERIC.

ברירת המחדל היא [‎"NUMERIC", "STRING"‎] עבור ORC ו-‎["NUMERIC"] ‎ עבור פורמטים אחרים של קבצים.

avroOptions

object (AvroOptions)

זה שינוי אופציונלי. מאפיינים נוספים להגדרה אם sourceFormat מוגדר ל-AVRO.

jsonExtension

enum (JsonExtension)

זה שינוי אופציונלי. אפשרות טעינה לשימוש עם JSON מופרד בשורות חדשות בפורמט source_format כדי לציין שמתבצעת טעינה של וריאציה של JSON. כדי לטעון GeoJSON שמופרד בתו שורה חדשה, צריך לציין GEOJSON (ולהגדיר את source_format ל-NEWLINE_DELIMITED_JSON).

parquetOptions

object (ParquetOptions)

זה שינוי אופציונלי. מאפיינים נוספים להגדרה אם sourceFormat מוגדר כ-PARQUET.

referenceFileSchemaUri

string

זה שינוי אופציונלי. כשיוצרים טבלה חיצונית, המשתמש יכול לספק קובץ עזר עם סכימת הטבלה. האפשרות הזו מופעלת לפורמטים הבאים: AVRO, ‏ PARQUET, ‏ ORC.

metadataCacheMode

enum (MetadataCacheMode)

זה שינוי אופציונלי. מצב מטמון המטא-נתונים של הטבלה. הגדרה שמאפשרת שמירת מטמון של מטא-נתונים ממקור נתונים חיצוני.

timestampTargetPrecision[]

integer

רמות הדיוק (מספר הספרות הכולל המקסימלי בבסיס 10) של שניות בסוגי TIMESTAMP שמותרים בטבלת היעד במצב זיהוי אוטומטי.

זמין בפורמטים: CSV.

בפורמט CSV, הערכים האפשריים כוללים: Not Specified,‏ [], או [6]: חותמת זמן(6) לכל העמודות של חותמות הזמן שזוהו אוטומטית [6, 12]: חותמת זמן(6) לכל העמודות של חותמות הזמן שזוהו אוטומטית עם פחות מ-6 ספרות של חלקי שניות. ‫timestamp(12) לכל העמודות מסוג TIMESTAMP שזוהו אוטומטית ומכילות יותר מ-6 ספרות של חלקי שניות. ‫[12]: חותמת זמן(12) לכל העמודות של חותמות הזמן שזוהו אוטומטית.

המערכת מתעלמת מהסדר של האלמנטים במערך הזה. אם יש ערכי קלט עם רמת דיוק גבוהה יותר מרמת הדיוק המקסימלית שמוגדרת במערך הזה, הם ייחתכו.

שדה איחוד _object_metadata.

הערך _object_metadata יכול להיות רק אחד מהבאים:

objectMetadata

enum (ObjectMetadata)

זה שינוי אופציונלי. הפונקציה ObjectMetadata משמשת ליצירת טבלאות אובייקטים. טבלאות אובייקטים מכילות רשימה של אובייקטים (עם המטא-נתונים שלהם) שנמצאים ב-source_uris. אם מוגדר ObjectMetadata, צריך להשמיט את source_format.

בשלב הזה, SIMPLE הוא סוג המטא-נתונים היחיד של אובייקטים שנתמך.

שדה איחוד _time_zone.

הערך _time_zone יכול להיות רק אחד מהבאים:

timeZone

string

זה שינוי אופציונלי. אזור הזמן שמשמש לניתוח ערכים של חותמות זמן שלא כוללים מידע ספציפי על אזור הזמן (לדוגמה, 2024-04-20 12:34:56). הפורמט הנדרש הוא מחרוזת של אזור זמן לפי IANA (למשל, America/Los_Angeles).

שדה איחוד _date_format.

הערך _date_format יכול להיות רק אחד מהבאים:

dateFormat

string

זה שינוי אופציונלי. הפורמט שמשמש לניתוח ערכי תאריך. יש תמיכה בערכים בסגנון C ובערכים בסגנון SQL.

שדה איחוד _datetime_format.

הערך _datetime_format יכול להיות רק אחד מהבאים:

datetimeFormat

string

זה שינוי אופציונלי. הפורמט שמשמש לניתוח ערכי DATETIME. יש תמיכה בערכים בסגנון C ובערכים בסגנון SQL.

שדה איחוד _time_format.

הערך _time_format יכול להיות רק אחד מהבאים:

timeFormat

string

זה שינוי אופציונלי. הפורמט שמשמש לניתוח ערכי TIME. יש תמיכה בערכים בסגנון C ובערכים בסגנון SQL.

שדה איחוד _timestamp_format.

הערך _timestamp_format יכול להיות רק אחד מהבאים:

timestampFormat

string

זה שינוי אופציונלי. הפורמט שמשמש לניתוח ערכי חותמת הזמן. יש תמיכה בערכים בסגנון C ובערכים בסגנון SQL.

Int32Value

ייצוג ב-JSON
{
  "value": integer
}
שדות
value

integer

הערך int32.

CsvOptions

ייצוג ב-JSON
{
  "fieldDelimiter": string,
  "skipLeadingRows": string,
  "quote": string,
  "allowQuotedNewlines": boolean,
  "allowJaggedRows": boolean,
  "encoding": string,
  "preserveAsciiControlCharacters": boolean,
  "nullMarker": string,
  "nullMarkers": [
    string
  ],
  "sourceColumnMatch": string
}
שדות
fieldDelimiter

string

זה שינוי אופציונלי. התו המפריד בין השדות בקובץ CSV. המפריד מפורש כבייט יחיד. בקובצים שמקודדים ב-ISO-8859-1, אפשר להשתמש בכל תו בודד כמפריד. בקובצים שמקודדים ב-UTF-8, אפשר להשתמש בתווים שמיוצגים בטווח העשרוני 1-127 (U+0001-U+007F) בלי לבצע שינויים. אם תווים בקידוד UTF-8 מקודדים באמצעות כמה בייטים (כלומר U+0080 ומעלה), רק הבייט הראשון ישמש להפרדה בין השדות. הבייטים שנותרו ייחשבו כחלק מהשדה. ‫BigQuery תומך גם ברצף התווים '\t' (U+0009) כדי לציין מפריד טאב. ערך ברירת המחדל הוא פסיק (",", ‏ U+002C).

skipLeadingRows

string (Int64Value format)

זה שינוי אופציונלי. מספר השורות בחלק העליון של קובץ CSV ש-BigQuery ידלג עליהן כשקוראים את הנתונים. ערך ברירת המחדל הוא 0. המאפיין הזה שימושי אם יש לכם שורות כותרת בקובץ שצריך לדלג עליהן. כשהזיהוי האוטומטי מופעל, המערכת מתנהגת כך:

  • אם לא מציינים את skipLeadingRows, המערכת מנסה לזהות כותרות בשורה הראשונה. אם הם לא מזוהים, השורה נקראת כנתונים. אחרת, הנתונים ייקראו החל מהשורה השנייה.
  • ‫skipLeadingRows הוא 0 – ההגדרה הזו מציינת לזיהוי האוטומטי שאין כותרות ושהנתונים צריכים להיקרא החל מהשורה הראשונה.
  • skipLeadingRows = N > 0 – המערכת מזהה אוטומטית את השורות שצריך לדלג עליהן, מדלגת על N-1 שורות ומנסה לזהות כותרות בשורה N. אם המערכת לא מזהה כותרות, היא פשוט מדלגת על שורה N. אחרת, שורה N משמשת לחילוץ שמות העמודות של הסכימה שזוהתה.
quote

string

זה שינוי אופציונלי. הערך שמשמש להוספת מרכאות סביב קטעי נתונים בקובץ CSV. מערכת BigQuery ממירה את המחרוזת לקידוד ISO-8859-1, ואז משתמשת בבייט הראשון של המחרוזת המקודדת כדי לפצל את הנתונים במצב הבינארי הגולמי שלהם. ערך ברירת המחדל הוא מירכאות כפולות ("). אם הנתונים לא מכילים קטעים שמוקפים במירכאות, צריך להגדיר את ערך המאפיין כמחרוזת ריקה. אם הנתונים שלכם מכילים תווי שורה חדשה שמוקפים במירכאות, אתם צריכים להגדיר את המאפיין allowQuotedNewlines כ-true. כדי לכלול את תו המירכאות הספציפי בתוך ערך שתחום במירכאות, מוסיפים לפניו תו מירכאות תואם נוסף. לדוגמה, אם רוצים להשתמש בתו בריחה (escape) לתו ברירת המחדל ' " ', צריך להשתמש ב-' "" '.

allowQuotedNewlines

boolean

זה שינוי אופציונלי. מציין אם BigQuery צריך לאפשר קטעי נתונים עם מרכאות שמכילים תווי שורה חדשה בקובץ CSV. ערך ברירת המחדל הוא false.

allowJaggedRows

boolean

זה שינוי אופציונלי. מציין אם BigQuery צריך לקבל שורות שחסרות בהן עמודות אופציונליות בסוף. אם הערך הוא true, ‏ BigQuery מתייחס לעמודות חסרות בסוף כאל ערכי null. אם הערך הוא false, רשומות שחסרות בהן עמודות בסוף נחשבות לרשומות פגומות, ואם יש יותר מדי רשומות פגומות, מוחזרת שגיאה לא תקינה בתוצאת העבודה. ערך ברירת המחדל הוא false.

encoding

string

זה שינוי אופציונלי. קידוד התווים של הנתונים. הערכים הנתמכים הם UTF-8‏, ISO-8859-1‏, UTF-16BE‏, UTF-16LE‏, UTF-32BE ו-UTF-32LE. ערך ברירת המחדל הוא UTF-8. מערכת BigQuery מפענחת את הנתונים אחרי שהנתונים הגולמיים הבינאריים פוצלו באמצעות הערכים של המאפיינים quote ו-fieldDelimiter.

preserveAsciiControlCharacters

boolean

זה שינוי אופציונלי. מציין אם תווי הבקרה המוטמעים של ASCII (32 התווים הראשונים בטבלת ASCII, מ-‎ '\x00' עד ‎ '\x1F') נשמרים.

nullMarker

string

זה שינוי אופציונלי. מציין מחרוזת שמייצגת ערך null בקובץ CSV. לדוגמה, אם מציינים את הערך ‎\N,‏ BigQuery מפרש את הערך ‎\N כערך null כשמבצעים שאילתה בקובץ CSV. ערך ברירת המחדל הוא מחרוזת ריקה. אם מגדירים את המאפיין הזה לערך מותאם אישית, מערכת BigQuery מחזירה שגיאה אם יש מחרוזת ריקה בכל סוגי הנתונים, למעט STRING ו-BYTE. בעמודות STRING ו-BYTE, ‏ BigQuery מפרש את המחרוזת הריקה כערך ריק.

nullMarkers[]

string

זה שינוי אופציונלי. רשימה של מחרוזות שמיוצגות כערך SQL NULL בקובץ CSV.

אי אפשר להגדיר את null_marker ואת null_markers בו-זמנית. אם המאפיין null_marker מוגדר, המאפיין null_markers לא יכול להיות מוגדר. אם המאפיין null_markers מוגדר, המאפיין null_marker לא יכול להיות מוגדר. אם גם null_marker וגם null_markers מוגדרים בו-זמנית, תוצג שגיאת משתמש. כל המחרוזות שמפורטות ב-null_markers, כולל מחרוזת ריקה, יפורשו כ-SQL NULL. ההגדרה הזו חלה על כל סוגי העמודות.

sourceColumnMatch

string

זה שינוי אופציונלי. קובעת את האסטרטגיה שמשמשת להתאמת העמודות שנטענו לסכימה. אם לא מגדירים את השדה הזה, נבחרת ברירת מחדל הגיונית בהתאם לאופן שבו הסכימה מסופקת. אם משתמשים בזיהוי אוטומטי, העמודות מותאמות לפי השם. אחרת, העמודות מותאמות לפי המיקום. השינוי הזה נעשה כדי לשמור על תאימות לאחור. הערכים הקבילים הם: POSITION – התאמה לפי מיקום. ההנחה היא שהעמודות מסודרות באותו אופן כמו הסכימה. NAME – התאמה לפי שם. הכלי קורא את שורת הכותרת כשמות של עמודות ומסדר מחדש את העמודות כך שיתאימו לשמות השדות בסכימה.

JsonOptions

ייצוג ב-JSON
{
  "encoding": string
}
שדות
encoding

string

זה שינוי אופציונלי. קידוד התווים של הנתונים. הערכים הנתמכים הם UTF-8‏, UTF-16BE‏, UTF-16LE‏, UTF-32BE ו-UTF-32LE. ערך ברירת המחדל הוא UTF-8.

BigtableOptions

ייצוג ב-JSON
{
  "columnFamilies": [
    {
      object (BigtableColumnFamily)
    }
  ],
  "ignoreUnspecifiedColumnFamilies": boolean,
  "readRowkeyAsString": boolean,
  "outputColumnFamiliesAsJson": boolean
}
שדות
columnFamilies[]

object (BigtableColumnFamily)

זה שינוי אופציונלי. רשימה של משפחות עמודות שיוצגו בסכימת הטבלה, כולל הסוגים שלהן. הרשימה הזו מגבילה את משפחות העמודות שאפשר להפנות אליהן בשאילתות, ומציינת את סוגי הערכים שלהן. אפשר להשתמש ברשימה הזו כדי לבצע המרות של סוגים – פרטים נוספים זמינים בשדה 'סוג'. אם משאירים את הרשימה הזו ריקה, כל קבוצות העמודות מופיעות בסכימת הטבלה והערכים שלהן נקראים כ-BYTES. במהלך שאילתה, רק משפחות העמודות שאליהן מתייחסת השאילתה נקראות מ-Bigtable.

ignoreUnspecifiedColumnFamilies

boolean

זה שינוי אופציונלי. אם השדה הוא True, משפחות העמודות שלא צוינו ברשימה columnFamilies לא נחשפות בסכימת הטבלה. אחרת, הם נקראים עם ערכים מסוג BYTES. ערך ברירת המחדל הוא false.

readRowkeyAsString

boolean

זה שינוי אופציונלי. אם השדה הוא true, משפחות העמודות של rowkey ייקראו ויומרו למחרוסת. אחרת, הן נקראות עם ערכים מסוג BYTES והמשתמשים צריכים להמיר אותן ידנית באמצעות CAST אם צריך. ערך ברירת המחדל הוא false.

outputColumnFamiliesAsJson

boolean

זה שינוי אופציונלי. אם השדה הוא true, כל קבוצת עמודות תיקרא כעמודת JSON יחידה. אחרת, הן נקראות כמבנה תא חוזר שמכיל טפלים של חותמת זמן וערך. ערך ברירת המחדל הוא false.

BigtableColumnFamily

ייצוג ב-JSON
{
  "familyId": string,
  "type": string,
  "encoding": string,
  "columns": [
    {
      object (BigtableColumn)
    }
  ],
  "onlyReadLatest": boolean,
  "protoConfig": {
    object (BigtableProtoConfig)
  }
}
שדות
familyId

string

המזהה של קבוצת העמודות.

type

string

זה שינוי אופציונלי. הסוג שאליו יומר הערך בתאים של קבוצת העמודות הזו. כשמשתמשים בערך הקידוד BINARY, הערכים צריכים להיות מקודדים באמצעות הפונקציה HBase Bytes.toBytes. אלה הסוגים של BigQuery שמותרים (הבחנה בין אותיות רישיות לאותיות קטנות):

  • BYTES
  • מחרוזת
  • מספר שלם
  • FLOAT
  • בוליאני
  • JSON

סוג ברירת המחדל הוא BYTES. אפשר לבטל את ההגדרה הזו עבור עמודה ספציפית על ידי הוספת העמודה לרשימה 'columns' וציון סוג בשבילה.

encoding

string

זה שינוי אופציונלי. הקידוד של הערכים כשהסוג הוא לא STRING. ערכי הקידוד הקבילים הם: TEXT – מציין שהערכים הם מחרוזות טקסט אלפאנומריות. ‫BINARY – מציין שהערכים מקודדים באמצעות משפחת הפונקציות HBase Bytes.toBytes. ‫PROTO_BINARY – מציין שהערכים מקודדים באמצעות הודעות פרוטו מסודרות. אפשר להשתמש בזה רק בשילוב עם סוג JSON. אפשר לבטל את ההגדרה הזו עבור עמודה ספציפית על ידי ציון העמודה בפרמטר 'columns' והגדרת קידוד עבורה.

columns[]

object (BigtableColumn)

זה שינוי אופציונלי. רשימות של עמודות שצריך לחשוף כשדות נפרדים ולא כרשימה של צמדים (שם עמודה, ערך). אפשר לגשת לכל העמודות שהמסווג שלהן תואם למסווג ברשימה הזו בתור <family field name>.<column field name>. אפשר לגשת לעמודות אחרות כרשימה דרך השדה <family field name>.Column.

onlyReadLatest

boolean

זה שינוי אופציונלי. אם ההגדרה הזו מופעלת, רק הגרסה האחרונה של הערך נחשפת לכל העמודות במשפחת העמודות הזו. אפשר לשנות את ברירת המחדל הזו לעמודה ספציפית על ידי ציון העמודה ברשימת העמודות והגדרת הגדרה שונה לעמודה הזו.

protoConfig

object (BigtableProtoConfig)

זה שינוי אופציונלי. הגדרות ספציפיות ל-Protobuf, שפועלות רק כשהקידוד הוא PROTO_BINARY.

BigtableColumn

ייצוג ב-JSON
{
  "qualifierEncoded": string,
  "qualifierString": string,
  "fieldName": string,
  "type": string,
  "encoding": string,
  "onlyReadLatest": boolean,
  "protoConfig": {
    object (BigtableProtoConfig)
  }
}
שדות
qualifierEncoded

string (BytesValue format)

[חובה] מגדיר העמודה. עמודות במשפחת העמודות של ההורה עם המאפיין המדויק הזה נחשפות כשדה <family field name>.<column field name>. אם המאפיין הוא מחרוזת UTF-8 תקינה, אפשר לציין אותו בשדה qualifier_string. אחרת, צריך להגדיר ערך בקידוד base-64 ל-qualifier_encoded. שם השדה של העמודה זהה למסווג העמודה. עם זאת, אם המאפיין המסווג הוא לא מזהה שדה תקין ב-BigQuery, כלומר הוא לא תואם ל-‎[a-zA-Z][a-zA-Z0-9_]*, צריך לספק מזהה תקין בתור field_name.

qualifierString

string

מחרוזת מגדיר.

fieldName

string

זה שינוי אופציונלי. אם המאפיין qualifier הוא לא מזהה שדה תקין ב-BigQuery, כלומר לא תואם ל-‎[a-zA-Z][a-zA-Z0-9_]*, צריך לספק מזהה תקין כשם השדה של העמודה, והוא ישמש כשם השדה בשאילתות.

type

string

זה שינוי אופציונלי. הסוג שאליו יומר הערך בתאים של העמודה הזו. כשמשתמשים בערך הקידוד BINARY, הערכים צריכים להיות מקודדים באמצעות הפונקציה HBase Bytes.toBytes. אלה הסוגים של BigQuery שמותרים (הבחנה בין אותיות רישיות לאותיות קטנות):

  • BYTES
  • מחרוזת
  • מספר שלם
  • FLOAT
  • בוליאני
  • JSON

סוג ברירת המחדל הוא BYTES. אפשר להגדיר את המאפיין type גם ברמת קבוצת העמודות. עם זאת, ההגדרה ברמה הזו מקבלת עדיפות אם ההגדרה 'סוג' מוגדרת בשתי הרמות.

encoding

string

זה שינוי אופציונלי. הקידוד של הערכים כשהסוג הוא לא STRING. ערכי הקידוד הקבילים הם: TEXT – מציין שהערכים הם מחרוזות טקסט אלפאנומריות. ‫BINARY – מציין שהערכים מקודדים באמצעות משפחת הפונקציות HBase Bytes.toBytes. ‫PROTO_BINARY – מציין שהערכים מקודדים באמצעות הודעות פרוטו מסודרות. אפשר להשתמש בזה רק בשילוב עם סוג JSON. אפשר להגדיר את הקידוד גם ברמת קבוצת העמודות. עם זאת, אם ההגדרה 'קידוד' מוגדרת בשתי הרמות, ההגדרה ברמה הזו מקבלת עדיפות.

onlyReadLatest

boolean

זה שינוי אופציונלי. אם ההגדרה הזו מופעלת, רק הגרסה האחרונה של הערך בעמודה הזו נחשפת. אפשר להגדיר את 'onlyReadLatest' גם ברמת משפחת העמודות. עם זאת, ההגדרה ברמה הזו מקבלת עדיפות אם ההגדרה onlyReadLatest מוגדרת בשתי הרמות.

protoConfig

object (BigtableProtoConfig)

זה שינוי אופציונלי. הגדרות ספציפיות ל-Protobuf, שפועלות רק כשהקידוד הוא PROTO_BINARY.

BytesValue

ייצוג ב-JSON
{
  "value": string
}
שדות
value

string (bytes format)

ערך הבייטים.

מחרוזת בקידוד Base64.

BigtableProtoConfig

ייצוג ב-JSON
{
  "schemaBundleId": string,
  "protoMessageName": string
}
שדות
schemaBundleId

string

זה שינוי אופציונלי. המזהה של משאב ה-SchemaBundle של Bigtable שמשויך ל-protobuf הזה. המזהה צריך להופיע בטבלת ההורה, למשל: foo במקום projects/{project}/instances/{instance}/tables/{table}/schemaBundles/foo. פרטים נוספים על Bigtable SchemaBundles

protoMessageName

string

זה שינוי אופציונלי. השם המוגדר במלואו של הודעת הפרוטו של ה-protobuf. בפורמט foo.bar.Message.

GoogleSheetsOptions

ייצוג ב-JSON
{
  "skipLeadingRows": string,
  "range": string
}
שדות
skipLeadingRows

string (Int64Value format)

זה שינוי אופציונלי. מספר השורות בחלק העליון של הגיליון ש-BigQuery ידלג עליהן בזמן קריאת הנתונים. ערך ברירת המחדל הוא 0. המאפיין הזה שימושי אם יש לכם שורות כותרת שצריך לדלג עליהן. כשהזיהוי האוטומטי מופעל, מתבצעות הפעולות הבאות: * skipLeadingRows לא מוגדר – המערכת מנסה לזהות כותרות בשורה הראשונה. אם הם לא מזוהים, השורה נקראת כנתונים. אחרת, הנתונים ייקראו החל מהשורה השנייה. ‫* skipLeadingRows הוא 0 – המערכת מזהה אוטומטית שאין כותרות וצריך לקרוא את הנתונים החל מהשורה הראשונה. ‫* skipLeadingRows = N > 0 – המערכת מזהה אוטומטית את שורות N-1 ומנסה לזהות כותרות בשורה N. אם המערכת לא מזהה כותרות, היא פשוט מדלגת על שורה N. אחרת, שורה N משמשת לחילוץ שמות העמודות של הסכימה שזוהתה.

range

string

זה שינוי אופציונלי. טווח בגיליון שאפשר לשלוח ממנו שאילתה. בשימוש רק כשהערך לא ריק. פורמט אופייני: שם_הגיליון!מזהה_התא_הימני_העליון:מזהה_התא_השמאלי_התחתון לדוגמה: sheet1!A1:B20

HivePartitioningOptions

ייצוג ב-JSON
{
  "mode": string,
  "sourceUriPrefix": string,
  "requirePartitionFilter": boolean,
  "fields": [
    string
  ]
}
שדות
mode

string

זה שינוי אופציונלי. כשמגדירים את האפשרות הזו, היא קובעת באיזה מצב של חלוקת Hive למחיצות צריך להשתמש כשקוראים נתונים. יש תמיכה במצבים הבאים:

  • ‫AUTO: המערכת מסיקה אוטומטית את השמות והסוגים של מפתחות החלוקה.

  • מחרוזות: המערכת מסיקה אוטומטית את השמות של מפתחות החלוקה. כל הסוגים הם מחרוזות.

  • CUSTOM: סכימת מפתח המחיצה מקודדת בקידומת של ה-URI של המקור.

לא כל פורמטי האחסון תומכים בחלוקה למחיצות ב-Hive. בקשה לחלוקה למחיצות ב-Hive בפורמט שלא נתמך תוביל לשגיאה. הפורמטים הנתמכים כרגע הם: JSON, ‏ CSV, ‏ ORC, ‏ Avro ו-Parquet.

sourceUriPrefix

string

זה שינוי אופציונלי. כשמבקשים לזהות מחיצות של Hive, צריך להגדיר קידומת משותפת לכל כתובות ה-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

כשמבקשים חלוקה למחיצות ב-Hive עם זיהוי AUTO או STRINGS, הקידומת הנפוצה יכולה להיות gs://bucket/path_to_table או gs://bucket/path_to_table/.

זיהוי מותאם אישית דורש קידוד של סכמת החלוקה מיד אחרי התחילית המשותפת. במקרה של CUSTOM, כל אחד מהבאים

  • gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}

  • gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}

  • gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}

כולם יהיו קידומות תקינות של מזהי URI של מקורות.

requirePartitionFilter

boolean

זה שינוי אופציונלי. אם הערך הוא true, צריך לציין מסנן מחיצות שאפשר להשתמש בו כדי לבטל מחיצות בשאילתות על הטבלה הזו.

הערה: השדה הזה צריך להיות true רק כשיוצרים טבלה חיצונית קבועה או כשמבצעים שאילתה בטבלה חיצונית זמנית.

טעינות של מחיצות ב-Hive עם require_partition_filter שמוגדר במפורש כ-true ייכשלו.

fields[]

string

פלט בלבד. בטבלאות חיצוניות קבועות, השדה הזה מאוכלס במפתחות החלוקה למחיצות (partitioning) של Hive, לפי הסדר שבו הם נגזרו. אפשר להסיק את סוגי מפתחות החלוקה על ידי בדיקת סכימת הטבלה (שתכלול את מפתחות החלוקה). לא כל API יאכלס את השדה הזה בפלט. לדוגמה, הפונקציה Tables.Get תאכלס את השדה הזה, אבל הפונקציה Tables.List לא תכלול אותו.

AvroOptions

ייצוג ב-JSON
{
  "useAvroLogicalTypes": boolean
}
שדות
useAvroLogicalTypes

boolean

זה שינוי אופציונלי. אם sourceFormat מוגדר ל-AVRO, הערך מציין אם לפרש סוגים לוגיים כסוג הנתונים התואם ב-BigQuery (לדוגמה, TIMESTAMP), במקום להשתמש בסוג הגולמי (לדוגמה, INTEGER).

ParquetOptions

ייצוג ב-JSON
{
  "enumAsString": boolean,
  "enableListInference": boolean,
  "mapTargetType": enum (MapTargetType)
}
שדות
enumAsString

boolean

זה שינוי אופציונלי. מציין אם להסיק את סוג הנתונים הלוגי Parquet ENUM כ-STRING במקום כ-BYTES כברירת מחדל.

enableListInference

boolean

זה שינוי אופציונלי. מציין אם להשתמש בהסקת סכימה באופן ספציפי עבור סוג לוגי של Parquet LIST.

mapTargetType

enum (MapTargetType)

זה שינוי אופציונלי. מציין איך לייצג מפת Parquet אם היא קיימת.

BigLakeConfiguration

ייצוג ב-JSON
{
  "connectionId": string,
  "storageUri": string,
  "fileFormat": enum (FileFormat),
  "tableFormat": enum (TableFormat)
}
שדות
connectionId

string

זה שינוי אופציונלי. החיבור שמציין את פרטי הכניסה שישמשו לקריאה וכתיבה בהתקן אחסון חיצוני, כמו Cloud Storage. הערך של connection_id יכול להיות בפורמט {project}.{location}.{connection_id} או בפורמט `projects/{project}/locations/{location}/connections/{connection_id}".

storageUri

string

זה שינוי אופציונלי. קידומת המיקום המלאה של התיקייה החיצונית שבה מאוחסנים נתוני הטבלה. אסור להשתמש בתו הכללי לחיפוש '*'. ה-URI צריך להיות בפורמט gs://bucket/path_to_table/

fileFormat

enum (FileFormat)

זה שינוי אופציונלי. פורמט הקובץ שבו מאוחסנים נתוני הטבלה.

tableFormat

enum (TableFormat)

זה שינוי אופציונלי. פורמט הטבלה שבו מאוחסנות תמונות המצב של המטא-נתונים בלבד.

Streamingbuffer

ייצוג ב-JSON
{
  "estimatedBytes": string,
  "estimatedRows": string,
  "oldestEntryTime": string
}
שדות
estimatedBytes

string

פלט בלבד. הערכה של הגבול התחתון של מספר הבייטים שנמצאים כרגע במאגר הזמני של הסטרימינג.

estimatedRows

string

פלט בלבד. הערכה של הגבול התחתון של מספר השורות שנמצאות כרגע במאגר הזמני של הנתונים שמוזרמים.

oldestEntryTime

string (uint64 format)

פלט בלבד. אם מאגר הנתונים הזמני של הסטרימינג זמין, הערך מכיל את חותמת הזמן של הרשומה הכי ישנה במאגר הנתונים הזמני של הסטרימינג, באלפיות שנייה מאז תקופת האפוק.

EncryptionConfiguration

ייצוג ב-JSON
{
  "kmsKeyName": string
}
שדות
kmsKeyName

string

זה שינוי אופציונלי. תיאור של מפתח ההצפנה של Cloud KMS שישמש להגנה על טבלת BigQuery ביעד. לחשבון השירות של BigQuery שמשויך לפרויקט שלכם נדרשת גישה למפתח ההצפנה הזה.

SnapshotDefinition

ייצוג ב-JSON
{
  "baseTableReference": {
    object (TableReference)
  },
  "snapshotTime": string
}
שדות
baseTableReference

object (TableReference)

חובה. הפניה שמתארת את המזהה של הטבלה שנוצרה ממנה תמונת מצב.

snapshotTime

string (Timestamp format)

חובה. השעה שבה נוצרה תמונת המצב של טבלת הבסיס. הערך הזה מדווח בתגובת ה-JSON בפורמט RFC3339.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

CloneDefinition

ייצוג ב-JSON
{
  "baseTableReference": {
    object (TableReference)
  },
  "cloneTime": string
}
שדות
baseTableReference

object (TableReference)

חובה. הפניה שמתארת את המזהה של הטבלה ששוכפלה.

cloneTime

string (Timestamp format)

חובה. השעה שבה בוצע שיבוט של טבלת הבסיס. הערך הזה מדווח בתגובת ה-JSON בפורמט RFC3339.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

RestrictionConfig

ייצוג ב-JSON
{
  "type": enum (RestrictionType)
}
שדות
type

enum (RestrictionType)

פלט בלבד. מציין את סוג ההגבלה של מערך הנתונים או הטבלה.

TableConstraints

ייצוג ב-JSON
{
  "primaryKey": {
    object (PrimaryKey)
  },
  "foreignKeys": [
    {
      object (ForeignKey)
    }
  ]
}
שדות
primaryKey

object (PrimaryKey)

זה שינוי אופציונלי. מייצג אילוץ של מפתח ראשי בעמודות של טבלה. המאפיין הזה מופיע רק אם לטבלה יש מפתח ראשי. המפתח הראשי לא נאכף.

foreignKeys[]

object (ForeignKey)

זה שינוי אופציונלי. המאפיין הזה מופיע רק אם בטבלה יש מפתח זר. האילוץ של המפתח הזר לא נאכף.

PrimaryKey

ייצוג ב-JSON
{
  "columns": [
    string
  ]
}
שדות
columns[]

string

חובה. העמודות שמרכיבות את אילוץ המפתח הראשי.

ForeignKey

ייצוג ב-JSON
{
  "name": string,
  "referencedTable": {
    object (TableReference)
  },
  "columnReferences": [
    {
      object (ColumnReference)
    }
  ]
}
שדות
name

string

זה שינוי אופציונלי. ההגדרה הזו רלוונטית רק אם אילוץ המפתח הזר נקרא.

referencedTable

object (TableReference)

חובה. הטבלה שמכילה את המפתח הראשי ומופנית על ידי המפתח הזר הזה.

columnReferences[]

object (ColumnReference)

חובה. העמודות שמרכיבות את המפתח הזר.

ColumnReference

ייצוג ב-JSON
{
  "referencingColumn": string,
  "referencedColumn": string
}
שדות
referencingColumn

string

חובה. העמודה שמרכיבה את המפתח הזר.

referencedColumn

string

חובה. העמודה במפתח הראשי שאליה מתבצעת ההפניה על ידי referencing_column.

ResourceTagsEntry

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

TableReplicationInfo

ייצוג ב-JSON
{
  "sourceTable": {
    object (TableReference)
  },
  "replicationIntervalMs": string,
  "replicatedSourceLastRefreshTime": string,
  "replicationStatus": enum (ReplicationStatus),
  "replicationError": {
    object (ErrorProto)
  }
}
שדות
sourceTable

object (TableReference)

חובה. הפניה לטבלת המקור שמשוכפלת.

replicationIntervalMs

string (int64 format)

זה שינוי אופציונלי. מציין את המרווח שבו מתבצעת בדיקה בטבלת המקור כדי לראות אם יש עדכונים. אופציונלי. אם לא מציינים את מרווח הזמן, המערכת משתמשת במרווח הזמן שמוגדר כברירת מחדל.

replicatedSourceLastRefreshTime

string (int64 format)

זה שינוי אופציונלי. פלט בלבד. אם המקור הוא תצוגה חומרית, השדה הזה מציין את זמן הרענון האחרון של המקור.

replicationStatus

enum (ReplicationStatus)

זה שינוי אופציונלי. פלט בלבד. סטטוס הרפליקציה של הרפליקציה שהוגדרה.

replicationError

object (ErrorProto)

זה שינוי אופציונלי. פלט בלבד. שגיאת שכפול שתגרום להפסקה סופית של שכפול הטבלה.

ExternalCatalogTableOptions

ייצוג ב-JSON
{
  "parameters": {
    string: string,
    ...
  },
  "storageDescriptor": {
    object (StorageDescriptor)
  },
  "connectionId": string
}
שדות
parameters

map (key: string, value: string)

זה שינוי אופציונלי. מיפוי של צמדי מפתח-ערך שמגדירים את הפרמטרים והמאפיינים של טבלת הקוד הפתוח. תואם לפרמטרים של טבלאות במאגר המטא-נתונים של Hive. גודל מקסימלי של 4MiB.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

storageDescriptor

object (StorageDescriptor)

זה שינוי אופציונלי. תיאור של האחסון שמכיל מידע על האחסון הפיזי של הטבלה הזו.

connectionId

string

זה שינוי אופציונלי. מזהה חיבור שמציין את פרטי הכניסה שישמשו לקריאת אחסון חיצוני, כמו Azure Blob,‏ Cloud Storage או Amazon S3. החיבור הזה נדרש כדי לקרוא את טבלת הקוד הפתוח מ-BigQuery. הפורמט של connection_id צריך להיות <project_id>.<location_id>.<connection_id> או projects/<project_id>/locations/<location_id>/connections/<connection_id>.

ParametersEntry

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

StorageDescriptor

ייצוג ב-JSON
{
  "locationUri": string,
  "inputFormat": string,
  "outputFormat": string,
  "serdeInfo": {
    object (SerDeInfo)
  }
}
שדות
locationUri

string

זה שינוי אופציונלי. המיקום הפיזי של הטבלה (לדוגמה, gs://spark-dataproc-data/pangea-data/case_sensitive/ או gs://spark-dataproc-data/pangea-data/*). האורך המקסימלי הוא 2,056 בייטים.

inputFormat

string

זה שינוי אופציונלי. מציין את שם המחלקה שמוגדר במלואו של InputFormat (לדוגמה, org.apache.hadoop.hive.ql.io.orc.OrcInputFormat). האורך המקסימלי הוא 128 תווים.

outputFormat

string

זה שינוי אופציונלי. מציין את שם המחלקה שמוגדר במלואו של OutputFormat (לדוגמה, org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat). האורך המקסימלי הוא 128 תווים.

serdeInfo

object (SerDeInfo)

זה שינוי אופציונלי. מידע על סריאליזציה ודה-סריאליזציה.

SerDeInfo

ייצוג ב-JSON
{
  "name": string,
  "serializationLibrary": string,
  "parameters": {
    string: string,
    ...
  }
}
שדות
name

string

זה שינוי אופציונלי. השם של SerDe. האורך המקסימלי הוא 256 תווים.

serializationLibrary

string

חובה. מציין שם מחלקה מלא של ספריית הסריאליזציה שאחראית לתרגום נתונים בין ייצוג הטבלה לבין מבני פורמט הקלט והפלט הבסיסיים. האורך המקסימלי הוא 256 תווים.

parameters

map (key: string, value: string)

זה שינוי אופציונלי. צמדי מפתח/ערך שמגדירים את פרמטרי האתחול של ספריית הסריאליזציה. גודל מקסימלי: ‎10 KiB.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ParametersEntry

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

הערות על כלי

רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌