Я узнал из различных блогов, в первую очередь этот, что в ближайшем будущем Apache Spark будет кэшироваться из кучи Java (в sun.misc.Unsafe
). Чего я не смог найти, так это того, будут ли эти данные иметь хорошо известную разметку в байтах, которую можно интерпретировать с C или C ++. Кто-нибудь знает? Если это так, будет ли это спецификация «использовать на свой страх и риск» или поддерживаемый API?
Причина, по которой я спрашиваю, состоит в том, что у меня есть высоко оптимизированные библиотеки C ++, которые в настоящее время я не могу использовать со Spark без копирования через JNI или переключения на внешний процесс или (эквивалентно) PySpark. Было бы здорово иметь возможность запускать код C ++ непосредственно на сырых указателях без копирования. (Только для чтения, конечно.)
Кто-нибудь знает, есть ли планы разрешить это? Spark имеет хорошую поддержку для Scala / Java, Python и R; было бы неплохо добавить C / C ++.
Спасибо, ноль323; указав мне на список разработчиков, я смог найти ответ на свой вопрос.
Ответ заключается в том, что это одна из мотивирующих целей проекта, хотя она все еще находится на ранней стадии процесса проектирования (по состоянию на октябрь 2015 года). Есть JIRA для отслеживания.
Других решений пока нет …