Search 错误:value success不是org.apache.spark.rdd.rdd[String]的成员
我正在试用搜索机制。 以下是我根据文件所做的尝试:Search 错误:value success不是org.apache.spark.rdd.rdd[String]的成员,search,apache-spark,spark-streaming,Search,Apache Spark,Spark Streaming,我正在试用搜索机制。 以下是我根据文件所做的尝试: import edu.berkeley.cs.succinct.kv._ val data = sc.textFile("file:///home/aman/data/jsonDoc1.txt") val succintdata = data.succinct.persist() 链接在这里 我得到的错误如下 <console>:32: error: value succinct is not a member of org.ap
import edu.berkeley.cs.succinct.kv._
val data = sc.textFile("file:///home/aman/data/jsonDoc1.txt")
val succintdata = data.succinct.persist()
链接在这里
我得到的错误如下
<console>:32: error: value succinct is not a member of org.apache.spark.rdd.RDD[String]
val succintdata = data.succinct.persist()
这是Scala中典型的隐式转换问题 导入库时:
import edu.berkeley.cs.succinct.kv._
然后从这个包中导入所有类/方法,然后导入所有隐式。因此,如果检查源上的package.object:
。。。然后,您将意识到您有下一个隐式转换:
implicit class SuccinctContext(sc: SparkContext) {
def succinctKV[K: ClassTag](filePath: String, storageLevel: StorageLevel = StorageLevel.MEMORY_ONLY)
(implicit ordering: Ordering[K])
: SuccinctKVRDD[K] = SuccinctKVRDD[K](sc, filePath, storageLevel)
}
这意味着您在SparkContext上有了一个新方法,可以从文本文件创建一个新的SuccuctKVRDD。因此,请尝试下一个代码:
import edu.berkeley.cs.succinct.kv._
val data = sc.succinctKV("file:///home/aman/data/jsonDoc1.txt")
然后,您将有一个简洁的RDD来执行所有需要的操作,如搜索、filterByValue等:
在sx.textFile(..)上调用.map(u.getBytes)怎么样?构建文件呢?build.sbt或pom。xml@eliasah这是build.sbtI,意思是你能把它添加到你的问题细节中吗?@eliasah我认为问题是一篇过时的文章,如果你检查源代码,隐式转换来自SparkContext,则没有来自RDD[String]或RDD[Array[Byte]]的隐式转换。
import edu.berkeley.cs.succinct.kv._
val data = sc.succinctKV("file:///home/aman/data/jsonDoc1.txt")