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/operators/bigquery.py
)
            gcp_conn_id = bigquery_conn_id
        self.dataset_id = dataset_id
        self.table_id = table_id
        self.max_results = int(max_results)
        self.selected_fields = selected_fields
        self.gcp_conn_id = gcp_conn_id
        self.delegate_to = delegate_to
        self.location = location
        self.impersonation_chain = impersonation_chain
    def execute(self, context) -> list:
        self.log.info(
            'Fetching Data from %s.%s max results: %s', self.dataset_id, self.table_id, self.max_results
        )
        hook = BigQueryHook(
            bigquery_conn_id=self.gcp_conn_id,
            delegate_to=self.delegate_to,
            impersonation_chain=self.impersonation_chain,
        )
        rows = hook.list_rows(
            dataset_id=self.dataset_id,
            table_id=self.table_id,
            max_results=self.max_results,
            selected_fields=self.selected_fields,
            location=self.location,
        )
        self.log.info('Total extracted rows: %s', len(rows))
        table_data = [row.values() for row in rows]
        return table_data
class BigQueryExecuteQueryOperator(BaseOperator):