问题标签 [disk.frame]

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 回答
29 浏览

r - 我们应该如何选择磁盘框架中的块大小?

我正在使用磁盘框架,​​到目前为止它很棒。

让我感到困惑的一件事情是块的大小。我感觉一小块可能会创建太多任务,而磁盘框架可能会占用管理这些任务的时间。另一方面,对于工作人员来说,一大块可能过于昂贵,从而降低了并行性带来的性能优势。

我们可以使用哪些信息来更好地猜测块大小?

0 投票
1 回答
35 浏览

r - n_distinct 是磁盘帧的精确计算吗?

我在一个大文件(>30GB)上运行 n_distinct ,它似乎没有产生确切的结果。

我有另一个数据参考点,并且输出在磁盘帧聚合中关闭。

它在文档中提到 n_distinct 是精确计算,而不是估计。

那正确吗?

0 投票
1 回答
144 浏览

r - CSV 到具有多个 CSV 的磁盘框架

尝试使用以下代码导入 CSV 时出现此错误:

some.df = csv_to_disk.frame(list.files("some/path"))

split_every_nlines 中的错误(name_in = normalizePath(file, mustWork = TRUE),:期望单个字符串值:[type=character;extent=3]。

我得到了一个带有 for 循环的临时解决方案,该循环遍历每个文件,然后将所有磁盘帧重新绑定在一起。

我从摄取数据文档中提取了代码

0 投票
1 回答
35 浏览

r - 在 format.default(nam.ob, width = max(ncn), justify = "left") 中:强制引入整数范围的 NA

我有一个已保存到文件中的磁盘框架。它由十块组成。

我将每一列编码为一个字符,因为我打算将这些单独的磁盘帧组合成一个大磁盘帧并在该点设置列类型。

我想用这段代码从它的文件中提取磁盘框架

不幸的是,它返回了这个警告信息

警告消息: 1:在 max(ncn) 中:max 没有非缺失参数;返回 -Inf 2:在 format.default(nam.ob, width = max(ncn), justify = "left") 中:强制引入整数范围的 NA

当我执行时my_disk.frame,它会告诉我:

0 投票
1 回答
24 浏览

r - 我们应该如何选择 rbindlist.disk.frame 的压缩率?

默认设置为 50,范围为 1 到 100。

我有一个特别大的磁盘框架,​​我正在考虑使用一个很大的数字。

需要考虑哪些重要的权衡?

0 投票
1 回答
147 浏览

r - 我必须将 collect 与磁盘框架一起使用吗?

这个问题是这个线程的后续问题

我想在磁盘框架上执行三个操作

  1. 计算按两列分组的字段的不同值id(key_a 和 key_b)
  2. id计算由两列中的第一列(key_a)分组的字段的不同值
  3. 添加一列,其中包含第一列的不同值/两列的不同值

这是我的代码

我的数据是磁盘框格式,不是数据框,有100M行8列。

我正在遵循本文档中描述的两步说明

我担心这collect会使我的机器崩溃,因为它将所有东西都带到了内存中

我必须使用collect才能在磁盘框架中使用 dplyr group bys 吗?

0 投票
1 回答
66 浏览

r - 使用 csv_to_disk.frame 后列混乱

我在 30 分钟包中有大约 15 GB 的压缩数据。使用 unzip 和 readr 或 fread 解压缩和读取它们都可以,但是 ram 要求不允许我读取任意数量的文件。所以我尝试使用 disk.frame 包。原则上这也可以正常工作,但我注意到在文件中每次读取的第 4000 行左右,列变得混乱。

这是我使用的代码:

读取数据后, dat的 df 看起来像这样:

像这样进行测试

这些分别是第 3980:4000 行,您可以看到,如果您对其进行测试,它们与第 3888 行不同。这些仍然是来自相同原始 30 分钟包的值。我不知道为什么会这样。我认为它可能是“工人”或者它可能是“时间”列,但改变任何一个似乎都没有多大作用。任何帮助将不胜感激。

PS:Windows 10、8GB 内存、R 4.0.2

0 投票
0 回答
25 浏览

r - 如何在最小化绘图文件大小的同时存储乘客上下火车的位置?

我有 500GB 的 .csv 数据,其中包括这三个(和其他)变量:1. 乘客在哪里上火车,2. 他们在哪里下车,3. 花费的时间。

我需要根据他们在交互式 R-shiny 应用程序中的上车地点和下车地点制作所需时间的箱线图 - 这是直截了当的。但首先我需要最小化文件的大小,因为在 R 闪亮的应用程序中读取 500GB 是令人望而却步的。有没有办法以使这成为可能的方式存储这些变量?

即使使用 vroom 也需要很长时间,而且我认为 {Disk.frame} 也不会起作用。有什么想法吗?

0 投票
0 回答
37 浏览

r - 内存不足文件的汇总统计信息

我有一个 120GB 大小的 csv 文件,它是一组按分类变量分组的数值。

例如。

我想使用 group_by(x) 计算一些汇总统计信息,但我的文件不适合内存。我有哪些选择?我看过 tidyfst 和 {disk.frame} 但我不确定。任何帮助将非常感激。

谢谢你。

0 投票
0 回答
34 浏览

r - 无法创建大型 gzip csv 文件的“disk.frame”

我正在使用 16 GB RAM 的 Windows 10 笔记本电脑上尝试此操作。这里还值得一提的是,我已将 R 的临时文件夹设置在 C: 驱动器外部,这样操作系统驱动器就不会用以下几行在.Renviron我的文件夹中保存一个文件来耗尽空间:Documents

当我在 RStudio 中工作时,我已经验证该D:/rTemp文件夹实际上被用作临时文件夹。

我有一个大约的 gzip 压缩 csv 文件。20 GB,如果未压缩占用大约。83 GB。我尝试disk.frame使用以下代码为其创建一个:

不幸的是,我收到如下错误:

第一次遇到此错误时,我将临时 R 目录设置到外部操作系统驱动器。但是错误仍在继续,data.table即使我专门尝试使用readLines. bigreadr如果我用作块读取器,则会发生相同的错误。

相同的代码工作得非常好,disk.frame如果与大约 200 MB 的较小 gzip 压缩文件一起使用,则会创建一个。

然后我尝试使用readr带有以下代码的后端:

此代码也未能成功创建 adisk.frame并显示以下错误:

由于大小和机密性限制,我无法共享大型 csv 文件。任何人都可以找出给定代码和错误消息的问题吗?任何帮助,将不胜感激。