我们有某种分布式数据存储。我们了解所有内部结构,可以直接访问磁盘上的数据。
我正在研究直接在其上部署 Apache Spark 的选项。
最好/推荐的方法是什么?
- 编写自定义 RDD(从 RDD 派生)
- 或者,通过扩展 FileInputFormat?
(一个比另一个更容易?更好的性能?等等)
谢谢你的帮助
我们有某种分布式数据存储。我们了解所有内部结构,可以直接访问磁盘上的数据。
我正在研究直接在其上部署 Apache Spark 的选项。
最好/推荐的方法是什么?
(一个比另一个更容易?更好的性能?等等)
谢谢你的帮助
Spark 1.2 将包含一个用于 Spark SQL 的新外部数据源 API。这将使编写新的输入连接器以加载(半)结构化数据和从 SQL 查询变得容易,并且将具有启用特定于数据源的查询优化的钩子,例如分区修剪或谓词下推。即使您不使用 Spark SQL 来查询数据(例如,您想使用常规 RDD API),这也可能是最简单的加载方法,因为您可以在 SchemaRDD 上执行常规 Spark 转换。
以下是一些资源,可用于了解有关此 API 的更多信息:
我会选择CustomRDD。作为参考,您可以查看 datastax-cassandra-driver,他们有为分布式数据库编写自定义 RDD 的非常好的示例
然而,据我所知,他们并不关心从磁盘加载数据,他们使用来自 Cassandra 的分区信息对 RDD 本身进行分区。但是,支持您需要的内容应该相对简单。