我有一个运行在AWS环境下的Spark Streaming作业,例如Spark ClusterA。我还配置了另一个新的AWS Elasticsearch集群,即ES ClusterB。
现在我必须将数据从Spark(即集群A)发送到Elastic搜索集群(即集群B),我正在从中获取引用
https://www.elastic.co/guide/en/elasticsearch/hadoop/master/spark.html
根据上述链接指南
对于Spark conf中的群集A,我已经设置了以下参数
SparkConf conf = new SparkConf().setAppName("ElasticSearchTest");
conf.set("spark.serializer", org.apache.spark.serializer.KryoSerializer.class.getName());
conf.set("es.nodes", [endpoint of aws elasticsearch cluster]);
conf.set("es.port", "9200");
我在设置aws flex 集群期间允许所有访问策略内的操作。
我低于异常(exception)。它显示classnotfound。但这不是正确的问题,我也已经验证了POM文件中存在类(Maven)
我是刚与AWS Elasticsearch集成到Spark中的新手,有人可以指导我进行必要的配置,因为需要什么配置才能实现?
最佳答案
您将需要使用一些连接器来读取 flex 搜索,并将其转换为RDD以进行操作,这是我认为可以使用的连接器示例(但未经测试)
https://github.com/elastic/elasticsearch-hadoop#apache-spark
关于amazon-web-services - 如何将Spark EMR集群与AWS Elasticsearch集群连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35151078/