sprk与es

这个博客主要展示了如何使用Spark与Elasticsearch进行大数据处理,包括从Elasticsearch中读取数据到Hive,并按日期进行存储。代码中定义了多个配置属性,用于连接不同的Elasticsearch集群,并提供了获取数据、存储数据到Hive以及创建ES索引的实用方法。
摘要由CSDN通过智能技术生成
<dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch-spark-20_2.11</artifactId>
            <version>6.7.2</version>
        </dependency>
scala> val df = spark.read.format("org.elasticsearch.spark.sql")
  .options(
    Map("es.nodes" -> "192.168.61.240", 
    "es.port" -> "8200")
  ).load("ent_label")

 

scala> import org.elasticsearch.spark.sql._
scala> val options = Map("es.nodes" -> "192.168.61.240", "es.port" -> "8200")

scala> val df = spark.esDF("ent_label/_doc", "?q=isList:Y", options)

 

scala> val df = Seq((1, "d"), (2, "c")).toDF("id", "a")
scala> df.write.format("org.elasticsearch.spark.sql")
  .options(Map("es.nodes" -> "192.168.61.240", 
    "es.port" -> "8200", 
    "es.mapping.id" -> "id", 
    "es.index.auto.create" -> "true"))
  .mode("append")
  .save("my_label/_doc")
df.write.format("org.elasticsearch.spark.sql").options(
    Map("es.nodes" -> "192.168.61.240",  
           "es.port" -> "8200", 
           "es.mapping.id" -> "id", 
          "es.index.auto.create" -> "true",
          "es.write.operation" -> "upsert")).mode("append").save("my_label/_doc")

 

scala> import org.elasticsearch.spark.sql._ 

scala> df.saveToEs("my_label/_doc", Map("es.nodes" -> "192.168.61.240","es.port" -> "8200","es.mapping.id" -> "id", "es.index.auto.create" -> "true"))

 

package com.kuaidi100.bigdata.context

import java.util.Properties
object ElasticsearchUtils {
  //获取es配置文件
  val PROP: Properties = PropertiesUtil.getProperties("elasticsearch.properties")

  //谢老师的集群
  val ES_PERSONAL_BUSINESS_NODES = PROP.getProperty("es.nodes")
  val ES_PERSONAL_BUSINESS_PORT = PROP.getProperty("es.port")
  //个人业务的测试环境
  val ES_TEST_NODES = PROP.getProperty("es.test.nodes")
  val ES_TEST_PORT = PROP.getProperty("es.test.port")
  //国际业务的ES集群
  val ES_AGOGOPOST_PROD_NODES = PROP.getProperty("es.agogopost.prod.nodes")
  val ES_AGOGOPOST_PROD_PORT = PROP.getProperty("es.agogopost.prod

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值