【发布时间】:2017-11-24 06:46:20
【问题描述】:
我正在寻找有关 Apache Arrow API 的有用文档或示例。谁能指出一些有用的资源?我只能找到一些博客和 JAVA 文档(不多说)。
根据我的阅读,它是用于快速分析的标准内存列式数据库。是否可以将数据加载到箭头内存并对其进行操作?
【问题讨论】:
-
请求站外资源对于 Stack Overflow 来说是题外话。
标签: java apache-arrow
我正在寻找有关 Apache Arrow API 的有用文档或示例。谁能指出一些有用的资源?我只能找到一些博客和 JAVA 文档(不多说)。
根据我的阅读,它是用于快速分析的标准内存列式数据库。是否可以将数据加载到箭头内存并对其进行操作?
【问题讨论】:
标签: java apache-arrow
您应该使用箭头作为需要使用传递对象进行通信的两个应用程序之间的中间人。
Arrow 不是一个独立的软件,而是一个使用的组件 加速特定系统内的分析并允许 启用箭头的系统以低开销交换数据。
例如,Arrow 提高了 cluster 内数据移动的性能。
有关示例,请参阅tests。
@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();
【讨论】:
BufferAllocator 或 RootAllocator 是什么并不是很明显。也没有任何“操纵数据”的证据......
new SchemaConverter() 时遇到 ClassNotFoundException,尽管我可能做错了什么安装时,因为我找不到任何已发布的 parquet-arrow 工件)
他们现在有一些关于如何在他们的网站上使用 Apache Arrow 的基本 documentation。虽然它可能需要填写一些内容。
【讨论】: