Где определяется bigquery.client.query.to_dataframe? - PullRequest
0 голосов
/ 27 сентября 2018

У нас есть конвейер обработки данных на основе:

  • pandas (0.23.4)
  • google.cloud.bigquery (1.5.0) и
  • pyarrow (0.10.0)

Для предотвращения проблем с преобразованием типов и т. Д. Я смотрю на то, что происходит под капотом.

Из исходного кода я вижу, чтозагрузка кадра данных с bigquery.client.load_table_from_dataframe() использует паркет в качестве промежуточного формата.dateframe.to_parquet вызывается и буфер загружается в bigquery.

Я не понимаю, как это работает наоборот.Исходный код bigquery.client.sql.to_dataframe() гласит:

def to_dataframe(self):
    """Return a pandas DataFrame from a QueryJob

    Returns:
        A :class:`~pandas.DataFrame` populated with row data and column
        headers from the query results. The column headers are derived
        from the destination table's schema.

    Raises:
        ValueError: If the `pandas` library cannot be imported.
    """
    return self.result().to_dataframe()

У меня не так много опыта работы с Python с классами, на самом деле это означает, что to_dataframe() определено выше в иерархии классов.

Возвращаясь, я в конечном итоге на _AsyncJob, который является ребенком google.api_core.future.polling.PollingFuture.Но я нигде не могу найти определение.

Помогите, кто-нибудь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...