c++ - 如果Spark的数据会在堆外缓存,它会有字节级规范吗?

标签 c++ c apache-spark

我从各种博客中学到了知识,最著名的是 this one ,在不久的将来,Apache Spark 将从 Java 堆中缓存(在 sun.misc.Unsafe 中)。我无法找到的是该数据是否具有可以用 C 或 C++ 解释的众所周知的字节布局。有人知道吗?如果是这样,它是“使用风险自负”规范还是受支持的 API?

我问的原因是我有高度优化的 C++ 库,如果不通过 JNI 复制或穿梭到外部进程或(等效的)PySpark,我目前无法将其与 Spark 一起使用。如果能够直接在原始指针上运行 C++ 代码而无需复制,那就太好了。 (当然,只读。)

有人知道是否有计划允许这样做吗? Spark 对 Scala/Java、Python 和 R 都有很好的支持;如果添加 C/C++ 就更好了。

最佳答案

谢谢,zero323;通过将我指向开发列表,我能够找到问题的答案。

http://apache-spark-developers-list.1001551.n3.nabble.com/Tungsten-off-heap-memory-access-for-C-libraries-td13898.html

答案是,这是该项目的激励目标之一,尽管它仍处于设计过程的早期阶段(截至 2015 年 10 月)。有一个JIRA to track .

关于c++ - 如果Spark的数据会在堆外缓存,它会有字节级规范吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36920230/

相关文章:

api - Spark 作业已提交 - 正在等待(TaskSchedulerImpl : Initial job not accepted)

c++ - 使用CUDA对两个数组求和

c++ - 有没有更好的方法来组合静态库而不携带一堆不必要的代码?

c++ - 如何在 Qt 中使用 .NET Framework 中的系统命名空间?

c++ - 为什么C++可以使用派生结构来实例化其父模板结构并且父模板可以调用子结构的函数?

c++ - 多重间接的限制

c - 将 Raspberry Pi W 连接到 Kinesis Video Streams 时出错

java - 如何确定 Apache Spark 中的偏移量?

c - 使用循环添加整数

Scala - MaxBins 错误 - 决策树 - 分类变量