Class: Google::Apis::BigqueryV2::HivePartitioningOptions

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ HivePartitioningOptions

Returns a new instance of HivePartitioningOptions.



2661
2662
2663
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2661

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#modeString

[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

Returns:

  • (String)


2637
2638
2639
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2637

def mode
  @mode
end

#require_partition_filterBoolean 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

Returns:

  • (Boolean)


2646
2647
2648
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2646

def require_partition_filter
  @require_partition_filter
end

#source_uri_prefixString

[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

Returns:

  • (String)


2659
2660
2661
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2659

def source_uri_prefix
  @source_uri_prefix
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2666
2667
2668
2669
2670
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2666

def update!(**args)
  @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