我们有大量的csv文件,文件/目录按日期和其他几个因素进行分区。例如,文件可能名为/data/AAA/date/BBB.csv
有数千个文件,其中一些在GB范围内。总数据大小以兆兆字节为单位。
它们只被附加到并且通常是批量的,因此写入性能并不重要。我们不想将它加载到另一个系统中,因为我们运行的几个重要进程依赖于能够快速流式传输文件,这些进程是用c ++编写的。
我正在寻找能够直接从数据中查询数据的sql查询工具/库。我已经开始关注hive,spark和其他大数据工具,但不清楚它们是否可以直接从源访问分区数据,在我们的例子中是通过nfs。
理想情况下,我们可以通过提供列的描述以及分区信息来定义表。此外,文件是压缩的,因此处理压缩将是理想的。
他们的开源工具是这样做的吗?我见过一款名为Pivotal的产品,声称这样做,但我们宁愿为开源分布式查询系统的数据编写自己的驱动程序。
任何线索都会受到赞赏。
答案 0 :(得分:0)
Spark可以是一个解决方案。它是在内存分布式处理引擎中。数据可以加载到集群中多个节点的内存中,并可以在内存中处理。您无需将数据复制到另一个系统。
以下是您案例的步骤:
提供
限制
使用配置单元,您需要将数据复制到HDFS。由于您不想将数据复制到另一个系统,因此配置单元可能不是解决方案。