本例中将DataFrame写入ES,之后利用kibana进行统计展示.
import com.hm.util.SparkHelper
import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}
object Test {
def main(args: Array[String]): Unit = {
val spark: SparkSession = SparkHelper.getSparkSession
val options = Map(
//如果没有index,则新建
"es.index.auto.create" -> "true",
"es.nodes.wan.only" -> "true",
//安装es的服务器节点
"es.nodes" -> "192.168.xx.xx1",
//es的端口
"es.port" -> "9200"
)
//读取数据成为DF
val sourceDF: DataFrame = spark.read.load("output/rs")
//DF可以直接写入ES
sourceDF
.write
.format("org.elasticsearch.spark.sql")
.options(options)
.mode(SaveMode.Append)
//index为hive_table
.save("hive_table/docs")
}
}
登录kibana,
http://node01:5601/
依次点击管理–索引管理–创建索引模式

接着定义索引模式,就是把刚才写入的数据创建索index
后续就可以进行各种可视化操作了,不再赘述.
参考
Apache Spark support | Elasticsearch for Apache Hadoop [7.10] | Elastic
https://www.elastic.co/guide/en/elasticsearch/hadoop/current/spark.html#spark

3万+

被折叠的 条评论
为什么被折叠?



