首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
JavaEdge
华为_2012实验室_Java工程师
关注
已关注
取消关注
一起入门 spark 吧!
@JavaEdge:
SparkSQL入门
0 SharkSpark 的一个组件,用于大规模数据分析的 SQL 查询引擎。Shark 提供了一种基于 SQL 的交互式查询方式,可以让用户轻松地对大规模数据集进行查询和分析。Shark 基于 Hive 项目,使用 Hive 的元数据存储和查询语法,并基于Hive进行了性能优化和扩展。0.1 设计灵感来自 Google 的 Dremel 系统:将数据存储在列式存储引擎使用分布式计算引擎进行查询Shark 采用类似架构并使用 Spark 作为计算引擎,使 Shark 具有很高查询性能和可扩展性。0.2 缺陷Shark 在 Spark 1.0 发布之后被正式弃用,Shark 的性能和可扩展性相对于 Spark SQL 来说存在一些局限性。以下是一些导致 Shark 被淘汰因素:① 数据模型Shark 基于 Hive 数据模型,使用 Hive 的元数据存储和查询语法,导致查询语句执行效率较低。② 计算模型Shark 采用类似 Dremel 的列式存储引擎,虽能提高查询效率,但也导致更高内存开销和更复杂代码实现。③ 性能和可扩展性Shark性能和可扩展性相对Spark SQL存在一些局限性,如不支持流计算、新的数据源。因此,Spark社区放弃 Shark,转而对 Spark SQL 更深入研究,以提高查询性能和可扩展性,并支持更多数据源和计算模型。因此,Spark SQL 取代 Shark 成为 Spark 生态系统的 SQL 查询引擎。1 概述Spark SQL,结构化数据处理的Spark模块。Spark SQL官网误区:Spark SQL就是一个SQL处理框架,不仅是处理 SQL自 Spark 1.0 版本(2014 年 4 月)以来成为核心发布的一部分。与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据和正在执行的计算的更多信息。在内部,Spark SQL使用这些额外的信息执行额外的优化。与Spark SQL交互的几种方法包括SQL和Dataset API。在计算结果时,无论使用哪种API /语言表达计算,都使用相同的执行引擎。这种统一意味着开发人员可以根据提供最自然的方式表达给定转换的API轻松切换。2 用途执行SQL查询。 Spark SQL也可用于从Hive读取数据。当从另一种编程语言中运行SQL时,结果将作为Dataset/DataFrame返回。还可使用命令行或通过JDBC/ODBC与SQL接口交互。3 特性3.1 集成性Spark SQL可让你在Spark程序用SQL或熟悉的DataFrame API查询结构化数据。可在Java、Scala、Python和R中使用。它可使SQL查询与Spark程序无缝混合。3.2 统一数据访问DataFrames和SQL提供了一种通用方式访问各种数据源如Hive、Avro、Parquet、ORC、JSON和JDBC。甚至可在这些数据源之间联接数据。spark.read.format("json").load(path)spark.read.format("text").load(path)spark.read.format("parquet").load(path)spark.read.format("json").option("...","...").load(path)3.3 兼容HiveSpark SQL支持HiveQL语法以及Hive SerDes和UDF,使你可以访问现有的Hive仓库并在其上运行SQL或HiveQL查询。如果你想把Hive的作业迁移到Spark SQL,这样的话,迁移成本就会低很多3.4 标准的数据连接Spark SQL提供了服务器模式,可为BI提供行业标准的JDBC和ODBC连接功能。通过该功能,可通过JDBC或ODBC连接到Spark SQL并进行数据查询和操作。4 架构5 spark-submit 启动应用程序一旦绑定用户应用程序,就能用spark-submit启动。该脚本负责使用 Spark 及其依赖项设置类路径,并支持 Spark 支持的不同集群管理器和部署模式:./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --deploy-mode <deploy-mode> \ --conf <key>=<value> \ ... # other options <application-jar> \ [application-arguments]常用选项:--class:应用程序入口点(如org.apache.spark.examples.SparkPi)--master:集群的主 URLspark://23.195.26.187:7077--deploy-mode: 在工作节点部署你的驱动程序 ( cluster) 还是在本地作为外部客户端 ( client) (默认: client)--conf:K=V 格式的任意 Spark 配置属性。对于包含空格的值,将“key=value”括在引号中(如图所示)。多个配置应作为单独的参数传递。(如--conf <key>=<value> --conf <key2>=<value2>)application-jar:包含你的应用程序和所有依赖项的捆绑 jar 的路径。该 URL 必须在你的集群内全局可见,如路径hdfs://或file://存在于所有节点上的路径#!/usr/bin/env bash# 检查Spark SQL的环境变量if [[ -z "${SPARK_HOME}" ]]; then echo "SPARK_HOME is not set!" >&2 exit 1fi# 设置Spark SQL的类路径export SPARK_CLASSPATH="${SPARK_HOME}/jars/*:${SPARK_HOME}/conf"# 启动Spark SQL的服务exec "${SPARK_HOME}/bin/spark-submit" \ --class org.apache.spark.sql.hive.thriftserver.HiveThriftServer2 \ --name "Spark SQL Thrift Server" \ --master yarn \ --deploy-mode client \ --conf "spark.sql.hive.thriftServer.singleSession=true" \ --conf "spark.sql.hive.thriftServer.incrementalCollect=true" \ "${SPARK_HOME}/jars/spark-hive-thriftserver.jar" \ "$@"检查Spark SQL的环境变量,如果没有设置则退出脚本。设置Spark SQL的类路径,包含了Spark的jar包和配置文件。使用spark-submit命令启动Spark SQL的服务。指定启动类为HiveThriftServer2,该类负责启动Spark SQL的Thrift Server。指定服务名称为"Spark SQL Thrift Server"。指定Spark运行模式为yarn,提交任务到yarn集群中运行。指定部署模式为client,即客户端模式。设置Spark SQL的配置项,例如singleSession和incrementalCollect。指定启动的jar包为spark-hive-thriftserver.jar。最后传入用户输入的参数。关注我,紧跟本系列专栏文章,咱们下篇再续!作者简介:魔都技术专家兼架构,多家大厂后端一线研发经验,各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。负责:中央/分销预订系统性能优化活动&优惠券等营销中台建设交易平台及数据中台等架构和开发设计车联网核心平台-物联网连接平台、大数据平台架构设计及优化目前主攻降低软件复杂性设计、构建高可用系统方向。参考:编程严选网
点赞 0
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
2025-12-30 15:09
已编辑
百度_高级研发工程师
对不起,我有罪
不管别的,先认错,我知道不管怎么回事,我肯定是错了,认错总没错。 2025,华为离职、低谷三个月、上岸大厂、儿子出生,这一步一步走过了,都是命好,我一点没努力,其实我可以做的更好,都是我的错。一、离开华为,是我不够努力 是我错了,试用期干了七项工作,我自不量力,干这么多。 是我错了,七项工作,里面有几样没干好,是我不努力,是我不认真,你们说的对,为什么别人能会我不会,都是我的错。 是我错了,我安全检查的工作,干了80%,坑趟完了,工作别人抢走,转正编名额被抢走,是我的错,我不会舔领导,不会来事,我没做到不被人抢走的地步,是我的错,我忏悔。 是我错了,我应该继续努力,完全认同华为文化,刻苦奋斗,...
对2025年忏悔
点赞
评论
收藏
分享
2025-12-30 10:27
天津大学 ARM工程师
秋招G了,春招还能翻盘吗?
刚刚结束的秋招中,有人欢喜有人忧。欢喜的是,有些同学找到了不错的工作;忧愁的是,也有同学没有心仪的去处。秋招和春招,是学生们心头的两个坎,之前看师兄师姐们或优雅或费力的迈过这些坎,感触并不大。终于,在毕业的前一年,也轮到了我们自己。第一次经历,自然心头有着不少疑惑。今天从计算机行业出发,我带你抽丝剥茧,把事情整清楚。首先抛出三个大家关心的问题:校园招聘的秋招和春招有什么区别秋招零offer,春招还有机会吗秋招已经签约了,能去春招再看看吗春夏秋冬,四季变换,自有顺序。那为啥秋招会在春招之前呢?因为,对于学生来说,在校期间的求职时间有两段,一段是毕业前一年的秋天,在 7 月 ~ 11月之间,称为秋...
点赞
评论
收藏
分享
2025-12-29 23:01
江西财经大学 外贸业务员
求一个不把应届生当cs的城市
我真有点想骂人了
脑袋锈住了:
你这算啥,哥们中科院中强所硕士,本科211,叫我去干分拣,时薪20
点赞
评论
收藏
分享
2025-11-27 21:29
已编辑
武汉理工大学 Java
现在找java 日常实习是不是太晚了
随便投了十多个,全是不合适是不是简历太拉了被查看是0是什么意思啊简历都没看就给我不合适了吗
java入门到炒饭:
是不是黑马点评加苍穹外卖啊哈哈哈哈哈哈
点赞
评论
收藏
分享
昨天 15:36
影石Insta360_深度学习算法工程师(准入职员工)
SHEIN内推,SHEIN内推码
在SHEIN你可以获得什么? 1⃣️首先,时尚公司体验感直线拉满!我很多同学毕业都去做男装,做运动服,做轻熟装!但是shein真的很时尚!你可以在摄影棚直线面对外国模特,给她们搭配衣服和配饰! 2⃣️公司工作环境超级好,工作氛围也很轻松愉快啦~每个校招生都会有专门的带教导师,很重要!!不会走冤枉路,能快速学习到东西,快速成长~咱们就是说,直球女孩的快乐!! 3⃣️福利 超级翻倍!任何节日你都能收到来自公司满满的心意公司每个人都是shein专业的周边大户~下午茶吃到你嘴软,节日小礼物也是经常拿~ 4⃣️超值内购会!来到快时尚公司,妈妈再也不怕我没有衣服穿了!各种样衣全部十元!只要你敢来,公司就敢...
SHEIN希音公司福利 289人发布
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
🔥2026创作新起点:《新年启航计划》来袭,三大赛道等你来冲!
1.2W
2
...
一大波手撕正在靠近!
1.0W
3
...
为什么你的实习是“无效实习”?又该如何做
4365
4
...
uu们,面试的时候一定要大大方方的啊!
2425
5
...
腾讯游戏后端一面
2328
6
...
双非终于上岸了!!!!
2325
7
...
快手Java日常实习一面
2186
8
...
千里智驾毁约
2110
9
...
帕斯亚科技UE客户端面经
1984
10
...
双非本科,嵌入式秋招上岸的一次总结
1755
创作者周榜
更多
正在热议
更多
#
有深度的简历长什么样?
#
2011次浏览
39人参与
#
应届生第一份工作最好去大厂吗?
#
123562次浏览
1093人参与
#
入职第一天
#
1807次浏览
27人参与
#
非技术er求职现状
#
127004次浏览
772人参与
#
你不能接受的企业文化有哪些
#
1466次浏览
34人参与
#
工作后会跟朋友渐行渐远吗
#
54791次浏览
401人参与
#
实习最想跑路的瞬间
#
107194次浏览
649人参与
#
CVTE工作体验
#
17281次浏览
39人参与
#
双非本科的出路是什么?
#
192383次浏览
1516人参与
#
帆软软件工作体验
#
8555次浏览
34人参与
#
我的上岸简历长这样
#
757106次浏览
11284人参与
#
秋招感动瞬间
#
111712次浏览
509人参与
#
机械人选offer,最看重什么?
#
152286次浏览
789人参与
#
运营/市场/管培生岗位评价
#
28904次浏览
179人参与
#
多益网络求职进展汇总
#
60220次浏览
272人参与
#
为什么那么多公司毁约
#
216967次浏览
1463人参与
#
上班苦还是上学苦呢?
#
317684次浏览
2047人参与
#
2023届毁约公司名单
#
234192次浏览
1063人参与
#
小米求职进展汇总
#
997521次浏览
6500人参与
#
秋招想进国企该如何准备
#
119732次浏览
602人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务