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.
4244 4245 4246 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 4244 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
4205 4206 4207 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 4205 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
4216 4217 4218 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 4216 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
4225 4226 4227 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 4225 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
4242 4243 4244 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 4242 def source_uri_prefix @source_uri_prefix end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
4249 4250 4251 4252 4253 4254 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 4249 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 |