你好,官方现在没有提供spark on sequoiadb的文档,但是sequoiadb是可以作为Spark的数据源。
因为Spark的官方文档上面有说:RDDs are created by starting with a file in the Hadoop file system (or any other Hadoop-supported file system)。 我们的sequoiadb可以作为 hadoop的数据源,当然也支持作为Spark的数据源。
核心代码如下:
Configuration config=new Configuration();
/**
* 在config对象里面配置如下的参数
* sequoiadb.input.url:指定作为输入的 SequoiaDB 的 URL 路径,格式为:hostname1:port1,hostname2:port2,
* sequoiadb.in.collectionspace:指定作为输入的集合空间。
sequoiadb.in.collection:指定作为输入的集合。
sequoiadb.output.url:指定作为输出的 SequoiaDB 的 URL 路径。
sequoiadb.out.collectionspace:指定作为输出的集合空间。
sequoiadb.out.collection:指定作为输出的集合。
sequoiadb.out.bulknum:指定每次向 SequoiaDB 写入的记录条数,对写入性能进行优化
*/
//sc 为SparkContext对象 ,这列RDD就是以sequoiadb为数据源,config对象里面配置了数据源的信息
JavaPairRDD rdd = sc.newAPIHadoopRDD(config, SequoiadbInputFormat.class, Object.class, BSONWritable.class);
//保存RDD的数据到sequoiadb
rdd.saveAsNewAPIHadoopFile("file:///bogus", Object.class, BSONWritable.class, SequoiadbOutputFormat.class, config);