本文介绍如何使用Databricks数据洞察访问ElasticSearch数据源。
前提条件
通过主账号登录阿里云Databricks控制台。
已创建ElasticSearch实例,具体参见创建阿里云Elasticsearch实例。
已创建DDI集群,具体请参见创建集群。
创建集群并通过knox账号访问NoteBook。
使用DDI读写ElasticSearch数据源
打通DDI集群与ElasticSearch数据源的网络
点击上部选择实例所在region。
点击实例ID进入实例详情页面。
查看基本信息找到对应的VPV和VSwitch。
选择集群所在region进入集群列表。
点击集群实例进入集群详情页面。
点击详情页面上方数据源页签进入数据源页面点击添加。
选择通用网络,选择对应的VPC和VSwith点击下一步点击确认等待创建成功。
说明
如果没有接入请按照帮助文档访问外部数据源进行添加。
使用NoteBook访问ElasticSearch数据源
在NoteBook引入依赖。
%spark.conf spark.jars.packages org.elasticsearch:elasticsearch-spark-30_2.12:8.2.0
读取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")
读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()
文档内容是否对您有帮助?