我要使用以下代码(基于示例pandas-gbq-migration) 如下:
from google.cloud import bigquery
import pandas
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "link_to_credentials.json"
df = pandas.DataFrame(
{
'my_string': ['a', 'b', 'c'],
'my_int64': [1, 2, 3],
'my_float64': [4.0, 5.0, 6.0],
}
)
client = bigquery.Client()
dataset_ref = client.dataset('TMP')
table_ref = dataset_ref.table('yosh_try_uload_from_client')
client.load_table_from_dataframe(df, table_ref).result()
我收到以下错误:
ImportError: Unable to find a usable engine; tried using: 'pyarrow', 'fastparquet'.
pyarrow or fastparquet is required for parquet support
看了一些类似这样的问题之后:
我了解我需要在配置中进行一些更改(也许添加模式?)
有人可以帮助我吗,我没能从文档中了解如何做到这一点。
谢谢!
答案 0 :(得分:4)
您需要安装pyarrow
(docs表示,除非您有实木复合地板引擎,否则将引发ImportError
)。 load_table_from_dataframe
方法将数据帧写入镶木地板,并在加载作业中将源格式设置为镶木地板。我不太确定为什么要做出这个选择,但是它是硬编码的,与使用其他格式进行自己的实现相比,安装pyarrow
更直接,更安全。