Как добавить пользовательские функции для вычисления стрелокC++

Программы на C++. Форум разработчиков
Anonymous
Как добавить пользовательские функции для вычисления стрелок

Сообщение Anonymous »

Я реализую функцию преобразования шифрования и дешифрования, которая принимает файл паркета в качестве входных данных, шифрует/дешифрует каждый столбец каждой строки с использованием AES-CTR и записывает его обратно в место назначения. (Мне известно о модульном шифровании паркета, но сейчас это не вариант по разным причинам).
Я использую Arrow для чтения, обработки и записи зашифрованных/дешифрованных файлов паркета. Я делаю это на C++ из соображений производительности.
Мне удалось прочитать файл паркета, записать пакет за пакетом записей, и для каждого пакета записей я пытаюсь применить шифрование/дешифрование. к каждому массиву столбцов, используя мою собственную вычислительную функцию. Я следую шаблону, показанному в руководстве по началу работы для стрелки.
Чтобы продолжить, мне нужно добавить функцию шифрования/дешифрования. Я делаю что-то вроде следующего

Код: Выделить всё

arrow::compute::ScalarFunction encryptfunc = arrow::compute::ScalarFunction("encr", arrow::compute::Arity::Unary(), arrow::compute::FunctionDoc::Empty());
const arrow::Status &encrstatus = encryptfunc.AddKernel({arrow::float64()}, arrow::binary(), arrow::compute::ArrayKernelExec(???));
Теперь я не уверен, куда я могу подключить свою лямбда-функцию, которая инкапсулирует ключ и логику шифрования? Возможно ли это вообще?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ow-compute

Вернуться в «C++»