dask 从 spark 读取镶木地板文件 | 珊瑚贝

dask read parquet file from spark


对于从 spark 写入的 parquet 文件(没有任何分区),它的目录如下所示:

1
2
3
4
5
%ls foo.parquet
part-00017-c17ab661-2564-428e-8233-e7a9951fb012-c000.gz.parquet
part-00018-c17ab661-2564-428e-8233-e7a9951fb012-c000.gz.parquet
part-00019-c17ab661-2564-428e-8233-e7a9951fb012-c000.gz.parquet
_SUCCESS

尝试通过 pandas 读取时:

1
pd.read_parquet(‘foo.parquet’)

一切正常。

但是,当使用 dask 时它会失败:

1
2
dd.read_parquet(‘foo.parquet’)
 [Errno 17] File exists: ‘foo.parquet/_SUCCESS’

我需要进行哪些更改才能使 dask 能够成功读取数据?

  • 我相信它也可以与较长的 dd.read_parquet(‘foo.parquet/*parquet’) 一起使用 fastparquet。


原来pandas使用的是pyarrow。当切换到这个后端进行 dask:

1
 dd.read_parquet(‘foo.parquet’, engine=’pyarrow’)

它就像预期的那样工作

  • 但是,即使该目录仅包含大约 20 个文件,读取 parquet 文件所需的时间也确实很慢。 Spark 的 df.show 是即时的。为什么 dask df.head() 这么慢?


来源:https://www.codenong.com/61379813/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_10259.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?