Ced*_* H. 7 elasticsearch apache-spark
使用Spark 1.6.0和ES 5.0.0-alpha5,我试图在Spark中获取一些数据帧.我正在使用这个包
--packages org.elasticsearch:elasticsearch-spark-13_2.10:5.0.0-alpha5
Run Code Online (Sandbox Code Playgroud)
同
sqlContext.read.format("org.elasticsearch.spark.sql").option("es.nodes", "my_host").load("logstash-2016.10.10/my_type")
Run Code Online (Sandbox Code Playgroud)
我能做到printSchema并看到我的田地.
然而,任何这些都将永远挂起,没有例外,似乎没有任务提交给Spark
count, first, etc.
Run Code Online (Sandbox Code Playgroud)
我该怎么调试呢?任何提示将不胜感激!
编辑:我在docker容器中运行elasticsearch,我也可以通过Kibana成功连接并直接进行http rest查询.
这个问题已经很老了,但我将描述我用于使用 ES 5.0 和 Spark 2.0 的方法,以供将来参考。我认为 ES-Hadoop 文档对于使用什么工件和 API 有点不清楚。
我使用了org.elasticsearch:elasticsearch-spark-20_2.11:5.0以下代码:
// add to your class imports
import org.elasticsearch.spark.sql._
// Use Spark 2.0 SparkSession object to provide your config
val sparkSession = SparkSession.builder().config(...).getOrCreate()
// Optional step, imports things like $"column"
import sparkSession.implicits._
// Specify your index and type in ES
val df = spark.esDF("index/type")
// Perform an action
df.count()
Run Code Online (Sandbox Code Playgroud)
我认为 Spark 1.6 的情况非常相似,只是有一些细微的变化。特别是,您应该使用SQLContextorHiveContext代替SparkSession.
| 归档时间: |
|
| 查看次数: |
2229 次 |
| 最近记录: |