首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticClient给予NullPointerException

ElasticClient给予NullPointerException
EN

Stack Overflow用户
提问于 2016-10-25 14:56:53
回答 1查看 126关注 0票数 1

使用Scala2.11.8和Elasticsearch 2.3.5的本地实例以及以下依赖项:

代码语言:javascript
复制
libraryDependencies ++ = Seq(
"com.sksamuel.elastic4s" %% "elastic4s-core" % "2.3.1",
"org.apache.spark" %% "spark-core" % 1.6.2,
"org.apache.spark" %% "spark-sql" % 1.6.2,
"org.elasticsearch" % "elasticsearch" % 2.4.0,
"org.elasticsearch" %% "elasticsearch-spark" % 2.4.0
)

在运行下面最后一行时,我会得到一个NullPointerException:

代码语言:javascript
复制
val conf = new SparkConf().setAppName("DataIndexer").setMaster("local[*]")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val uri = ElasticsearchClientUri("elasticsearch://localhost:9300")
val client = ElasticClient.transport(uri)
client.execute(indexExists(name)).await.isExists

我是Scala/Spark的新手,我还没有发现任何关于这个错误的地方。我想这是显而易见的,但我不确定是什么。任何帮助都将不胜感激。

编辑:这是堆栈跟踪:

代码语言:javascript
复制
Exception in thread "main" java.lang.NullPointerException
at com.unleashbts.thor.ElasticIngestor$.ensureIndex(ElasticIngestor.scala:46)
at com.unleashbts.thor.ElasticIngestor$.ingest(ElasticIngestor.scala:59)
at com.unleashbts.thor.ElasticIngestor$.main(ElasticIngestor.scala:42)
at com.unleashbts.thor.ElasticIngestor.main(ElasticIngestor.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-26 17:57:43

看起来是因为我是在一个单独的类中这样做的,所以我得到了这个错误(上面的示例代码不够精确)。我将代码移到调用execute命令的类中,这解决了我的问题。

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

https://stackoverflow.com/questions/40243273

复制
相关文章

相似问题

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