首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用RocksDB for HDFS?

如何使用RocksDB for HDFS?
EN

Stack Overflow用户
提问于 2019-10-07 03:20:11
回答 1查看 993关注 0票数 0

我正在编写一个在HDFS上运行的Spark应用程序,输出是一个RDD,我必须将其保存到RocksDB。但我不知道如何让RocksDB与HDFS和Spark一起工作。请给我一些关于如何在HDFS上设置RocksDB并将其与Spark集成的说明

我们已经访问了网站https://github.com/facebook/rocksdb/tree/master/hdfs,但是我们找不到hdfs.h和libhdfs,所以我们不知道如何继续。

代码语言:javascript
复制
var sq = Seq[RDD[(String, Array[String])]]()
for (file <- files) {
     val filename = file.getPath.toString()

     val lines = sc.textFile(filename)
     val doc_id = filename.split("/").last.dropRight(4) 
     val key_value = lines.flatMap(_.split(" ")).map(word => (word, Array((doc_id)))).reduceByKey((a,b) => a)
     sq = sq :+ key_value
} 
     val output = sc.union(sq)
     output.reduceByKey((a,b) => a ++ b) // this is the output RDD that we need to save to RocksDB
EN

回答 1

Stack Overflow用户

发布于 2019-11-07 16:40:58

我不确定它是否适用于那个分支或hadoop,但您可以在任何RocksDB发行版中找到hdfs.h和libhdfs.so。

例如,对于Cloudera CDH,它们位于/opt/cloudera/parcels/CDH/include和/opt/cloudera/parcels/CDH/lib64下。

源代码在这里:https://github.com/apache/hadoop-hdfs/tree/trunk/src/c%2B%2B/libhdfs

让我知道你是否设法用HDFS编译了RocksDB,以及它是如何工作的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58260524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档