Class: Google::Cloud::Bigquery::External::CsvSource
- Inherits:
-
DataSource
- Object
- DataSource
- Google::Cloud::Bigquery::External::CsvSource
- Defined in:
- lib/google/cloud/bigquery/external/csv_source.rb
Overview
CsvSource
CsvSource is a subclass of DataSource and represents a CSV external data source that can be queried from directly, such as Google Cloud Storage or Google Drive, even though the data is not stored in BigQuery. Instead of loading or streaming the data, this object references the external data source.
Instance Method Summary collapse
-
#delimiter ⇒ String
The separator for fields in a CSV file.
-
#delimiter=(new_delimiter) ⇒ Object
Set the separator for fields in a CSV file.
-
#encoding ⇒ String
The character encoding of the data.
-
#encoding=(new_encoding) ⇒ Object
Set the character encoding of the data.
-
#fields ⇒ Array<Schema::Field>
The fields of the schema.
-
#headers ⇒ Array<Symbol>
The names of the columns in the schema.
-
#iso8859_1? ⇒ Boolean
Checks if the character encoding of the data is "ISO-8859-1".
-
#jagged_rows ⇒ Boolean
Indicates if BigQuery should accept rows that are missing trailing optional columns.
-
#jagged_rows=(new_jagged_rows) ⇒ Object
Set whether BigQuery should accept rows that are missing trailing optional columns.
-
#param_types ⇒ Hash
The types of the fields in the data in the schema, using the same format as the optional query parameter types.
-
#quote ⇒ String
The value that is used to quote data sections in a CSV file.
-
#quote=(new_quote) ⇒ Object
Set the value that is used to quote data sections in a CSV file.
-
#quoted_newlines ⇒ Boolean
Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file.
-
#quoted_newlines=(new_quoted_newlines) ⇒ Object
Set whether BigQuery should allow quoted data sections that contain newline characters in a CSV file.
-
#schema(replace: false) {|schema| ... } ⇒ Google::Cloud::Bigquery::Schema
The schema for the data.
-
#schema=(new_schema) ⇒ Object
Set the schema for the data.
-
#skip_leading_rows ⇒ Integer
The number of rows at the top of a CSV file that BigQuery will skip when reading the data.
-
#skip_leading_rows=(row_count) ⇒ Object
Set the number of rows at the top of a CSV file that BigQuery will skip when reading the data.
-
#utf8? ⇒ Boolean
Checks if the character encoding of the data is "UTF-8".
Methods inherited from DataSource
#autodetect, #autodetect=, #avro?, #backup?, #bigtable?, #compression, #compression=, #csv?, #format, #hive_partitioning?, #hive_partitioning_mode, #hive_partitioning_mode=, #hive_partitioning_require_partition_filter=, #hive_partitioning_require_partition_filter?, #hive_partitioning_source_uri_prefix, #hive_partitioning_source_uri_prefix=, #ignore_unknown, #ignore_unknown=, #json?, #max_bad_records, #max_bad_records=, #orc?, #parquet?, #sheets?, #urls
Instance Method Details
#delimiter ⇒ String
The separator for fields in a CSV file.
256 257 258 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 256 def delimiter @gapi..field_delimiter end |
#delimiter=(new_delimiter) ⇒ Object
Set the separator for fields in a CSV file.
277 278 279 280 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 277 def delimiter= new_delimiter frozen_check! @gapi..field_delimiter = new_delimiter end |
#encoding ⇒ String
The character encoding of the data.
167 168 169 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 167 def encoding @gapi..encoding end |
#encoding=(new_encoding) ⇒ Object
Set the character encoding of the data.
188 189 190 191 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 188 def encoding= new_encoding frozen_check! @gapi..encoding = new_encoding end |
#fields ⇒ Array<Schema::Field>
The fields of the schema.
439 440 441 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 439 def fields schema.fields end |
#headers ⇒ Array<Symbol>
The names of the columns in the schema.
448 449 450 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 448 def headers schema.headers end |
#iso8859_1? ⇒ Boolean
Checks if the character encoding of the data is "ISO-8859-1".
235 236 237 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 235 def iso8859_1? encoding == "ISO-8859-1" end |
#jagged_rows ⇒ Boolean
Indicates if BigQuery should accept rows that are missing trailing optional columns.
78 79 80 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 78 def jagged_rows @gapi..allow_jagged_rows end |
#jagged_rows=(new_jagged_rows) ⇒ Object
Set whether BigQuery should accept rows that are missing trailing optional columns.
100 101 102 103 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 100 def jagged_rows= new_jagged_rows frozen_check! @gapi..allow_jagged_rows = new_jagged_rows end |
#param_types ⇒ Hash
The types of the fields in the data in the schema, using the same format as the optional query parameter types.
458 459 460 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 458 def param_types schema.param_types end |
#quote ⇒ String
The value that is used to quote data sections in a CSV file.
299 300 301 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 299 def quote @gapi..quote end |
#quote=(new_quote) ⇒ Object
Set the value that is used to quote data sections in a CSV file.
320 321 322 323 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 320 def quote= new_quote frozen_check! @gapi..quote = new_quote end |
#quoted_newlines ⇒ Boolean
Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file.
123 124 125 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 123 def quoted_newlines @gapi..allow_quoted_newlines end |
#quoted_newlines=(new_quoted_newlines) ⇒ Object
Set whether BigQuery should allow quoted data sections that contain newline characters in a CSV file.
145 146 147 148 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 145 def quoted_newlines= new_quoted_newlines frozen_check! @gapi..allow_quoted_newlines = new_quoted_newlines end |
#schema(replace: false) {|schema| ... } ⇒ Google::Cloud::Bigquery::Schema
The schema for the data.
397 398 399 400 401 402 403 404 405 406 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 397 def schema replace: false @schema ||= Schema.from_gapi @gapi.schema if replace frozen_check! @schema = Schema.from_gapi end @schema.freeze if frozen? yield @schema if block_given? @schema end |
#schema=(new_schema) ⇒ Object
Set the schema for the data.
429 430 431 432 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 429 def schema= new_schema frozen_check! @schema = new_schema end |
#skip_leading_rows ⇒ Integer
The number of rows at the top of a CSV file that BigQuery will skip when reading the data.
343 344 345 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 343 def skip_leading_rows @gapi..skip_leading_rows end |
#skip_leading_rows=(row_count) ⇒ Object
Set the number of rows at the top of a CSV file that BigQuery will skip when reading the data.
365 366 367 368 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 365 def skip_leading_rows= row_count frozen_check! @gapi..skip_leading_rows = row_count end |
#utf8? ⇒ Boolean
Checks if the character encoding of the data is "UTF-8". This is the default.
212 213 214 215 |
# File 'lib/google/cloud/bigquery/external/csv_source.rb', line 212 def utf8? return true if encoding.nil? encoding == "UTF-8" end |