问题标签 [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.
python - 是否可以使用 Dask 和 Fastparquet 阅读器读取手动分区的 Parquet 数据集?
我创建了一个 Parquet 数据集,分区如下:
该组织遵循Hive Metastore 使用的Parquet 数据集分区约定。_metadata
此分区方案是手动生成的,因此目录树中的任何位置都没有文件。
我现在想将此数据集读入 Dask。
对于位于本地磁盘上的数据,以下代码有效:
我将这些文件复制到 S3 存储桶(通过s3 sync
;分区文件夹是存储桶中的顶级键,就像这样),并尝试使用相同的基本功能从云存储中读取它们:
这引起了IndexError: list index out of range
. 完整的堆栈跟踪在这里。
目前是否可以直接从 AWS S3 读取这样的数据集?
dask - 有没有办法增量更新 Dask 元数据文件?
我正在尝试处理数据集并在 Dask 中将其写入时进行增量更新。Dask 元数据文件在重新读取处理后的数据时会有很大帮助。但是,当我将新的分区/子集写入相同的路径时,那里的元数据会被新的分区/子集覆盖,而不是在包含它们的情况下进行更新。
看了几个地方,还没有找到明显的方法来做到这一点。有谁知道是否有人做过处理这种用例的事情?可以增量更新元数据文件,也可以对其中的一些文件进行编辑/组合。任何建议将不胜感激。
python - python import fastparquet 出现“双重免费或损坏(顶部)”错误
当我运行时import fastparquet
出现错误
我昨天没有收到这个错误。我尝试 pip 卸载并再次安装 fastparquet 并不能解决问题。
我能想到的唯一线索是我今天试图在 ubuntu 18.04 上将我的 glibc 升级到 version2.28。但我用几种方法失败了。现在我的 ubuntu 上仍然有 glibc 2.27。
如果double free or corruption
与 glibc 有关,我该如何解决?
python-3.x - 在 Windows 10 中安装 fastparquet 时出错
我正在尝试安装fastparquet
在Anaconda
. 我尝试通过按照这个问题Windows 10
安装来修复预期的错误Visual Studio Build Tools
安装构建工具时采取的步骤:
- Visual C++ 构建工具的核心功能。
- VC++ 2017 v141 工具集 (x86,x64)
- Visual C++ 2017 可再发行更新
- 适用于桌面 C++ 的 Windows 10 SDK (10.0.16299.0)
与 Numpy 相关的错误消息中提供的错误链接
我已经尝试了所有可能的解决方案,但我被这些错误消息困住了。
任何帮助,将不胜感激。
python - 以节省内存的方式从 python 中的流创建 Parquet 文件
在 Python 中创建 Parquet 文件的最常见方法似乎是首先创建一个 Pandas 数据框,然后使用 pyarrow 将表写入 Parquet。我担心这可能会过度占用内存 - 因为它需要至少一个完整的数据集副本存储在内存中才能创建 pandas 数据框。
我想知道由于列压缩要求是否需要将整个数据集加载到内存中,或者是否有更有效和基于流的方法。就我而言,我将以流媒体方式接收记录。对于类似的 csv 输出过程,我们以 1000 的批次将行写入磁盘,因此需要保存在内存中的行数永远不会达到完整数据集的大小。
我是不是该...?:
- 只需创建一个熊猫数据框,然后将其写入镶木地板。(这意味着整个数据集需要存储在内存中,但我们将其视为必要要求。)
- 当我们收到它们时,使用一些流友好的方式一次写入 1000 行左右,从而最大限度地减少整个过程中的时间点 RAM 消耗总量。(我没有看到任何有关如何执行此操作的文档,我不确定它甚至是镶木地板的选择。)
- 将所有内容写入 CSV,然后使用智能读取/分析 CSV 内容并在事后创建压缩镶木地板的功能。(运行时间可能会变慢,但内存配置文件会降低,并且在非常大的文件上失败的机会也会降低。)
想法?建议?
python - 使用 Python 从 Parquet 文件中读取基于索引的范围
我正在尝试从镶木地板文件中读取一系列数据(例如第 1000 到 5000 行)。我已经尝试过使用 fastparquet 引擎甚至 pyarraw 的 pandas,但似乎找不到任何选择。
有什么办法可以做到这一点?
pandas - pyarrow 和 fastparquet 都不能正确读取 spark 的矢量输出
我有一个从 spark 以 parquet 格式编写的数据框,其中有一列类型为“vector”的列。在 spark 中打印模式给出以下信息
DataFrame[键:字符串,嵌入:向量]
我在 python pandas 中尝试了以下两种方法
和
spark中的原始数据框没有稀疏表示
我可以调整任何参数以使其使用 pyarrow 读取?或在 fastparquet 中使用正确的模式阅读?
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。
此致。比亚。
numpy - 康达包错误?二进制不兼容
我在一个没有root访问权限的系统上的远程Jupyter笔记本上工作,甚至没有一个可以进行许多调整的shell。我可以从 Conda 的存档中检索包并在安装这样的包的笔记本单元中运行函数
我遇到了我猜错版本号的情况,安装了不兼容的东西。错误消息就像我在下面生成的错误消息,numpy 或 mkl 中的二进制不兼容。
现在,我在拥有管理员访问权限的 Ubuntu 20.10 笔记本上重新跟踪问题。我有一个可重现的问题要展示和分享。
- 使用相同版本的 python、numpy 和 pandas 创建一个环境,就像我们在远程机器上一样:
激活那个环境。
例如,安装名为“fastparquet”的包:
- 观察导入失败
你同意我发现了一个错误吗?
似乎 Conda 应该可以工作,或者应该说没有兼容的 fastparquet 版本。
python - RuntimeError:解压缩“SNAPPY”不可用。选项:['BROTLI', 'GZIP', 'UNCOMPRESSED'] (错误仅在 .py 中发生,在 .ipython 中不发生)
在尝试使用带有以下代码的 fastparquet 读取镶木地板文件时,我收到了标题中的此错误:
我尝试了这篇文章中建议的解决方案,但它们对我不起作用。
之后,我还尝试了以下操作:
我snappy
从所有环境中卸载(默认情况下python-snappy
conda 也一起卸载了)。然后我python-snappy
只安装在一个环境中 - 假设env1
(默认snappy
是由 conda 一起安装的)。我在.py
和.ipython
两者中都运行了相同的代码env1
。再次.py
没有工作(与上述相同的错误)并且.ipython
工作......
然后我在另一个环境中运行它们(env2
我还没有安装python-snappy
),然后.ipython
再次工作!而且在这种环境下,.py
没有工作,我可以理解,因为我还没有安装它。我真的很困惑那里发生了什么以及为什么.py
将无法正常工作。我会很感激任何提示。
有关软件包和版本的详细信息,请参阅此处