def run_load(self,<EOL>destination_project_dataset_table,<EOL>source_uris,<EOL>schema_fields=None,<EOL>source_format='<STR_LIT>',<EOL>create_disposition='<STR_LIT>',<EOL>skip_leading_rows=<NUM_LIT:0>,<EOL>write_disposition='<STR_LIT>',<EOL>field_delimiter='<STR_LIT:U+002C>',<EOL>max_bad_records=<NUM_LIT:0>,<EOL>quote_character=None,<EOL>ignore_unknown_values=False,<EOL>allow_quoted_newlines=False,<EOL>allow_jagged_rows=False,<EOL>schema_update_options=(),<EOL>src_fmt_configs=None,<EOL>time_partitioning=None,<EOL>cluster_fields=None,<EOL>autodetect=False):
<EOL>if schema_fields is None and not autodetect:<EOL><INDENT>raise ValueError(<EOL>'<STR_LIT>')<EOL><DEDENT>if src_fmt_configs is None:<EOL><INDENT>src_fmt_configs = {}<EOL><DEDENT>source_format = source_format.upper()<EOL>allowed_formats = [<EOL>"<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>",<EOL>"<STR_LIT>", "<STR_LIT>"<EOL>]<EOL>if source_format not in allowed_formats:<EOL><INDENT>raise ValueError("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>.format(source_format, allowed_formats))<EOL><DEDENT>allowed_schema_update_options = [<EOL>'<STR_LIT>', "<STR_LIT>"<EOL>]<EOL>if not set(allowed_schema_update_options).issuperset(<EOL>set(schema_update_options)):<EOL><INDENT>raise ValueError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>.format(schema_update_options, allowed_schema_update_options))<EOL><DEDENT>destination_project, destination_dataset, destination_table =_split_tablename(table_input=destination_project_dataset_table,<EOL>default_project_id=self.project_id,<EOL>var_name='<STR_LIT>')<EOL>configuration = {<EOL>'<STR_LIT>': {<EOL>'<STR_LIT>': autodetect,<EOL>'<STR_LIT>': create_disposition,<EOL>'<STR_LIT>': {<EOL>'<STR_LIT>': destination_project,<EOL>'<STR_LIT>': destination_dataset,<EOL>'<STR_LIT>': destination_table,<EOL>},<EOL>'<STR_LIT>': source_format,<EOL>'<STR_LIT>': source_uris,<EOL>'<STR_LIT>': write_disposition,<EOL>'<STR_LIT>': ignore_unknown_values<EOL>}<EOL>}<EOL>time_partitioning = _cleanse_time_partitioning(<EOL>destination_project_dataset_table,<EOL>time_partitioning<EOL>)<EOL>if time_partitioning:<EOL><INDENT>configuration['<STR_LIT>'].update({<EOL>'<STR_LIT>': time_partitioning<EOL>})<EOL><DEDENT>if cluster_fields:<EOL><INDENT>configuration['<STR_LIT>'].update({'<STR_LIT>': {'<STR_LIT>': cluster_fields}})<EOL><DEDENT>if schema_fields:<EOL><INDENT>configuration['<STR_LIT>']['<STR_LIT>'] = {'<STR_LIT>': schema_fields}<EOL><DEDENT>if schema_update_options:<EOL><INDENT>if write_disposition not in ["<STR_LIT>", "<STR_LIT>"]:<EOL><INDENT>raise ValueError("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>self.log.info(<EOL>"<STR_LIT>",<EOL>schema_update_options<EOL>)<EOL>configuration['<STR_LIT>'][<EOL>'<STR_LIT>'] = schema_update_options<EOL><DEDENT><DEDENT>if max_bad_records:<EOL><INDENT>configuration['<STR_LIT>']['<STR_LIT>'] = max_bad_records<EOL><DEDENT>if '<STR_LIT>' not in src_fmt_configs:<EOL><INDENT>src_fmt_configs['<STR_LIT>'] = skip_leading_rows<EOL><DEDENT>if '<STR_LIT>' not in src_fmt_configs:<EOL><INDENT>src_fmt_configs['<STR_LIT>'] = field_delimiter<EOL><DEDENT>if '<STR_LIT>' not in src_fmt_configs:<EOL><INDENT>src_fmt_configs['<STR_LIT>'] = ignore_unknown_values<EOL><DEDENT>if quote_character is not None:<EOL><INDENT>src_fmt_configs['<STR_LIT>'] = quote_character<EOL><DEDENT>if allow_quoted_newlines:<EOL><INDENT>src_fmt_configs['<STR_LIT>'] = allow_quoted_newlines<EOL><DEDENT>src_fmt_to_configs_mapping = {<EOL>'<STR_LIT>': [<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>'<EOL>],<EOL>'<STR_LIT>': ['<STR_LIT>'],<EOL>'<STR_LIT>': ['<STR_LIT>', '<STR_LIT>'],<EOL>'<STR_LIT>': ['<STR_LIT>', '<STR_LIT>'],<EOL>'<STR_LIT>': ['<STR_LIT>'],<EOL>}<EOL>valid_configs = src_fmt_to_configs_mapping[source_format]<EOL>src_fmt_configs = {<EOL>k: v<EOL>for k, v in src_fmt_configs.items() if k in valid_configs<EOL>}<EOL>configuration['<STR_LIT>'].update(src_fmt_configs)<EOL>if allow_jagged_rows:<EOL><INDENT>configuration['<STR_LIT>']['<STR_LIT>'] = allow_jagged_rows<EOL><DEDENT>return self.run_with_configuration(configuration)<EOL>
Executes a BigQuery load command to load data from Google Cloud Storage
to BigQuery. See here:

https://cloud.google.com/bigquery/docs/reference/v2/jobs

For more details about these parameters.

:param destination_project_dataset_table:
    The dotted ``(<project>.|<project>:)<dataset>.<table>($<partition>)`` BigQuery
    table to load data into. If ``<project>`` is not included, project will be the
    project defined in the connection json. If a partition is specified the
    operator will automatically append the data, create a new partition or create
    a new DAY partitioned table.
:type destination_project_dataset_table: str
:param schema_fields: The schema field list as defined here:
    https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load
    Required if autodetect=False; optional if autodetect=True.
:type schema_fields: list
:param autodetect: Attempt to autodetect the schema for CSV and JSON
    source files.
:type autodetect: bool
:param source_uris: The source Google Cloud
    Storage URI (e.g. gs://some-bucket/some-file.txt). A single wild
    per-object name can be used.
:type source_uris: list
:param source_format: File format to export.
:type source_format: str
:param create_disposition: The create disposition if the table doesn't exist.
:type create_disposition: str
:param skip_leading_rows: Number of rows to skip when loading from a CSV.
:type skip_leading_rows: int
:param write_disposition: The write disposition if the table already exists.
:type write_disposition: str
:param field_delimiter: The delimiter to use when loading from a CSV.
:type field_delimiter: str
:param max_bad_records: The maximum number of bad records that BigQuery can
    ignore when running the job.
:type max_bad_records: int
:param quote_character: The value that is used to quote data sections in a CSV
    file.
:type quote_character: str
:param 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.
:type ignore_unknown_values: bool
:param allow_quoted_newlines: Whether to allow quoted newlines (true) or not
    (false).
:type allow_quoted_newlines: bool
:param allow_jagged_rows: Accept rows that are missing trailing optional columns.
    The missing values are treated as nulls. 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. Only applicable when
    soure_format is CSV.
:type allow_jagged_rows: bool
:param schema_update_options: Allows the schema of the destination
    table to be updated as a side effect of the load job.
:type schema_update_options: tuple
:param src_fmt_configs: configure optional fields specific to the source format
:type src_fmt_configs: dict
:param time_partitioning: configure optional time partitioning fields i.e.
    partition by field, type and  expiration as per API specifications.
:type time_partitioning: dict
:param cluster_fields: Request that the result of this load be stored sorted
    by one or more columns. This is only available in combination with
    time_partitioning. The order of columns given determines the sort order.
:type cluster_fields: list[str]