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.
3776 3777 3778 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3776 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
3737 3738 3739 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3737 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
3748 3749 3750 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3748 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
3757 3758 3759 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3757 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
3774 3775 3776 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3774 def source_uri_prefix @source_uri_prefix end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3781 3782 3783 3784 3785 3786 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3781 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 |