【发布时间】:2019-01-15 17:39:48
【问题描述】:
我有一个 csv 文件,可以使用 pandas 访问,但使用 dask 数据帧失败。 我使用完全相同的参数,但 dask 仍然出现错误。
熊猫用例:
import pandas as pd
mycols = ['id', 'tran_id', 'client_id', 'm_text', 'retry', 'tran_date']
df = pd.read_csv('s3://some_bucket/abigd/hed4.csv',
sep=',', header=None, names=mycols, skipinitialspace=True, escapechar='\\',
engine='python', dtype=str )
熊猫输出:
df.retry.value_counts()
1 2792174
2 907081
3 116369
6 6475
4 5598
7 1314
5 1053
8 288
16 3
13 3
Name: retry, dtype: int64
代码:
import dask.dataframe as dd
from dask.distributed import Client
client = Client('Dask-Scheduler.local-dask:8786')
df = dd.read_csv('s3://some_bucket/abigd/hed4.csv',
sep=',', header=None, names=mycols, skipinitialspace=True, escapechar='\\',
engine='python', dtype=str,
storage_options = {'anon':False, 'key': 'xxx' , 'secret':'xxx'} )
df_persisted = client.persist(df)
df_persisted.retry.value_counts().compute()
后台输出:
ParserError: 数据意外结束
我尝试在 dask 中打开更小(和更大)的文件,但它们没有问题。该文件可能有未闭合的引号。我看不出 dask 无法读取文件的任何原因。
【问题讨论】:
标签: dask dask-distributed