使用SparkSql 读取ES数据
- 对于大批量数据,查询es时,需要带条件去查询,否则一下查出所有数据数据量会很大
- es查询需要编写json格式的DSL查询语句,对于复杂查询,DSL编写起来也分很复杂,所以我们这里使用sparksql,通过编写sql语句,spark将sql语句自动转化为DSL语句来查询es。
关于es对spark的支持可参见文档,官网 https://www.elastic.co/guide/en/elasticsearch/hadoop/current/spark.html
废话不多说,上代码
case class people(phone:String)
val sparkConf = new SparkConf().setAppName("application-name").setMaster("local[4]")
val sc = new SparkContext(sparkConf)
val sql = new SQLContext(sc)
import sql.implicits._
//配置
val options = Map(
"pushdown" -> "true", "es.nodes" -> "192.45.15.15", //ip "es.port" -> "9200") //端口
val esDF = sql.read.format("org.elasticsearch.spark.sql")
.options(options) .load("spark_202003/alldata") //索引 // esDF.printSchema() //可打印schema信息
val table = esDF.createOrReplaceTempView("spark_202003") //创建临时表用于查询
val sqlString=“select * from spark_202003 where code=‘1’ ”
val resultDF = sql.sql(sqlString)
var resultDS = resultDF.map(x => people(x(0).toString))) //
这里是转换成了dataset,之后可对dataset 做其他操作
打印下查询的内容
resultDS.collect().toList.toString()
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
大数据视频教程从零基础入门到精通
大数据视频教程从零基础入门到精通,学习大数据技术的必经之路是什么?是Hadoop吗?当然不是!如果想要踏入大数据的门槛,一个必须的条件就是我们的编程基础。熟练掌握一门编程语言是对大数据开发工程师基本的要求。 就来区分学习大数据的小伙伴们水平来看,大多数对于编程并没有一个很好的基础,所以老师在学习大数据技术课程之初,就将Java课程列为基础课程,但因为我们的大数据课程还是以大数据核心技术为主,所以对于Java技术的巩固学习定下了四周的时间。对于有一定基础的同学这自然是不会吃力,但对于零基础来学习大数据的小伙伴,就要要求你在正式上课之前,先接触一下Java编程语言,通过我们的视频教程对JAVA语言有个大体的了解。 今天我们分享的就是大数据全套视频教程从零基础入门到精通——Java基础。针对零基础小白的入门课程,课程讲解比较通俗易懂,一般同学们都可以听懂。 在Java基础中主要是掌握以下基础技术: 图片1 大数据基础——java语言基础方面 (1)Java语言基础 Java开发介绍、熟悉Eclipse开发工具、Java语言基础、Java流程控制、Java字符串、Java数组与类和对象、数字处...
- 下一篇
Delta Lake,让你从复杂的Lambda架构中解放出来
作者介绍李潇,现就职于 Databricks,管理两跨国团队,专注于 Apache Spark, Databricks Runtime 和 Koalas 的开发和建设。他是 Apache Spark 项目管理委员会成员。本科毕业于南京理工大学,后在佛罗里达大学(University of Florida)获计算机博士学位, 曾就职于 IBM,获发明大师称号(Master Inventor),在数据处理领域发表专利十余篇。(Github: gatorsmile) 本文转自公众号:AI前线原文链接:https://mp.weixin.qq.com/s/ZNwW4L6JiusQ1S0BSmVj8g 今天我跟大家分享 一下 Data Lake 和 Delta 架构。 2019 年 10 月 16 日,在荷兰阿姆斯特丹举行的 Spark+AI
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长