我正在尝试使用 scala 和 spark 将数据提取到 solr,但是,我的代码缺少一些东西。例如,我从 Hortonworks 教程中获得了以下代码。 我正在使用 spark 1.6.2、solr 5.2.1、scala 2.10.5。
任何人都可以提供一个可行的片段来成功地将数据插入到 solr 中吗?
val input_file = "hdfs:///tmp/your_text_file"
case class Person(id: Int, name: String)
val people_df1 = sc.textFile(input_file).map(_.split(",")).map(p => Person(p(0).trim.toInt, p(1))).toDF()
val docs = people_df1.map{doc=>
val docx=SolrSupport.autoMapToSolrInputDoc(doc.getAs[Int]("id").toString, doc, null)
docx.setField("scala_s", "supercool")
docx.setField("name_s", doc.getAs[String]("name"))
}
//尽管 jar 文件确实包含这些函数,但下面的代码不知何故存在编译问题。
SolrSupport.indexDocs("sandbox.hortonworks.com:2181","testsparksolr",10,docs)
val solrServer = com.lucidworks.spark.SolrSupport.getSolrServer("http://ambari.asiacell.com:2181")
solrServer.setDefaultCollection("
testsparksolr")
solrServer.commit(false, false)
提前致谢
最佳答案
你试过了吗spark-solr ?
库的主要重点是提供一个干净的 API 来将文档索引到您的情况下的 Solr 服务器。
关于scala - 使用 spark scala 在 solr 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43830900/