Если данные Spark будут кэшироваться вне кучи, будет ли у них спецификация на уровне байтов?

Я узнал из различных блогов, в первую очередь этот, что в ближайшем будущем Apache Spark будет кэшироваться из кучи Java (в sun.misc.Unsafe). Чего я не смог найти, так это того, будут ли эти данные иметь хорошо известную разметку в байтах, которую можно интерпретировать с C или C ++. Кто-нибудь знает? Если это так, будет ли это спецификация «использовать на свой страх и риск» или поддерживаемый API?

Причина, по которой я спрашиваю, состоит в том, что у меня есть высоко оптимизированные библиотеки C ++, которые в настоящее время я не могу использовать со Spark без копирования через JNI или переключения на внешний процесс или (эквивалентно) PySpark. Было бы здорово иметь возможность запускать код C ++ непосредственно на сырых указателях без копирования. (Только для чтения, конечно.)

Кто-нибудь знает, есть ли планы разрешить это? Spark имеет хорошую поддержку для Scala / Java, Python и R; было бы неплохо добавить C / C ++.

2

Решение

Спасибо, ноль323; указав мне на список разработчиков, я смог найти ответ на свой вопрос.

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

Ответ заключается в том, что это одна из мотивирующих целей проекта, хотя она все еще находится на ранней стадии процесса проектирования (по состоянию на октябрь 2015 года). Есть JIRA для отслеживания.

2

Другие решения

Других решений пока нет …