Class: Google::Apis::BigqueryV2::HivePartitioningOptions
- Inherits:
-
Object
- Object
- Google::Apis::BigqueryV2::HivePartitioningOptions
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb
Overview
Options for configuring hive partitioning detect.
Instance Attribute Summary collapse
-
#fields ⇒ Array<String>
Output only.
-
#mode ⇒ String
Optional.
-
#require_partition_filter ⇒ Boolean
(also: #require_partition_filter?)
Optional.
-
#source_uri_prefix ⇒ String
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ HivePartitioningOptions
constructor
A new instance of HivePartitioningOptions.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ HivePartitioningOptions
Returns a new instance of HivePartitioningOptions.
3756 3757 3758 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3756 def initialize(**args) update!(**args) end |
Instance Attribute Details
#fields ⇒ Array<String>
Output only. For permanent external tables, this field is populated with the
hive partition keys in the order they were inferred. The types of the
partition keys can be deduced by checking the table schema (which will include
the partition keys). Not every API will populate this field in the output. For
example, Tables.Get will populate it, but Tables.List will not contain this
field.
Corresponds to the JSON property fields
3717 3718 3719 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3717 def fields @fields end |
#mode ⇒ String
Optional. When set, what mode of hive partitioning to use when reading data.
The following modes are supported: * AUTO: automatically infer partition key
name(s) and type(s). * STRINGS: automatically infer partition key name(s). All
types are strings. * CUSTOM: partition key schema is encoded in the source URI
prefix. Not all storage formats support hive partitioning. Requesting hive
partitioning on an unsupported format will lead to an error. Currently
supported formats are: JSON, CSV, ORC, Avro and Parquet.
Corresponds to the JSON property mode
3728 3729 3730 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3728 def mode @mode end |
#require_partition_filter ⇒ Boolean Also known as: require_partition_filter?
Optional. If set to true, queries over this table require a partition filter
that can be used for partition elimination to be specified. Note that this
field should only be true when creating a permanent external table or querying
a temporary external table. Hive-partitioned loads with
require_partition_filter explicitly set to true will fail.
Corresponds to the JSON property requirePartitionFilter
3737 3738 3739 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3737 def require_partition_filter @require_partition_filter end |
#source_uri_prefix ⇒ String
Optional. When hive partition detection is requested, a common prefix for all
source uris must be required. The prefix must end immediately before the
partition key encoding begins. For example, consider files following this data
layout: 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 When hive
partitioning is requested with either AUTO or STRINGS detection, the common
prefix can be either of gs://bucket/path_to_table or gs://bucket/path_to_table/
. CUSTOM detection requires encoding the partitioning schema immediately after
the common prefix. For CUSTOM, any of * 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
would all be valid source URI prefixes.
Corresponds to the JSON property sourceUriPrefix
3754 3755 3756 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3754 def source_uri_prefix @source_uri_prefix end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3761 3762 3763 3764 3765 3766 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3761 def update!(**args) @fields = args[:fields] if args.key?(:fields) @mode = args[:mode] if args.key?(:mode) @require_partition_filter = args[:require_partition_filter] if args.key?(:require_partition_filter) @source_uri_prefix = args[:source_uri_prefix] if args.key?(:source_uri_prefix) end |