阅读大型DBFS-mounted文件使用Python api

学习如何解决错误读取大型DBFS-mounted文件时使用Python api。

写的亚当Pavlacka

去年发表在:2022年5月19日

本文解释了如何解决一个错误发生在你读大DBFS-mounted文件使用本地Python api。

问题

如果你挂载一个文件夹上dbfs: / /和读取一个文件大于2 gb在Python API和熊猫一样,您将看到以下错误:

/砖/ python /地方/ lib / python2.7 /网站/熊猫/解析器。所以在pandas.parser.TextReader。__cinit__(熊猫/ parser.c: 3427)() /砖/ python /地方/ lib / python2.7 /网站/熊猫/解析器。所以在pandas.parser.TextReader。_setup_parser_source(熊猫/ parser.c: 6883) () IOError:那么从文件初始化失败

导致

发生错误,因为一个参数在Python方法读取一个文件是一个int签署,文件是一个int的长度,如果对象是一个文件大于2 gb,长度可以超过最大int签署。

解决方案

将文件从dbfs: / /本地文件系统(文件:/ /)。然后读取使用Python API。例如:

  1. 复制文件从dbfs: / /文件:/ /:
    % fs cp dbfs: / mnt / large_file。csv文件:/ tmp / large_file.csv
  2. 阅读文件熊猫API:
    %的python导入大熊猫作为pd pd.read_csv(“文件:/ tmp / large_file.csv”) .head ()


这篇文章有用吗?