Облачные функции GCP для BigQuery - ошибка поддержки паркета - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь запустить простой тест cloud function, где я создаю таблицу BigQuery и вставляю значение. Полученная ошибка звучит так, как будто мне нужно импортировать pyarrow, поэтому я пытался это сделать, но получаю ту же ошибку Когда я запускаю эквивалентный скрипт локально, проблем нет, таблица создается, и мне даже не нужно импортировать pyarrow. Что мне здесь не хватает?

error:

ImportError: Unable to find a usable engine; tried using: 'pyarrow', 'fastparquet'. pyarrow or fastparquet is required for parquet support

main.py:

import pandas as pd
from google.cloud import bigquery
import pyarrow

def main_func(data, context):
    df = pd.DataFrame({'Test': ['Success']})

    client = bigquery.Client()

    dataset_id = #removed here but specified in the real code
    dataset = bigquery.Dataset(dataset_id)
    dataset.location = #removed here but specified in the real code
    dataset = client.create_dataset(dataset, exists_ok=True)
    print("Created dataset {}.{}".format(client.project, dataset.dataset_id))

    table_id = #removed here but specified in the real code

    job_config = bigquery.LoadJobConfig(
        schema=[
            bigquery.SchemaField("Test", bigquery.enums.SqlTypeNames.STRING),
        ],
        write_disposition="WRITE_TRUNCATE",
    )

    job = client.load_table_from_dataframe(
        df, table_id, job_config = job_config
    )

    job.result()

requirements.txt:

pandas
google-cloud-bigquery
pyarrow

1 Ответ

1 голос
/ 07 марта 2020

У вас проблема с версией Pyarrow. Pandas не обнаруживает никаких pyarrow<0.4 из-за проблем совместимости, поэтому вам следует попробовать добавить pyarrow>=0.4 в ваш requirements.txt.

Pyarrow не обнаружен должным образом после импорта луча

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