原标题:除了HDFS,spark还支持哪些DFS(推荐)?
我很高兴将 spark 和 elasticsearch(带有 elasticsearch-hadoop 驱动程序)与几个巨大的集群一起使用。
有时,我想将整个数据集群拉出来,处理每个文档,然后将它们全部放入不同的 Elasticsearch (ES) 集群中(是的,数据迁移也是如此)。
目前,没有办法将集群中的 ES 数据读取到 RDD 中,并使用 spark + elasticsearch-hadoop 将 RDD 写入另一个 RDD,因为这将涉及SparkContext
从 RDD 交换。所以我想将 RDD 写入目标文件,然后再将它们读回具有不同SparkContext
s 的 RDD。
然而,问题来了:然后我需要一个 DFS(分布式文件系统)来在我的整个 spark 集群中共享大文件。最流行的解决方案是 HDFS,但我会非常避免将 Hadoop 引入我的堆栈。spark支持的还有其他推荐的DFS吗?
下面更新
感谢@Daniel Darabos 在下面的回答,我现在可以使用以下 Scala 代码在不同的 ElasticSearch 集群中读写数据:
val conf = new SparkConf().setAppName("Spark Migrating ES Data")
conf.set("es.nodes", "from.escluster.com")
val sc = new SparkContext(conf)
val allDataRDD = sc.esRDD("some/lovelydata")
val cfg = Map("es.nodes" -> "to.escluster.com")
allDataRDD.saveToEsWithMeta("clone/lovelydata", cfg)