如何在“saveJsonToES”中动态更改索引名称?

时间:2016-11-21 14:11:39

标签: elasticsearch apache-spark spark-streaming

我正在尝试插入从kafka服务器中提取的日志,以便在带有Spark Streaming 2.0.0的ElasticSearc 5中插入。

这是我的代码。我的大问题是使用l​​ine" saveJsonToES",实际上,这个函数有一个用于指定索引名称的字符串参数。但是,我的索引名称是JavaDStream。我在oder中喜欢这样做,以在另一个类中生成动态索引名称。

JavaDStream<List<String>> newLines = lines.map(arg0 -> {    

        String lineToInsertInES = "";
        String indexName = "";
        List<String> list = new ArrayList<String>();

        //some code to determine strings to add in my list

        list.add(lineToInsertInES);
        list.add(indexName);
        return list;
    });

    JavaDStream<String> lineToInsertInES = newLines.map(list -> list.get(0));
    JavaDStream<String> indexName = newLines.map(list -> list.get(1));

    lineToInsertInES.foreachRDD(line->{

        if(!line.isEmpty())
            JavaEsSpark.saveJsonToEs(line,indexName); //problem at this line
    });

你能告诉我如何解决这个问题吗?

提前谢谢

Ĵ

0 个答案:

没有答案