ElasticSearch

本文介绍如何使用Databricks数据洞察访问ElasticSearch数据源。

前提条件

使用DDI读写ElasticSearch数据源

打通DDI集群与ElasticSearch数据源的网络

  1. 登录到Elasticsearch管理控制台

  2. 点击上部选择实例所在region

  3. 点击实例ID进入实例详情页面。

  4. 查看基本信息找到对应的VPV和VSwitch。data

  5. 登录到Databricks数据洞察控制台

  6. 选择集群所在region进入集群列表。

  7. 点击集群实例进入集群详情页面。

  8. 点击详情页面上方数据源页签进入数据源页面点击添加

  9. 选择通用网络,选择对应的VPC和VSwith点击下一步点击确认等待创建成功。data

说明

如果没有接入请按照帮助文档访问外部数据源进行添加。

使用NoteBook访问ElasticSearch数据源

  1. 在NoteBook引入依赖。

    %spark.conf
    
    spark.jars.packages org.elasticsearch:elasticsearch-spark-30_2.12:8.2.0
  2. 读取JSON数据,并将数据写入到ElasticSearch。

%spark
//读取oss数据
val path="oss://your bucket/data/es_case.json"
val data = spark.read 
  .option("header", "true") 
  .option("inferSchema", "true") 
  .json(path)
//数据处理展示  
data.na.drop.show(10)
//写入数据到ES
data.write
  .format("org.elasticsearch.spark.sql")
  .option("es.nodes.wan.only","true")
  .option("es.port","443")
  .option("es.net.http.auth.user", "your es username") 
  .option("es.net.http.auth.pass", "your es password")
  .option("es.net.ssl","true")
  .option("pushdown"," true")
  .option("es.nodes", "your es url")
  .mode("Overwrite")
  .save("product_info/products")
  1. 读ElasticSearch数据源数据。

%spark
val reader = spark.read
  .format("org.elasticsearch.spark.sql")
  .option("es.nodes.wan.only","true")
  .option("es.port","443")
  .option("es.net.http.auth.user", "your es username") 
  .option("es.net.http.auth.pass", "your es password")
  .option("es.net.ssl","true")
  .option("pushdown"," true")
  .option("es.nodes",  "your es url")
reader.load("product_info/products").show()
data