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.
3729 3730 3731 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3729 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
3690 3691 3692 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3690 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
3701 3702 3703 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3701 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
3710 3711 3712 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3710 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
3727 3728 3729 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3727 def source_uri_prefix @source_uri_prefix end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3734 3735 3736 3737 3738 3739 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3734 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 |