BigQuery supports clustering for both partitioned and non-partitioned tables.

Reference: [https://cloud.google.com/bigquery/docs/clustered-tables](https://cloud.google.com/bigquery/docs/clustered-tables)
airflow/providers/google/cloud/hooks/bigquery.py
# 
        # 
        # 
        #   
        allowed_schema_update_options = ['ALLOW_FIELD_ADDITION', "ALLOW_FIELD_RELAXATION"]
        if not set(allowed_schema_update_options).issuperset(set(schema_update_options)):
            raise ValueError(
                "{0} contains invalid schema update options. "
                "Please only use one or more of the following "
                "options: {1}".format(schema_update_options, allowed_schema_update_options)
            )
        if schema_update_options:
            if write_disposition not in ["WRITE_APPEND", "WRITE_TRUNCATE"]:
                raise ValueError(
                    "schema_update_options is only "
                    "allowed if write_disposition is "
                    "'WRITE_APPEND' or 'WRITE_TRUNCATE'."
                )
        if destination_dataset_table:
            destination_project, destination_dataset, destination_table = _split_tablename(
                table_input=destination_dataset_table, default_project_id=self.project_id
            )
            destination_dataset_table = {  # 
                'projectId': destination_project,
                'datasetId': destination_dataset,
                'tableId': destination_table,
            }
        if cluster_fields:
            cluster_fields = {'fields': cluster_fields}  # 
        query_param_list = [