Apache Airflow version: 1.10.*
BackPort Packages version: 2020.11.13rc1

What happened:

Although running the `BigQueryGetDataOperator` without specifying `selected_fields` appears to be successful, if you inspect `table_data` returned from `hook.list_rows` then it is just a list of empty sets.

```
[2020-11-11 15:10:30,665] {bigquery.py:483} INFO - Total extracted rows: 253
[(), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ()]
[2020-11-11 15:10:30,679] {taskinstance.py:1143} INFO - Marking task as SUCCESS. dag_id=my-test-dag-v1.0, task_id=get-table, execution_date=20201101T000000, start_date=20201111T151030, end_date=20201111T151030
```
Adding some fields to the `selected_fields` argument, does correctly return data however.

```
[2020-11-11 15:13:37,608] {bigquery.py:483} INFO - Total extracted rows: 253
[(None, 'Anonymous Proxy'), (None, 'Satellite Provider'), (None, 'Asia/Pacific Region'), (None, 'European Union'), ('Pacific', 'American Samoa'), ('Pacific', 'Australia'), ('Pacific', 'Cook Islands'), ('Pacific', 'Fiji'), ('Pacific', 'Micronesia, Federated States of'), ('Pacific', 'Guam'), ('Pacific', 'Kiribati'), ('Pacific', 'Marshall Islands'), ('Pacific', 'Northern Mariana Islands'), ('Pacific', 'New Caledonia'), ('Pacific', 'Norfolk Island'), ('Pacific', 'Nauru'),
```

I think the offending code is between this two lines:
https://github.com/apache/airflow/blob/master/airflow/providers/google/cloud/hooks/bigquery.py#L1299
https://github.com/apache/airflow/blob/master/airflow/providers/google/cloud/hooks/bigquery.py#L1312

When no fields are submitted, it passes `[]` to the `list_rows` method in the BigQuery client which returns:

```
[Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), Row((), {}), R
```

Changing `hooks.bigquery.py` so that only `None` or a non-empty list is passed will fix the issue.
airflow/providers/google/cloud/hooks/bigquery.py
self,
        project_id: str,
        dataset_id: str,
        table_id: str,
        rows: List,
        ignore_unknown_values: bool = False,
        skip_invalid_rows: bool = False,
        fail_on_error: bool = False,
    ) -> None:
        """
        Method to stream data into BigQuery one record at a time without needing
        to run a load job
        .. seealso::
            For more information, see:
            https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll
        :param project_id: The name of the project where we have the table
        :type project_id: str
        :param dataset_id: The name of the dataset where we have the table
        :type dataset_id: str
        :param table_id: The name of the table
        :type table_id: str
        :param rows: the rows to insert
        :type rows: list
        **Example or rows**:
            rows=[{"json": {"a_key": "a_value_0"}}, {"json": {"a_key": "a_value_1"}}]
        :param ignore_unknown_values: [Optional] Accept rows that contain values
            that do not match the schema. The unknown values are ignored.