我希望我的bigquery表数据将GCS保存到箭头文件(.arrow):
import pyarrow as pa
query = f"""
SELECT * FROM `{table_path}.{table_id}`
"""
query_results = b_client.query(query).result()
table = query_results.to_arrow()
serialized_table = pa.serialize(table).to_buffer().to_pybytes()
这是我原来的方法,但升级我的 pyarrow 版本后,我收到错误
serialize()
:
AttributeError: module 'pyarrow' has no attribute 'serialize'
我该如何解决这个问题?
另外,在 GCS 中,我的箭头文件有 130000 行和 30 列,并且
.arrow
文件大小为 60MB。当我收到请求时,我会返回读取 GCS 的数据。但速度太慢了。大约需要 30 秒。
如何让它更快?大概10秒
自定义序列化功能在 pyarrow 2.0 中已弃用。我通过降级版本解决了这个问题。
conda install -c conda-forge pyarrow=1.0.1
注意:pyarrow的版本要与python的版本匹配。