问题标签 [fastparquet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
648 浏览

python - 是否可以使用 Dask 和 Fastparquet 阅读器读取手动分区的 Parquet 数据集?

我创建了一个 Parquet 数据集,分区如下:

该组织遵循Hive Metastore 使用的Parquet 数据集分区约定。_metadata此分区方案是手动生成的,因此目录树中的任何位置都没有文件。

我现在想将此数据集读入 Dask。

对于位于本地磁盘上的数据,以下代码有效:

我将这些文件复制到 S3 存储桶(通过s3 sync;分区文件夹是存储桶中的顶级键,就像这样),并尝试使用相同的基本功能从云存储中读取它们:

这引起了IndexError: list index out of range. 完整的堆栈跟踪在这里

目前是否可以直接从 AWS S3 读取这样的数据集?

0 投票
2 回答
240 浏览

dask - 有没有办法增量更新 Dask 元数据文件?

我正在尝试处理数据集并在 Dask 中将其写入时进行增量更新。Dask 元数据文件在重新读取处理后的数据时会有很大帮助。但是,当我将新的分区/子集写入相同的路径时,那里的元数据会被新的分区/子集覆盖,而不是在包含它们的情况下进行更新。

看了几个地方,还没有找到明显的方法来做到这一点。有谁知道是否有人做过处理这种用例的事情?可以增量更新元数据文件,也可以对其中的一些文件进行编辑/组合。任何建议将不胜感激。

0 投票
0 回答
111 浏览

python - python import fastparquet 出现“双重免费或损坏(顶部)”错误

当我运行时import fastparquet出现错误

我昨天没有收到这个错误。我尝试 pip 卸载并再次安装 fastparquet 并不能解决问题。

我能想到的唯一线索是我今天试图在 ubuntu 18.04 上将我的 glibc 升级到 version2.28。但我用几种方法失败了。现在我的 ubuntu 上仍然有 glibc 2.27。

如果double free or corruption与 glibc 有关,我该如何解决?

0 投票
1 回答
2082 浏览

python-3.x - 在 Windows 10 中安装 fastparquet 时出错

我正在尝试安装fastparquetAnaconda. 我尝试通过按照这个问题Windows 10安装来修复预期的错误Visual Studio Build Tools

安装构建工具时采取的步骤:

  1. Visual C++ 构建工具的核心功能。
  2. VC++ 2017 v141 工具集 (x86,x64)
  3. Visual C++ 2017 可再发行更新
  4. 适用于桌面 C++ 的 Windows 10 SDK (10.0.16299.0)

与 Numpy 相关的错误消息中提供的错误链接

https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html

我已经尝试了所有可能的解决方案,但我被这些错误消息困住了。

任何帮助,将不胜感激。

0 投票
1 回答
1178 浏览

python - 以节省内存的方式从 python 中的流创建 Parquet 文件

在 Python 中创建 Parquet 文件的最常见方法似乎是首先创建一个 Pandas 数据框,然后使用 pyarrow 将表写入 Parquet。我担心这可能会过度占用内存 - 因为它需要至少一个完整的数据集副本存储在内存中才能创建 pandas 数据框。

我想知道由于列压缩要求是否需要将整个数据集加载到内存中,或者是否有更有效和基于流的方法。就我而言,我将以流媒体方式接收记录。对于类似的 csv 输出过程,我们以 1000 的批次将行写入磁盘,因此需要保存在内存中的行数永远不会达到完整数据集的大小。

我是不是该...?:

  1. 只需创建一个熊猫数据框,然后将其写入镶木地板。(这意味着整个数据集需要存储在内存中,但我们将其视为必要要求。)
  2. 当我们收到它们时,使用一些流友好的方式一次写入 1000 行左右,从而最大限度地减少整个过程中的时间点 RAM 消耗总量。(我没有看到任何有关如何执行此操作的文档,我不确定它甚至是镶木地板的选择。)
  3. 将所有内容写入 CSV,然后使用智能读取/分析 CSV 内容并在事后创建压缩镶木地板的功能。(运行时间可能会变慢,但内存配置文件会降低,并且在非常大的文件上失败的机会也会降低。)

想法?建议?

0 投票
1 回答
248 浏览

python - 使用 Python 从 Parquet 文件中读取基于索引的范围

我正在尝试从镶木地板文件中读取一系列数据(例如第 1000 到 5000 行)。我已经尝试过使用 fastparquet 引擎甚至 pyarraw 的 pandas,但似乎找不到任何选择。

有什么办法可以做到这一点?

0 投票
0 回答
324 浏览

pandas - pyarrow 和 fastparquet 都不能正确读取 spark 的矢量输出

我有一个从 spark 以 parquet 格式编写的数据框,其中有一列类型为“vector”的列。在 spark 中打印模式给出以下信息

DataFrame[键:字符串,嵌入:向量]

我在 python pandas 中尝试了以下两种方法

spark中的原始数据框没有稀疏表示

我可以调整任何参数以使其使用 pyarrow 读取?或在 fastparquet 中使用正确的模式阅读?

0 投票
0 回答
702 浏览

python - 安装 pyarrow 和 fastparquet 失败

大家下午好,首先我是python新手,所以请多多包涵。

我正在尝试读取和操作 .parquet 文件,所以我在互联网上查找了我应该做什么,我发现我应该使用 pyarrow 或 fastparquet。

所以我在我的 jupyter botebook 上尝试了pip install pyarrow 并且它不会停止运行(单元格左侧有一个 * )。所以我在命令提示符下尝试了以下错误:

错误:pyarrow的构建轮失败(红色)

pyarrow 构建失败(白色)

错误:无法为使用 PEP 517 且无法直接安装的 pyarrow 构建轮子(红色)

当然还有更多的红色文本,但我不确定是否值得将所有内容复制并粘贴到此处。也许这最后 3 行会给你们一个关于我应该做什么的提示。

我对fastparquet尝试了相同的操作,并在 jupyter botebook a mesma situação (单元格左侧有一个 * )上得到了相同的响应,并且在命令提示符下有不同的响应,很多红色文本,看起来这里我需要 Microsoft Visual C++ 14.0(需要 Microsoft Visual C++ 14.0 )。

任何人都可以帮助我理解为什么我不能安装 pyarrow 吗?或者,如果有一种更简单的方法来读取和操作我不知道的镶木地板文件,我将不胜感激。

我的 Python 版本是 3.7.4。

此致。比亚。

0 投票
2 回答
115 浏览

numpy - 康达包错误?二进制不兼容

我在一个没有root访问权限的系统上的远程Jupyter笔记本上工作,甚至没有一个可以进行许多调整的shell。我可以从 Conda 的存档中检索包并在安装这样的包的笔记本单元中运行函数

我遇到了我猜错版本号的情况,安装了不兼容的东西。错误消息就像我在下面生成的错误消息,numpy 或 mkl 中的二进制不兼容。

现在,我在拥有管理员访问权限的 Ubuntu 20.10 笔记本上重新跟踪问题。我有一个可重现的问题要展示和分享。

  1. 使用相同版本的 python、numpy 和 pandas 创建一个环境,就像我们在远程机器上一样:
  1. 激活那个环境。

  2. 例如,安装名为“fastparquet”的包:

  1. 观察导入失败

你同意我发现了一个错误吗?

似乎 Conda 应该可以工作,或者应该说没有兼容的 fastparquet 版本。

0 投票
1 回答
561 浏览

python - RuntimeError:解压缩“SNAPPY”不可用。选项:['BROTLI', 'GZIP', 'UNCOMPRESSED'] (错误仅在 .py 中发生,在 .ipython 中不发生)

在尝试使用带有以下代码的 fastparquet 读取镶木地板文件时,我收到了标题中的此错误:

我尝试了这篇文章中建议的解决方案,但它们对我不起作用。

之后,我还尝试了以下操作:
snappy从所有环境中卸载(默认情况下python-snappyconda 也一起卸载了)。然后我python-snappy只安装在一个环境中 - 假设env1(默认snappy是由 conda 一起安装的)。我在.py.ipython两者中都运行了相同的代码env1。再次.py没有工作(与上述相同的错误)并且.ipython工作......
然后我在另一个环境中运行它们(env2我还没有安装python-snappy),然后.ipython 再次工作!而且在这种环境下,.py没有工作,我可以理解,因为我还没有安装它。我真的很困惑那里发生了什么以及为什么.py将无法正常工作。我会很感激任何提示。

有关软件包和版本的详细信息,请参阅此处