博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es-hadoop saveToEsWithMeta
阅读量:7086 次
发布时间:2019-06-28

本文共 2153 字,大约阅读时间需要 7 分钟。

@Test  def testEsRDDWriteWithDynamicMapping() {    val doc1 = Map("one" -> null, "two" -> Set("2"), "three" -> (".", "..", "..."), "number" -> 1)    val doc2 = Map("OTP" -> "Otopeni", "SFO" -> "San Fran", "number" -> 2)    val target = wrapIndex("spark-test/scala-dyn-id-write")    val pairRDD = sc.makeRDD(Seq((3, doc1), (4, doc2))).saveToEsWithMeta(target, cfg)    assertEquals(2, EsSpark.esRDD(sc, target).count());    assertTrue(RestUtils.exists(target + "/3"))    assertTrue(RestUtils.exists(target + "/4"))    assertThat(RestUtils.get(target + "/_search?"), containsString("SFO"))  }  @Test  def testEsRDDWriteWithDynamicMapMapping() {    val doc1 = Map("one" -> null, "two" -> Set("2"), "three" -> (".", "..", "..."), "number" -> 1)    val doc2 = Map("OTP" -> "Otopeni", "SFO" -> "San Fran", "number" -> 2)    val target = wrapIndex("spark-test/scala-dyn-id-write")    val metadata1 = Map(ID -> 5, TTL -> "1d")    val metadata2 = Map(ID -> 6, TTL -> "2d", VERSION -> "23")    assertEquals(5, metadata1.getOrElse(ID, null))    assertEquals(6, metadata2.getOrElse(ID, null))    val pairRDD = sc.makeRDD(Seq((metadata1, doc1), (metadata2, doc2)))    pairRDD.saveToEsWithMeta(target, cfg)    assertTrue(RestUtils.exists(target + "/5"))    assertTrue(RestUtils.exists(target + "/6"))    assertThat(RestUtils.get(target + "/_search?"), containsString("SFO"))  }

 spark-2.0.0-bin-hadoop2.6/bin/spark-shell --jars elasticsearch-hadoop-5.0.1/dist/elasticsearch-spark-20_2.11-5.0.1.jar

注意版本对应关系!

 

import org.apache.spark.SparkConfimport org.elasticsearch.spark._sc.getConf.setMaster("local").setAppName("RDDTest").set("es.nodes", "127.0.0.1").set("es.index.auto.create", "true");val numbers = Map("one" -> 1, "two" -> 2, "three" -> 3)val airports = Map("OTP" -> "Otopeni", "SFO" -> "San Fran")val r=sc.makeRDD(Seq(numbers, airports))r.saveToEs("spark/data")val doc1 = Map("one" -> null, "two" -> Set("2"), "three" -> (".", "..", "..."), "number" -> 1)val doc2 = Map("OTP" -> "Otopeni", "SFO" -> "San Fran", "number" -> 2)val pairRDD = sc.makeRDD(Seq((3, doc1), (4, doc2)))pairRDD.saveToEsWithMeta("data/test")

可以看到ES请求data/test/3中id为3的文档,data/test/4中id为4的文档!

转载地址:http://xbgml.baihongyu.com/

你可能感兴趣的文章
一位资深程序员给JAVA初学者的学习路线
查看>>
VUE 使用规范
查看>>
【生物识别】阿里巴巴在移动端核身技术实践
查看>>
Flutter:ListView-ScrollPhysics 详细介绍(翻译)
查看>>
解决 SpringBoot 没有主清单属
查看>>
SAX解析Excel
查看>>
[译] 在 Android P 中使用默认的 TLS 来保护你的用户
查看>>
学习日记 - Object.defineProperty
查看>>
Spring注解专题系类(二)
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>
react更新state的时候要返回一个全新的引用或者值
查看>>
MobIM-API说明
查看>>
如何在常见业务场景中使用React Hook
查看>>
数据结构系列3 线性表顺序映像的Java实现
查看>>
vue中v-model
查看>>
flex实战
查看>>
python file 文件操作笔记
查看>>
对于MySQL你必须要了解的锁知识
查看>>
从三流小公司到一线大厂,聊聊程序员的成长之道
查看>>
ClassPlaceholder插件:动态修改jar包class文件
查看>>