Class: Google::Apis::BigqueryV2::ExternalDataConfiguration

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) ⇒ ExternalDataConfiguration

Returns a new instance of ExternalDataConfiguration.



2509
2510
2511
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2509

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

Instance Attribute Details

#autodetectBoolean Also known as: autodetect?

Try to detect schema and format options automatically. Any option specified explicitly will be honored. Corresponds to the JSON property autodetect

Returns:

  • (Boolean)


2392
2393
2394
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2392

def autodetect
  @autodetect
end

#avro_optionsGoogle::Apis::BigqueryV2::AvroOptions

Additional properties to set if sourceFormat is set to Avro. Corresponds to the JSON property avroOptions



2398
2399
2400
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2398

def avro_options
  @avro_options
end

#bigtable_optionsGoogle::Apis::BigqueryV2::BigtableOptions

[Optional] Additional options if sourceFormat is set to BIGTABLE. Corresponds to the JSON property bigtableOptions



2403
2404
2405
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2403

def bigtable_options
  @bigtable_options
end

#compressionString

[Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. Corresponds to the JSON property compression

Returns:

  • (String)


2410
2411
2412
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2410

def compression
  @compression
end

#connection_idString

[Optional, Trusted Tester] Connection for external data source. Corresponds to the JSON property connectionId

Returns:

  • (String)


2415
2416
2417
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2415

def connection_id
  @connection_id
end

#csv_optionsGoogle::Apis::BigqueryV2::CsvOptions

Additional properties to set if sourceFormat is set to CSV. Corresponds to the JSON property csvOptions



2420
2421
2422
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2420

def csv_options
  @csv_options
end

#decimal_target_typesArray<String>

[Optional] Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is ["NUMERIC", " BIGNUMERIC"]. If (precision,scale) is: (38,9) -> NUMERIC; (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); (76,38) -> BIGNUMERIC; (77,38) -> BIGNUMERIC ( error if value exeeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [" BIGNUMERIC", "NUMERIC"] is the same as ["NUMERIC", "BIGNUMERIC"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to ["NUMERIC", "STRING"] for ORC and ["NUMERIC"] for the other file formats. Corresponds to the JSON property decimalTargetTypes

Returns:

  • (Array<String>)


2441
2442
2443
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2441

def decimal_target_types
  @decimal_target_types
end

#google_sheets_optionsGoogle::Apis::BigqueryV2::GoogleSheetsOptions

[Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. Corresponds to the JSON property googleSheetsOptions



2446
2447
2448
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2446

def google_sheets_options
  @google_sheets_options
end

#hive_partitioning_optionsGoogle::Apis::BigqueryV2::HivePartitioningOptions

[Optional] Options to configure hive partitioning support. Corresponds to the JSON property hivePartitioningOptions



2451
2452
2453
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2451

def hive_partitioning_options
  @hive_partitioning_options
end

#ignore_unknown_valuesBoolean Also known as: ignore_unknown_values?

[Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. Corresponds to the JSON property ignoreUnknownValues

Returns:

  • (Boolean)


2464
2465
2466
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2464

def ignore_unknown_values
  @ignore_unknown_values
end

#max_bad_recordsFixnum

[Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. This is only valid for CSV, JSON, and Google Sheets. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. Corresponds to the JSON property maxBadRecords

Returns:

  • (Fixnum)


2475
2476
2477
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2475

def max_bad_records
  @max_bad_records
end

#parquet_optionsGoogle::Apis::BigqueryV2::ParquetOptions

Additional properties to set if sourceFormat is set to Parquet. Corresponds to the JSON property parquetOptions



2480
2481
2482
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2480

def parquet_options
  @parquet_options
end

#schemaGoogle::Apis::BigqueryV2::TableSchema

[Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. Corresponds to the JSON property schema



2487
2488
2489
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2487

def schema
  @schema
end

#source_formatString

[Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify " NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Beta] For Google Cloud Bigtable, specify "BIGTABLE". Corresponds to the JSON property sourceFormat

Returns:

  • (String)


2496
2497
2498
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2496

def source_format
  @source_format
end

#source_urisArray<String>

[Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified. Also, the '' wildcard character is not allowed. Corresponds to the JSON property sourceUris

Returns:

  • (Array<String>)


2507
2508
2509
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2507

def source_uris
  @source_uris
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2514

def update!(**args)
  @autodetect = args[:autodetect] if args.key?(:autodetect)
  @avro_options = args[:avro_options] if args.key?(:avro_options)
  @bigtable_options = args[:bigtable_options] if args.key?(:bigtable_options)
  @compression = args[:compression] if args.key?(:compression)
  @connection_id = args[:connection_id] if args.key?(:connection_id)
  @csv_options = args[:csv_options] if args.key?(:csv_options)
  @decimal_target_types = args[:decimal_target_types] if args.key?(:decimal_target_types)
  @google_sheets_options = args[:google_sheets_options] if args.key?(:google_sheets_options)
  @hive_partitioning_options = args[:hive_partitioning_options] if args.key?(:hive_partitioning_options)
  @ignore_unknown_values = args[:ignore_unknown_values] if args.key?(:ignore_unknown_values)
  @max_bad_records = args[:max_bad_records] if args.key?(:max_bad_records)
  @parquet_options = args[:parquet_options] if args.key?(:parquet_options)
  @schema = args[:schema] if args.key?(:schema)
  @source_format = args[:source_format] if args.key?(:source_format)
  @source_uris = args[:source_uris] if args.key?(:source_uris)
end