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
Instance Attribute Summary collapse
-
#fields ⇒ Array<String>
[Output-only] For permanent external tables, this field is populated with the hive partition keys in the order they were inferred.
-
#mode ⇒ String
[Optional] When set, what mode of hive partitioning to use when reading data.
-
#require_partition_filter ⇒ Boolean
(also: #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.
-
#source_uri_prefix ⇒ String
[Optional] When hive partition detection is requested, a common prefix for all source uris should be supplied.
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.
3202 3203 3204 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3202 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
3166 3167 3168 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3166 def fields @fields end |
#mode ⇒ String
[Optional] When set, what mode of hive partitioning to use when reading data.
The following modes are supported. (1) AUTO: automatically infer partition key
name(s) and type(s). (2) STRINGS: automatically infer partition key name(s).
All types are interpreted as strings. (3) 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 types include: AVRO, CSV, JSON, ORC and
Parquet.
Corresponds to the JSON property mode
3178 3179 3180 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3178 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 requirePartitionFilter
explicitly set to true will fail.
Corresponds to the JSON property requirePartitionFilter
3187 3188 3189 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3187 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 should be supplied. 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-01-01/country=BR/id=7/file.avro gs://
bucket/path_to_table/dt=2018-12-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/
(trailing slash does not matter).
Corresponds to the JSON property sourceUriPrefix
3200 3201 3202 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3200 def source_uri_prefix @source_uri_prefix end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3207 3208 3209 3210 3211 3212 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3207 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 |