Class ExternalTableDefinition.Builder

Enclosing class:
ExternalTableDefinition

public abstract static class ExternalTableDefinition.Builder extends TableDefinition.Builder<ExternalTableDefinition,ExternalTableDefinition.Builder>
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • setSourceUris

      public ExternalTableDefinition.Builder setSourceUris(List<String> sourceUris)
      Sets the fully-qualified URIs that point to your data in Google Cloud Storage (e.g. gs://bucket/path). Each URI can contain one '*' wildcard character that must come after the bucket's name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs.

      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 backup URIs: Exactly one URI can be specified. Also, the '*' wildcard character is not allowed.

      See Also:
    • setFileSetSpecType

      public ExternalTableDefinition.Builder setFileSetSpecType(String fileSetSpecType)
      Defines how to interpret files denoted by URIs. By default the files are assumed to be data files (this can be specified explicitly via FILE_SET_SPEC_TYPE_FILE_SYSTEM_MATCH). A second option is "FILE_SET_SPEC_TYPE_NEW_LINE_DELIMITED_MANIFEST" which interprets each file as a manifest file, where each line is a reference to a file.
    • setFormatOptions

      public ExternalTableDefinition.Builder setFormatOptions(FormatOptions formatOptions)
      Sets the source format, and possibly some parsing options, of the external data. Supported formats are CSV and NEWLINE_DELIMITED_JSON.

      Source Format

    • setDecimalTargetTypes

      public abstract ExternalTableDefinition.Builder setDecimalTargetTypes(List<String> decimalTargetTypes)
      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.
      Parameters:
      decimalTargetTypes - decimalTargetType or null for none
    • setMaxBadRecords

      public abstract ExternalTableDefinition.Builder setMaxBadRecords(Integer maxBadRecords)
      Sets 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. The default value is 0, which requires that all records are valid.
    • setIgnoreUnknownValues

      public abstract ExternalTableDefinition.Builder setIgnoreUnknownValues(Boolean ignoreUnknownValues)
      Sets whether 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 value set with setFormatOptions(FormatOptions) property determines what BigQuery treats as an extra value.
      See Also:
    • setCompression

      public abstract ExternalTableDefinition.Builder setCompression(String compression)
      Sets compression type of the data source. By default no compression is assumed.
      See Also:
    • setConnectionId

      public abstract ExternalTableDefinition.Builder setConnectionId(String connectionId)
      [Optional, Trusted Tester] connectionId for external data source. The value may be null.
    • setAutodetect

      public abstract ExternalTableDefinition.Builder setAutodetect(Boolean autodetect)
      [Experimental] Sets detection of schema and format options automatically. Any option specified explicitly will be honored.
    • setType

      public abstract ExternalTableDefinition.Builder setType(TableDefinition.Type type)
      Specified by:
      setType in class TableDefinition.Builder<ExternalTableDefinition,ExternalTableDefinition.Builder>
    • setSchema

      public abstract ExternalTableDefinition.Builder setSchema(Schema schema)
      Sets the table schema.
      Specified by:
      setSchema in class TableDefinition.Builder<ExternalTableDefinition,ExternalTableDefinition.Builder>
    • setHivePartitioningOptions

      public ExternalTableDefinition.Builder setHivePartitioningOptions(HivePartitioningOptions hivePartitioningOptions)
      Sets the table Hive partitioning options.
    • setReferenceFileSchemaUri

      public abstract ExternalTableDefinition.Builder setReferenceFileSchemaUri(String referenceFileSchemaUri)
      When creating an external table, the user can provide a reference file with the table schema. This is enabled for the following formats: AVRO, PARQUET, ORC.
      Parameters:
      referenceFileSchemaUri - or null for none
    • build

      public abstract ExternalTableDefinition build()
      Creates an ExternalTableDefinition object.
      Specified by:
      build in class TableDefinition.Builder<ExternalTableDefinition,ExternalTableDefinition.Builder>