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
if num_retries:
            warnings.warn("Parameter `num_retries` is deprecated", DeprecationWarning)
        _table_resource: Dict[str, Any] = {}
        if self.location:
            _table_resource['location'] = self.location
        if schema_fields:
            _table_resource['schema'] = {'fields': schema_fields}
        if time_partitioning:
            _table_resource['timePartitioning'] = time_partitioning
        if cluster_fields:
            _table_resource['clustering'] = {'fields': cluster_fields}
        if labels:
            _table_resource['labels'] = labels
        if view:
            _table_resource['view'] = view
        if encryption_configuration:
            _table_resource["encryptionConfiguration"] = encryption_configuration
        table_resource = table_resource or _table_resource
        table_resource = self._resolve_table_reference(
            table_resource=table_resource,
            project_id=project_id,
            dataset_id=dataset_id,
            table_id=table_id,
        )
        table = Table.from_api_repr(table_resource)
        return self.get_client(project_id=project_id, location=location).create_table(
            table=table, exists_ok=exists_ok, retry=retry
        )
    @GoogleBaseHook.fallback_to_default_project_id
    def create_empty_dataset(