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
entity_type="view",
            entity_id={'projectId': view_project, 'datasetId': view_dataset, 'tableId': view_table},
        )
        dataset = self.get_dataset(project_id=project_id, dataset_id=source_dataset)
        # 
        if view_access not in dataset.access_entries:
            self.log.info(
                'Granting table %s:%s.%s authorized view access to %s:%s dataset.',
                view_project,
                view_dataset,
                view_table,
                project_id,
                source_dataset,
            )
            dataset.access_entries += [view_access]
            dataset = self.update_dataset(
                fields=["access"], dataset_resource=dataset.to_api_repr(), project_id=project_id
            )
        else:
            self.log.info(
                'Table %s:%s.%s already has authorized view access to %s:%s dataset.',
                view_project,
                view_dataset,
                view_table,
                project_id,
                source_dataset,
            )
        return dataset.to_api_repr()
    @GoogleBaseHook.fallback_to_default_project_id
    def run_table_upsert(