我们有一些分布式数据存储。我们知道所有内部结构,可以直接在磁盘上访问数据。
我正在研究直接在其上部署Apache Spark的选项。
最佳/推荐的方法是什么?
(一个比另一个更容易吗?更好的表现等等)
感谢您的帮助
答案 0 :(得分:3)
我会选择CustomRDD。作为参考,你可以看看datastax-cassandra-driver,他们有很好的为分布式数据库编写自定义RDD的例子
但据我所知,他们并不打算从磁盘加载数据,他们使用Cassandra的分区信息来分割RDD本身。但是,支持你需要的东西应该相对简单。
答案 1 :(得分:3)
Spark 1.2将包含一个用于Spark SQL的新外部数据源API。这样可以轻松编写用于加载(半)结构化数据的新输入连接器并从SQL查询它,并且可以使用钩子来启用特定于数据源的查询优化,例如分区修剪或谓词下推。即使您没有使用Spark SQL查询数据(例如,您想使用常规RDD API),这可能是加载它的最简单方法,因为您可以在SchemaRDD上执行常规的Spark转换。
以下是了解有关此API的更多信息的一些资源: