public abstract static class ExternalTableDefinition.Builder extends TableDefinition.Builder<ExternalTableDefinition,ExternalTableDefinition.Builder>
Constructors
Builder()
Methods
build()
public abstract ExternalTableDefinition build()
Creates an ExternalTableDefinition object.
Overrides
setAutodetect(Boolean autodetect)
public abstract ExternalTableDefinition.Builder setAutodetect(Boolean autodetect)
[Experimental] Sets detection of schema and format options automatically. Any option
specified explicitly will be honored.
| Parameter |
| Name |
Description |
autodetect |
Boolean
|
setCompression(String compression)
public abstract ExternalTableDefinition.Builder setCompression(String compression)
Sets compression type of the data source. By default no compression is assumed.
See Also: Compression
| Parameter |
| Name |
Description |
compression |
String
|
setConnectionId(String connectionId)
public abstract ExternalTableDefinition.Builder setConnectionId(String connectionId)
[Optional, Trusted Tester] connectionId for external data source. The value may be
null.
| Parameter |
| Name |
Description |
connectionId |
String
|
public abstract ExternalTableDefinition.Builder setDateFormat(String dateFormat)
Format used to parse DATE values. Supports C-style and SQL-style values.
| Parameter |
| Name |
Description |
dateFormat |
String
|
public abstract ExternalTableDefinition.Builder setDatetimeFormat(String datetimeFormat)
Format used to parse DATETIME values. Supports C-style and SQL-style values.
| Parameter |
| Name |
Description |
datetimeFormat |
String
|
setDecimalTargetTypes(List<String> decimalTargetTypes)
public abstract ExternalTableDefinition.Builder setDecimalTargetTypes(List<String> decimalTargetTypes)
Defines the list of possible SQL data types to which the source decimal values are converted.
This list and the precision and the scale parameters of the decimal field determine the
target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in
the specified list and if it supports the precision and the scale. STRING supports all
precision and scale values.
| Parameter |
| Name |
Description |
decimalTargetTypes |
List<String>
decimalTargetType or null for none
|
setFileSetSpecType(String fileSetSpecType)
public ExternalTableDefinition.Builder setFileSetSpecType(String fileSetSpecType)
Defines how to interpret files denoted by URIs. By default the files are assumed to be data
files (this can be specified explicitly via FILE_SET_SPEC_TYPE_FILE_SYSTEM_MATCH). A second
option is "FILE_SET_SPEC_TYPE_NEW_LINE_DELIMITED_MANIFEST" which interprets each file as a
manifest file, where each line is a reference to a file.
| Parameter |
| Name |
Description |
fileSetSpecType |
String
|
public ExternalTableDefinition.Builder setFormatOptions(FormatOptions formatOptions)
Sets the source format, and possibly some parsing options, of the external data. Supported
formats are CSV and NEWLINE_DELIMITED_JSON.
Source Format
setHivePartitioningOptions(HivePartitioningOptions hivePartitioningOptions)
public ExternalTableDefinition.Builder setHivePartitioningOptions(HivePartitioningOptions hivePartitioningOptions)
Sets the table Hive partitioning options.
setIgnoreUnknownValues(Boolean ignoreUnknownValues)
public abstract ExternalTableDefinition.Builder setIgnoreUnknownValues(Boolean ignoreUnknownValues)
Sets whether 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. The value set with #setFormatOptions(FormatOptions) property determines what BigQuery treats as an extra value.
See Also: Ignore Unknown Values
| Parameter |
| Name |
Description |
ignoreUnknownValues |
Boolean
|
setMaxBadRecords(Integer maxBadRecords)
public abstract ExternalTableDefinition.Builder setMaxBadRecords(Integer maxBadRecords)
Sets the maximum number of bad records that BigQuery can ignore when reading data. If the
number of bad records exceeds this value, an invalid error is returned in the job result. The
default value is 0, which requires that all records are valid.
| Parameter |
| Name |
Description |
maxBadRecords |
Integer
|
setMaxStaleness(String maxStaleness)
public ExternalTableDefinition.Builder setMaxStaleness(String maxStaleness)
[Optional] Metadata Cache Mode for the table. Set this to enable caching of metadata from
external data source.
See Also: MaxStaleness
| Parameter |
| Name |
Description |
maxStaleness |
String
|
public ExternalTableDefinition.Builder setMetadataCacheMode(String metadataCacheMode)
[Optional] Metadata Cache Mode for the table. Set this to enable caching of metadata from
external data source.
See Also: MetadataCacheMode
| Parameter |
| Name |
Description |
metadataCacheMode |
String
|
setNullMarkers(List<String> nullMarkers)
public abstract ExternalTableDefinition.Builder setNullMarkers(List<String> nullMarkers)
A list of strings represented as SQL NULL value in a CSV file. null_marker and null_markers
can't be set at the same time. If null_marker is set, null_markers has to be not set. If
null_markers is set, null_marker has to be not set. If both null_marker and null_markers are
set at the same time, a user error would be thrown. Any strings listed in null_markers,
including empty string would be interpreted as SQL NULL. This applies to all column types.
| Parameter |
| Name |
Description |
nullMarkers |
List<String>
|
public ExternalTableDefinition.Builder setObjectMetadata(String objectMetadata)
| Parameter |
| Name |
Description |
objectMetadata |
String
|
setReferenceFileSchemaUri(String referenceFileSchemaUri)
public abstract ExternalTableDefinition.Builder setReferenceFileSchemaUri(String referenceFileSchemaUri)
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.
| Parameter |
| Name |
Description |
referenceFileSchemaUri |
String
or null for none
|
setSchema(Schema schema)
public abstract ExternalTableDefinition.Builder setSchema(Schema schema)
| Parameter |
| Name |
Description |
schema |
Schema
|
Overrides
setSourceColumnMatch(ExternalTableDefinition.SourceColumnMatch sourceColumnMatch)
public abstract ExternalTableDefinition.Builder setSourceColumnMatch(ExternalTableDefinition.SourceColumnMatch sourceColumnMatch)
Controls the strategy used to match loaded columns to the schema. If not set, a sensible
default is chosen based on how the schema is provided. If autodetect is used, then columns
are matched by name. Otherwise, columns are matched by position. This is done to keep the
behavior backward-compatible. Acceptable values are: POSITION - matches by position. This
assumes that the columns are ordered the same way as the schema. NAME - matches by name. This
reads the header row as column names and reorders columns to match the field names in the
schema.
setSourceUris(List<String> sourceUris)
public ExternalTableDefinition.Builder setSourceUris(List<String> sourceUris)
Sets the fully-qualified URIs that point to your data in Google Cloud Storage (e.g.
gs://bucket/path). Each URI can contain one '*' wildcard character that must come after the
bucket's name. Size limits related to load jobs apply to external data sources, plus an
additional limit of 10 GB maximum size across all URIs.
For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully
specified and valid HTTPS URL for a Google Cloud Bigtable table.
For Google Cloud Datastore backup URIs: Exactly one URI can be specified. Also, the '*'
wildcard character is not allowed.
See Also: Quota
| Parameter |
| Name |
Description |
sourceUris |
List<String>
|
public abstract ExternalTableDefinition.Builder setTimeFormat(String timeFormat)
Format used to parse TIME values. Supports C-style and SQL-style values.
| Parameter |
| Name |
Description |
timeFormat |
String
|
setTimeZone(String timeZone)
public abstract ExternalTableDefinition.Builder setTimeZone(String timeZone)
Time zone used when parsing timestamp values that do not have specific time zone information
(e.g. 2024-04-20 12:34:56). The expected format is a IANA timezone string (e.g.
America/Los_Angeles).
| Parameter |
| Name |
Description |
timeZone |
String
|
public abstract ExternalTableDefinition.Builder setTimestampFormat(String timestampFormat)
Format used to parse TIMESTAMP values. Supports C-style and SQL-style values.
| Parameter |
| Name |
Description |
timestampFormat |
String
|
setType(TableDefinition.Type type)
public abstract ExternalTableDefinition.Builder setType(TableDefinition.Type type)
Overrides