Class: Google::Apis::BigqueryV2::CsvOptions

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

Overview

Information related to a CSV data source.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ CsvOptions

Returns a new instance of CsvOptions.



1714
1715
1716
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1714

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

Instance Attribute Details

#allow_jagged_rowsBoolean Also known as: allow_jagged_rows?

Optional. Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing 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. Corresponds to the JSON property allowJaggedRows

Returns:

  • (Boolean)


1615
1616
1617
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1615

def allow_jagged_rows
  @allow_jagged_rows
end

#allow_quoted_newlinesBoolean Also known as: allow_quoted_newlines?

Optional. Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. Corresponds to the JSON property allowQuotedNewlines

Returns:

  • (Boolean)


1622
1623
1624
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1622

def allow_quoted_newlines
  @allow_quoted_newlines
end

#encodingString

Optional. The character encoding of the data. The supported values are UTF-8, ISO-8859-1, UTF-16BE, UTF-16LE, UTF-32BE, and UTF-32LE. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. Corresponds to the JSON property encoding

Returns:

  • (String)


1631
1632
1633
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1631

def encoding
  @encoding
end

#field_delimiterString

Optional. The separator character for fields in a CSV file. The separator is interpreted as a single byte. For files encoded in ISO-8859-1, any single character can be used as a separator. For files encoded in UTF-8, characters represented in decimal range 1-127 (U+0001-U+007F) can be used without any modification. UTF-8 characters encoded with multiple bytes (i.e. U+0080 and above) will have only the first byte used for separating fields. The remaining bytes will be treated as a part of the field. BigQuery also supports the escape sequence "\t" (U+0009) to specify a tab separator. The default value is comma (",", U+002C). Corresponds to the JSON property fieldDelimiter

Returns:

  • (String)


1644
1645
1646
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1644

def field_delimiter
  @field_delimiter
end

#null_markerString

Optional. Specifies a string that represents a null value in a CSV file. For example, if you specify "\N", BigQuery interprets "\N" as a null value when querying a CSV file. The default value is the empty string. If you set this property to a custom value, BigQuery throws an error if an empty string is present for all data types except for STRING and BYTE. For STRING and BYTE columns, BigQuery interprets the empty string as an empty value. Corresponds to the JSON property nullMarker

Returns:

  • (String)


1654
1655
1656
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1654

def null_marker
  @null_marker
end

#null_markersArray<String>

Optional. A list of strings represented as SQL NULL value in a CSV file. null_marker and null_markers can't be set at the same time. If null_marker is set, null_markers has to be not set. If null_markers is set, null_marker has to be not set. If both null_marker and null_markers are set at the same time, a user error would be thrown. Any strings listed in null_markers, including empty string would be interpreted as SQL NULL. This applies to all column types. Corresponds to the JSON property nullMarkers

Returns:

  • (Array<String>)


1665
1666
1667
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1665

def null_markers
  @null_markers
end

#preserve_ascii_control_charactersBoolean Also known as: preserve_ascii_control_characters?

Optional. Indicates if the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') are preserved. Corresponds to the JSON property preserveAsciiControlCharacters

Returns:

  • (Boolean)


1671
1672
1673
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1671

def preserve_ascii_control_characters
  @preserve_ascii_control_characters
end

#quoteString

Optional. The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ("). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. To include the specific quote character within a quoted value, precede it with an additional matching quote character. For example, if you want to escape the default character ' " ', use ' "" '. Corresponds to the JSON property quote

Returns:

  • (String)


1685
1686
1687
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1685

def quote
  @quote
end

#skip_leading_rowsFixnum

Optional. The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. Corresponds to the JSON property skipLeadingRows

Returns:

  • (Fixnum)


1700
1701
1702
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1700

def skip_leading_rows
  @skip_leading_rows
end

#source_column_matchString

Optional. Controls the strategy used to match loaded columns to the schema. If not set, a sensible default is chosen based on how the schema is provided. If autodetect is used, then columns are matched by name. Otherwise, columns are matched by position. This is done to keep the behavior backward-compatible. Acceptable values are: POSITION - matches by position. This assumes that the columns are ordered the same way as the schema. NAME - matches by name. This reads the header row as column names and reorders columns to match the field names in the schema. Corresponds to the JSON property sourceColumnMatch

Returns:

  • (String)


1712
1713
1714
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1712

def source_column_match
  @source_column_match
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1719

def update!(**args)
  @allow_jagged_rows = args[:allow_jagged_rows] if args.key?(:allow_jagged_rows)
  @allow_quoted_newlines = args[:allow_quoted_newlines] if args.key?(:allow_quoted_newlines)
  @encoding = args[:encoding] if args.key?(:encoding)
  @field_delimiter = args[:field_delimiter] if args.key?(:field_delimiter)
  @null_marker = args[:null_marker] if args.key?(:null_marker)
  @null_markers = args[:null_markers] if args.key?(:null_markers)
  @preserve_ascii_control_characters = args[:preserve_ascii_control_characters] if args.key?(:preserve_ascii_control_characters)
  @quote = args[:quote] if args.key?(:quote)
  @skip_leading_rows = args[:skip_leading_rows] if args.key?(:skip_leading_rows)
  @source_column_match = args[:source_column_match] if args.key?(:source_column_match)
end