类似于数组或矢量的类型,其值存储在Julia

时间:2018-03-12 23:11:00

标签: julia

我正在寻找具有以下属性的类似数组的类型:

  • 将元素存储在磁盘上
  • 元素可以具有复合类型
  • 元素被读入内存,而不是整个数组
  • 可以在不编写整个数组的情况下编写单个元素
  • 支持setindex!getindexpush!pop!shift!unshift!以及vcat
  • 效率相当

到目前为止,我已找到以下线索:

https://docs.julialang.org/en/latest/stdlib/SharedArrays/

http://juliadb.org

https://github.com/JuliaIO/JLD.jl

第一个似乎很有希望,但似乎元素的类型必须是isbits(意思是一个简单的数字,一些结构但不是,例如Array{Float64,1})。并且不清楚是否将整个数组内容加载到内存中。

如果它还不存在,我当然会尝试自己构建它。

1 个答案:

答案 0 :(得分:2)

NCDatasets.jl解决了部分要求:

  • 将元素存储在磁盘上:是
  • 元素可以具有复合类型:no(虽然复合类型的某些支持在NetCDF4中,但在NCDatasets.jl中尚未支持)。目前,您只能拥有基本类型的数组和向量数组(基本类型)。
  • 元素被读入内存,而不是整个数组:是
  • 可以编写单个元素而无需编写整个数组支持setindex!,getindex,push!,pop!,shift!,unshift!也许是vcat:只是setindex!,getindex
  • 合理有效:效率对我来说是合理的: - )

自己做的项目听起来很有趣。我认为它肯定会成为当前生态系统中的一个缺口。

可能很好看的一些存储技术是:

也许你也可以联系JuliaIO小组。