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