Memory 连接从Julia中的JLD2加载的非常大的数组,而不存在内存错误的风险

Memory 连接从Julia中的JLD2加载的非常大的数组,而不存在内存错误的风险,memory,out-of-memory,julia,hdf5,Memory,Out Of Memory,Julia,Hdf5,我在JLD2文件中保存了大量非常大的1D阵列,可以使用以下代码调用该文件: using JLD2 file = jldopen("data.jld2", "r") array_1 = file["array_1"] close(file) 假设有10^6个数组,以array\u 1、array\u 2等格式保存在data.jld2文件中,最多为array\u 1000000 我想将两个新阵列保存到同一个JLD2文件中: 级联数组cat(数组_1,数组_2,…,dims=1) 数组的数组[数组

我在JLD2文件中保存了大量非常大的1D阵列,可以使用以下代码调用该文件:

using JLD2

file = jldopen("data.jld2", "r")
array_1 = file["array_1"]
close(file)
假设有10^6个数组,以
array\u 1
array\u 2
等格式保存在
data.jld2
文件中,最多为
array\u 1000000

我想将两个新阵列保存到同一个JLD2文件中:

  • 级联数组
    cat(数组_1,数组_2,…,dims=1)

  • 数组的数组
    [数组1,数组2,…]


  • 由于数组的数量非常大,当我将它们作为变量保存在代码中时,RAM无法处理数据的大小并导致内存错误的风险将非常大。是否有一种方法可以将这些数组直接保存到JLD2文件中,以避免内存错误,而不管每个数组有多大以及需要处理多少个数组?

    假设您可以使用mmap()创建这样的文件。jldopen()将来打开该文件时会出现问题吗?您不希望使文件太大而无法使用。另一方面,如果jldopen可以将大小相同的文件读取到内存中,那么它可能也可以创建它,而无需借助mmap或数据库技巧。