Ответ 1
Вы должны использовать стрелку как средний человек между двумя приложениями, которые должны обмениваться данными с помощью проходящих объектов.
Arrow не является автономной частью программного обеспечения, а скорее используется компонент ускорить аналитику в рамках конкретной системы и разрешить Системы с поддержкой стрелок для обмена данными с низкими накладными расходами.
Например, Arrow улучшает производительность для перемещения данных в кластере .
См. тесты для примеров.
@Test
public void test() throws Exception {
BufferAllocator allocator = new RootAllocator(Integer.MAX_VALUE);
File testInFile = testFolder.newFile("testIn.arrow");
File testOutFile = testFolder.newFile("testOut.arrow");
writeInput(testInFile, allocator);
String[] args = {"-i", testInFile.getAbsolutePath(), "-o", testOutFile.getAbsolutePath()};
int result = new FileRoundtrip(System.out, System.err).run(args);
assertEquals(0, result);
validateOutput(testOutFile, allocator);
}
Также Apache Parquet использует его. Существуют примеры преобразования из/в объекты стрелки:
MessageType parquet = converter.fromArrow(allTypesArrowSchema).getParquetSchema();
Schema arrow = converter.fromParquet(supportedTypesParquetSchema).getArrowSchema();