在Python Pandas中使用read_parquet从AWS S3读取Parquet文件时出现分段错误

时间:2019-09-04 15:11:05

标签: python pandas amazon-web-services fastparquet

我有一个在AWS EC2(在AWS Linux上)上运行的python脚本,并且这些脚本将实木复合地板文件从S3提取到Pandas数据框中。我现在正在迁移到新的AWS账户并设置新的EC2。这次在python虚拟环境上执行相同的脚本时,出现“段错误”,执行结束。

import pandas as pd
import numpy as np
import pyarrow.parquet as pq
import s3fs
import boto3
from fastparquet import write
from fastparquet import ParquetFile

print("loading...")
df = pd.read_parquet('<my_s3_path.parquet>', engine='fastparquet')

所有软件包都已导入,所有S3和AWS配置都已设置。

执行完整脚本时,我得到:

loading...
Segmentation fault

如您所见,可以使用的内容并不多。我已经搜寻了几个小时,并且看到了许多猜测和出现此症状的原因。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我能够通过更改使用的引擎参数来解决此问题。 根据{{​​3}}的官方文档,这些是引擎选项:

  

引擎:{'auto','pyarrow','fastparquet'},默认为'auto'

因此只需更改为“自动”即可解决问题。

df = pd.read_parquet('<my_s3_path.parquet>')