sparkSQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。
Shark也就是Hive on Spark,Shark在HiveQL方面重用了Hive里HiveQL的解析、逻辑执行计划、翻译执行计划优化等逻辑,通过Hive中HiveQL解析,把HiveQL翻译成Spark上的RDD操作。Shark的设计导致了两个问题:
(1)执行计划优化完全依赖于Hive,对于添加新的优化策略很是不便;
(2)Spark是线程级并行,而MapReduce是进程级并行。Spark在兼容Hive的实现上存在线程安全问题,因而使得Shark必须使用另外一套独立维护的打了补丁的Hive源码分支;
Spark团队在汲取了shark的优点基础上,重新设计了sparkSQL,使sparkSQL在数据兼容、性能优化、组件扩展等方面有很大的提升
1.数据兼容:支持从Hive表、外部数据库(JDBC)、RDD、Parquet 文件、以及JSON 文件中获取数据;
2.组件扩展:SQL 语法解析器、分析器、优化器都能够重新定义;
3.性能优化:内存列存储、动态字节码生成等优化技术,内存缓存数据;
4.多语言支持:Scala、Java、Python;
三、 DataFrame
1.DataFrame让Spark具备了处理大规模结构化数据的能力,比起原有的RDD转化方式,更加简单易用,而且计算能力也有显著提高。
RDD是分布式的Java对象的集合,但是,RDD对于对象内部结构并不可知。
DataFrame是一种以RDD为基础的分布式数据集,提供了详细的结构信息。
Spark能够轻松实现从MySQL到DataFrame的转化,并且支持SQL查询。
2.创建DataFrame
import org.apache.spark.sql.SparkSession val spark = SparkSession.builder().getOrCreate() //是支持RDDs转换为DataFrames及后续sql操作 import spark.implictis._ val df = spark.read.json("file://usr/local/spark/examples/src/main/resources/people.json") df.show() //打印模式信息 df.printSchema() df.select(df("name"), df("age")+1).show() //分组聚合 df.groupBy("age").count().show()
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31本人基本情况: 学校及专业:厦门大学经济学院应用统计 实习经历:快手数据分析、字节数据分析、百度数据分析 Offer情况:北京 ...
2025-01-3001专家简介 徐杨老师,CDA数据科学研究院教研副总监,主要负责CDA认证项目以及机器学习/人工智能类课程的研发与授课,负责过中 ...
2025-01-29持证人简介 郭畅,CDA数据分析师二级持证人,安徽大学毕业,目前就职于徽商银行总行大数据部,两年工作经验,主要参与两项跨部 ...
2025-01-282025年刚开启,知乎上就出现了一个热帖: 2024年突然出现的经济下行,使各行各业都感觉到压力山大。有人说,大环境越来越不好了 ...
2025-01-27在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-01-26数据指标体系 “数据为王”相信大家都听说过。当前,数据信息不再仅仅是传递的媒介,它成为了驱动经济发展的新燃料。对于企业而 ...
2025-01-26在职场中,当你遇到问题的时候,如果感到无从下手,或者抓不到重点,可能是因为你掌握的思维模型不够多。 一个好用的思维模型, ...
2025-01-25俗话说的好“文不如表,表不如图”,图的信息传达效率很高,是数据汇报、数据展示的重要手段。好的数据展示不仅需要有图,还要选 ...
2025-01-24数据分析报告至关重要 一份高质量的数据分析报告不仅能够揭示数据背后的真相,还能为企业决策者提供有价值的洞察和建议。 年薪70 ...
2025-01-24又到一年年终时,各位打工人也迎来了展示成果的关键时刻 —— 年终述职。一份出色的年终述职报告,不仅能全面呈现你的工作价值, ...
2025-01-23“用户旅程分析”概念 用户旅程图又叫做用户体验地图,它是用于描述用户在与产品或服务互动的过程中所经历的各个阶段、触点和情 ...
2025-01-22在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-22在数据分析领域,Excel作为一种普及率极高且功能强大的工具,无疑为无数专业人士提供了便捷的解决方案。尽管Excel自带了丰富的功 ...
2025-01-17在这个瞬息万变的时代,许多人都在寻找能让他们脱颖而出的职业。而数据分析师,作为大数据和人工智能时代的热门职业,自然吸引了 ...
2025-01-14Python作为一门功能强大的编程语言,已经成为数据分析和可视化领域的重要工具。无论你是数据分析的新手,还是经验丰富的专业人士 ...
2025-01-10完全靠数据决策,真的靠谱吗? 最近几年,“数据驱动”成了商界最火的关键词之一,但靠数据就能走天下?其实不然!那些真正成功 ...
2025-01-09SparkSQL 结构化数据处理流程及原理是什么?Spark SQL 可以使用现有的Hive元存储、SerDes 和 UDF。它可以使用 JDBC/ODB ...
2025-01-09在如今这个信息爆炸的时代,数据已然成为企业的生命线。无论是科技公司还是传统行业,数据分析正在深刻地影响着商业决策以及未来 ...
2025-01-08“数据为王”相信大家都听说过。当前,数据信息不再仅仅是传递的媒介,它成为了驱动经济发展的新燃料。对于企业而言,数据指标体 ...
2025-01-07