Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。为什么要学习Spark SQL?如果大家了解Hive的话,应该知道它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!同时Spark SQL也支持从Hive中读取数据。
Spark SQL也能自动解析JSON数据集的Schema,读取JSON数据集为DataFrame格式。读取JSON数据集方法为SQLContext.read().json()。该方法将String格式的RDD或JSON文件转换为DataFrame。
需要注意的是,这里的JSON文件不是常规的JSON格式。JSON文件每一行必须包含一个独立的、自满足有效的JSON对象。如果用多行描述一个JSON对象,会导致读取出错。
-
需要用到的测试数据:people.json
{"name":"Michael"} {"name":"Andy", "age":30} {"name":"Justin", "age":19}
-
定义路径
val path ="/root/temp/people.json"
-
读取Json文件,生成DataFrame:
val peopleDF = spark.read.json(path)
-
打印Schema结构信息
peopleDF.printSchema()
-
创建临时视图
peopleDF.createOrReplaceTempView("people")
-
执行查询
spark.sql("SELECT name FROM people WHERE age=19").show
相关推荐
在赵强老师的课程中,你可以学到以下几个重要的Oracle知识点: 1. **Oracle基础知识**:了解Oracle的历史、版本以及其在企业级应用中的重要性。学习数据库的概念、数据模型(如关系型模型)以及数据库管理系统...
想要好好地学习Oracle数据库的朋友呀,你错过了她就太不值得了。里面有好多的Oracle操作命令可能你都没接触过吧。好了,话不多多说。坚信资料不错!你,值得拥有!OK.还有,之所有要你2分打赏,是我给了你这么好的...
《精通JSP编程》是赵强先生的一部深入解析JSP技术的专业著作,该书针对JSP编程进行了全面且深入的讲解,旨在帮助读者掌握JSP的核心概念和技术,提升Web应用开发能力。根据提供的文件名列表,我们可以推测书籍的章节...
教程名称:Oracle 数据库赵强视频教程【3天】教程目录:【】Oracle安装与管理、SQL语句(赵强)【】Orcale存储过程jdbc与Orcale大文本操作等(赵强)【】SQL简单查询触发器视图(赵强) 资源太大,传百度网盘了,链接在...
在Oracle数据库的学习中,SQL优化是一项至关重要的技能,因为它直接影响到数据库的性能和查询效率。以下是一些关于SQL优化的关键知识点: 1. **使用列名代替通配符(*)**:在编写SQL查询时,避免使用`*`来获取所有列...
精通JSP编程 作者赵强 编 12-18节
7. 光标的使用:12 光标的使用.ppt会详细说明如何在PL/SQL中使用游标来处理单行或多行结果集,包括声明、打开、读取和关闭光标等步骤。 8. 存储过程与函数:14 存储过程与函数.ppt将阐述这两者的定义、用途和创建...
根据提供的文件信息,我们可以推断出这是一份与Java Server Pages (JSP)相关的学习资料介绍,特别是关于赵强编写的《精通JSP编程》这本书的相关信息。下面将基于这个理解来生成相关知识点。 ### 一、JSP基础概念 ...
在安装过程中,需要设置数据目录和日志文件目录,并根据需要配置内存映射和自动故障转移等高级特性。 在MongoDB的使用中,我们可以使用命令行工具进行数据操作,包括创建、读取、更新和删除(CRUD)操作。MongoDB的...
Oracle中国有限公司高级技术顾问赵强老师大数据Hadoop+Spark精选课程。Hadoop、Spark和Storm,每个人都认为他们正在做一些与这些新的大数据技术相关的事情,但它不需要很长的时间遇到相同的模式。具体的实施可能有所...
由于PCB(Printed Circuit Board)板图设计的复杂性,不同的EDA(Electronic Design Automation)软件在输出的PCB板图文件格式上存在互不兼容的问题,这导致了EDA软件间数据交换困难,从而影响了PCB板图的整体优化...
这篇PPT学习教案主要针对二年级的学生,旨在教授他们在生活中如何理解和使用大数。课程以实际生活中的例子引入,帮助...在教学过程中,教师可能会引导学生进行估算、比较和排序,培养他们的逻辑思维和问题解决能力。
这些实例都是为了让学生在实际情境中感知大数,并了解它们在我们生活中的应用。 课件的第16页开始引入了数位的概念,通过填空的形式让学生理解“个”、“十”、“百”、“千”的进制关系,比如10个一是10,10个十是...
在本项目中,标题"java代码-46 赖赵强"暗示了这是一个与Java编程相关的代码示例,可能是由一个名叫赖赵强的开发者编写的。在Java编程领域,这种命名通常是为了记录个人的学习过程或者项目经历。描述中的内容相同,...
2. 创建集群:在WebLogic管理控制台中,创建一个新的集群,为每个成员服务器指定主机名和端口,并配置集群间的通信设置。 3. 部署到集群:应用部署到集群时,会自动复制到所有集群成员,确保所有节点都能处理请求。...
3. 容器技术:Docker作为目前最流行的容器化平台,在文件中也有体现。丁明一讲师的权威Docker指南课程、贺永康讲师关于使用Docker部署Nextcloud云盘服务的课程,都展示了Docker在当前IT技术中的重要性。 4. 云计算...