BigQueryTable
Property | Value |
---|---|
Google Cloud Service Name | BigQuery |
Google Cloud Service Documentation | /bigquery/docs/ |
Google Cloud REST Resource Name | bigquery/v2/tables |
Google Cloud Rest Resource Documentation | /bigquery/docs/reference/rest/v2/tables |
Config Connector Resource Short Names | gcpbigquerytable gcpbigquerytables bigquerytable |
Config Connector Service Name | bigquery.googleapis.com |
Config Connector Resource Fully Qualified Name | bigquerytables.bigquery.cnrm.cloud.google.com |
Can Be Referenced by IAMPolicy/IAMPolicyMember | Yes |
Supports IAM Conditions | Yes |
Supports IAM Audit Configs | No |
IAM External Reference Format |
projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} |
Config Connector Default Average Reconcile Interval In Seconds | 600 |
Custom Resource Definition Properties
Annotations
Fields | |
---|---|
cnrm.cloud.google.com/project-id |
Spec
Schema
clustering:
- string
datasetRef:
external: string
name: string
namespace: string
description: string
encryptionConfiguration:
kmsKeyRef:
external: string
name: string
namespace: string
kmsKeyVersion: string
expirationTime: integer
externalDataConfiguration:
autodetect: boolean
avroOptions:
useAvroLogicalTypes: boolean
compression: string
connectionId: string
csvOptions:
allowJaggedRows: boolean
allowQuotedNewlines: boolean
encoding: string
fieldDelimiter: string
quote: string
skipLeadingRows: integer
fileSetSpecType: string
googleSheetsOptions:
range: string
skipLeadingRows: integer
hivePartitioningOptions:
mode: string
requirePartitionFilter: boolean
sourceUriPrefix: string
ignoreUnknownValues: boolean
jsonOptions:
encoding: string
maxBadRecords: integer
metadataCacheMode: string
objectMetadata: string
parquetOptions:
enableListInference: boolean
enumAsString: boolean
referenceFileSchemaUri: string
schema: string
sourceFormat: string
sourceUris:
- string
friendlyName: string
materializedView:
allowNonIncrementalDefinition: boolean
enableRefresh: boolean
query: string
refreshIntervalMs: integer
maxStaleness: string
rangePartitioning:
field: string
range:
end: integer
interval: integer
start: integer
requirePartitionFilter: boolean
resourceID: string
schema: string
tableConstraints:
foreignKeys:
- columnReferences:
referencedColumn: string
referencingColumn: string
name: string
referencedTable:
datasetId: string
projectId: string
tableId: string
primaryKey:
columns:
- string
timePartitioning:
expirationMs: integer
field: string
requirePartitionFilter: boolean
type: string
view:
query: string
useLegacySql: boolean
Fields | |
---|---|
Optional |
Specifies column names to use for data clustering. Up to four top-level columns are allowed, and should be specified in descending priority order. |
Optional |
|
Required |
|
Optional |
Allowed value: The `name` field of a `BigQueryDataset` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Optional |
The field description. |
Optional |
Immutable. Specifies how the table should be encrypted. If left blank, the table will be encrypted with a Google-managed key; that process is transparent to the user. |
Required* |
|
Optional |
Allowed value: The `selfLink` field of a `KMSCryptoKey` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Optional |
The self link or full name of the kms key version used to encrypt this table. |
Optional |
The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. |
Optional |
Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. |
Required* |
Let BigQuery try to autodetect the schema and format of the table. |
Optional |
Additional options if source_format is set to "AVRO". |
Required* |
If sourceFormat is set to "AVRO", indicates whether to interpret logical types as the corresponding BigQuery data type (for example, TIMESTAMP), instead of using the raw type (for example, INTEGER). |
Optional |
The compression type of the data source. Valid values are "NONE" or "GZIP". |
Optional |
The connection specifying the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or S3. The connectionId can have the form "{{project}}.{{location}}.{{connection_id}}" or "projects/{{project}}/locations/{{location}}/connections/{{connection_id}}". |
Optional |
Additional properties to set if source_format is set to "CSV". |
Optional |
Indicates if BigQuery should accept rows that are missing trailing optional columns. |
Optional |
Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. |
Optional |
The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. |
Optional |
The separator for fields in a CSV file. |
Required* |
|
Optional |
The number of rows at the top of a CSV file that BigQuery will skip when reading the data. |
Optional |
Specifies how source URIs are interpreted for constructing the file set to load. By default source URIs are expanded against the underlying storage. Other options include specifying manifest files. Only applicable to object storage systems. |
Optional |
Additional options if source_format is set to "GOOGLE_SHEETS". |
Optional |
Range of a sheet to query from. Only used when non-empty. At least one of range or skip_leading_rows must be set. Typical format: "sheet_name!top_left_cell_id:bottom_right_cell_id" For example: "sheet1!A1:B20". |
Optional |
The number of rows at the top of the sheet that BigQuery will skip when reading the data. At least one of range or skip_leading_rows must be set. |
Optional |
When set, configures hive partitioning support. Not all storage formats support hive partitioning -- requesting hive partitioning on an unsupported format will lead to an error, as will providing an invalid specification. |
Optional |
When set, what mode of hive partitioning to use when reading data. |
Optional |
If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. |
Optional |
When hive partition detection is requested, a common for all source uris must be required. The prefix must end immediately before the partition key encoding begins. |
Optional |
Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. |
Optional |
Additional properties to set if sourceFormat is set to JSON.". |
Optional |
The character encoding of the data. The supported values are UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, and UTF-32LE. The default value is UTF-8. |
Optional |
The maximum number of bad records that BigQuery can ignore when reading data. |
Optional |
Metadata Cache Mode for the table. Set this to enable caching of metadata from external data source. |
Optional |
Object Metadata is used to create Object Tables. Object Tables contain a listing of objects (with their metadata) found at the sourceUris. If ObjectMetadata is set, sourceFormat should be omitted. |
Optional |
Additional properties to set if sourceFormat is set to PARQUET.". |
Optional |
Indicates whether to use schema inference specifically for Parquet LIST logical type. |
Optional |
Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. |
Optional |
When creating an external table, the user can provide a reference file with the table schema. This is enabled for the following formats: AVRO, PARQUET, ORC. |
Optional |
Immutable. A JSON schema for the external table. Schema is required for CSV and JSON formats and is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats when using external tables. |
Optional |
Please see sourceFormat under ExternalDataConfiguration in Bigquery's public API documentation (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#externaldataconfiguration) for supported formats. To use "GOOGLE_SHEETS" the scopes must include "googleapis.com/auth/drive.readonly". |
Required* |
A list of the fully-qualified URIs that point to your data in Google Cloud. |
Required* |
|
Optional |
A descriptive name for the table. |
Optional |
If specified, configures this table as a materialized view. |
Optional |
Immutable. Allow non incremental materialized view definition. The default value is false. |
Optional |
Specifies if BigQuery should automatically refresh materialized view when the base table is updated. The default is true. |
Required* |
Immutable. A query whose result is persisted. |
Optional |
Specifies maximum frequency at which this materialized view will be refreshed. The default is 1800000. |
Optional |
The maximum staleness of data that could be returned when the table (or stale MV) is queried. Staleness encoded as a string encoding of sql IntervalValue type. |
Optional |
If specified, configures range-based partitioning for this table. |
Required* |
Immutable. The field used to determine how to create a range-based partition. |
Required* |
Information required to partition based on ranges. Structure is documented below. |
Required* |
End of the range partitioning, exclusive. |
Required* |
The width of each range within the partition. |
Required* |
Start of the range partitioning, inclusive. |
Optional |
If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. |
Optional |
Immutable. Optional. The tableId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. |
Optional |
A JSON schema for the table. |
Optional |
Defines the primary key and foreign keys. |
Optional |
Present only if the table has a foreign key. The foreign key is not enforced. |
Optional |
|
Required* |
The pair of the foreign key column and primary key column. |
Required* |
The column in the primary key that are referenced by the referencingColumn. |
Required* |
The column that composes the foreign key. |
Optional |
Set only if the foreign key constraint is named. |
Required* |
The table that holds the primary key and is referenced by this foreign key. |
Required* |
The ID of the dataset containing this table. |
Required* |
The ID of the project containing this table. |
Required* |
The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. Certain operations allow suffixing of the table ID with a partition decorator, such as sample_table$20190123. |
Optional |
Represents a primary key constraint on a table's columns. Present only if the table has a primary key. The primary key is not enforced. |
Required* |
The columns that are composed of the primary key constraint. |
Required* |
|
Optional |
If specified, configures time-based partitioning for this table. |
Optional |
Number of milliseconds for which to keep the storage for a partition. |
Optional |
Immutable. The field used to determine how to create a time-based partition. If time-based partitioning is enabled without this value, the table is partitioned based on the load time. |
Optional |
DEPRECATED. This field is deprecated; please use the top level field with the same name instead. If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. |
Required* |
The supported types are DAY, HOUR, MONTH, and YEAR, which will generate one partition per day, hour, month, and year, respectively. |
Optional |
If specified, configures this table as a view. |
Required* |
A query that BigQuery executes when the view is referenced. |
Optional |
Specifies whether to use BigQuery's legacy SQL for this view. The default value is true. If set to false, the view will use BigQuery's standard SQL. |
* Field is required when parent field is specified
Status
Schema
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
creationTime: integer
etag: string
lastModifiedTime: integer
location: string
numBytes: integer
numLongTermBytes: integer
numRows: integer
observedGeneration: integer
selfLink: string
type: string
Fields | |
---|---|
conditions |
Conditions represent the latest available observation of the resource's current state. |
conditions[] |
|
conditions[].lastTransitionTime |
Last time the condition transitioned from one status to another. |
conditions[].message |
Human-readable message indicating details about last transition. |
conditions[].reason |
Unique, one-word, CamelCase reason for the condition's last transition. |
conditions[].status |
Status is the status of the condition. Can be True, False, Unknown. |
conditions[].type |
Type is the type of the condition. |
creationTime |
The time when this table was created, in milliseconds since the epoch. |
etag |
A hash of the resource. |
lastModifiedTime |
The time when this table was last modified, in milliseconds since the epoch. |
location |
The geographic location where the table resides. This value is inherited from the dataset. |
numBytes |
The geographic location where the table resides. This value is inherited from the dataset. |
numLongTermBytes |
The number of bytes in the table that are considered "long-term storage". |
numRows |
The number of rows of data in this table, excluding any data in the streaming buffer. |
observedGeneration |
ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. |
selfLink |
The URI of the created resource. |
type |
Describes the table type. |
Sample YAML(s)
Typical Use Case
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
kind: BigQueryTable
metadata:
name: bigquerytablesample
labels:
data-source: "external"
schema-type: "auto-junk"
spec:
description: "BigQuery Sample Table"
datasetRef:
name: bigquerytabledep
requirePartitionFilter: true
friendlyName: bigquerytable-sample
externalDataConfiguration:
autodetect: true
compression: NONE
ignoreUnknownValues: false
maxBadRecords: 10
sourceFormat: CSV
sourceUris:
- "gs://gcp-public-data-landsat/LC08/01/044/034/LC08_L1GT_044034_20130330_20170310_01_T2/LC08_L1GT_044034_20130330_20170310_01_T2_ANG.txt"
- "gs://gcp-public-data-landsat/LC08/01/044/034/LC08_L1GT_044034_20130330_20180201_01_T2/LC08_L1GT_044034_20130330_20180201_01_T2_ANG.txt"
---
apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
kind: BigQueryDataset
metadata:
name: bigquerytabledep
spec:
friendlyName: bigquerytable-dep
location: us-central1