[hive on spark:First Step]构建不支持hive的spark分布式安装包

Spark UDF重复计算问题与表达式复用优化实战 UDF(用户自定义函数)是Spark中实现业务逻辑扩展的关键机制,但其默认执行模型不保证结果复用,导致同一输入被多次解析、序列化和计算,成为隐性性能瓶颈。其本质源于Catalyst优化器对非内置函数的语义隔离设计——为保障正确性,默认禁用跨表达式缓存。这种限制在filter+select、多列调用或嵌套场景下尤为突出,引发CPU空转、GC飙升与任务延迟。解决路径需回归确定性(deterministic)这一核心前提,并结合表达式复用、广播查表或物化中间列等工程手段,在保障数据一致性的前提下提升执行效率。本文 阅读详情

动机

因为hive的执行引擎可以设置为spark,但是hive的默认执行引擎是mapreduce,这种操作是对磁盘进行大量的io操作,所以在效率上不会比spark高,运行时间也是会比spark更长,但是官方发布的spark版本内置了hive组件,然后就是使用hived时候会出现各种各样的问题(确实出现了各种各样的问题,不然我就不会下这篇技术水文)

环境

  • linux cent OS 7

操作

首先去官网上下载spark的源码包spark的各个版本的下载地址
我这里使用的是spark 2.2.2版本,当我下载完成之后,打开文档目录,里面的文件结构如下:
在这里插入图片描述
然后我是打算构建分布式的文件安装包,在官网上有说明如何构建spark,地址:构建spark,这片文档里面有说明如何构建一个如同官网一样的分布式文件安装包。然而官网并没有给出一个构建hive on spark的编译例子,只是在文档里面说,spark可以构建xx组件支持一类的。那么要构建一个hive on spark的安装包应该怎么去做?
点击打开这个文章hive on spark这
重点
请注意,您必须拥有不包含Hive jar 的Spark版本 。意思是一个不是用Hive配置文件构建的。如果您将使用Parquet表,建议您也启用“parquet”配置文件。否则Parquet依赖项可能会发生冲突。要从安装中删除Hive jar,只需在Spark存储库下使用以下命令:
spark2.0.0之前:

./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.4,parquet-provided"

自Spark 2.0.0起:

./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"

自Spark 2.3.0起:

./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,orc-provided"

因为我用的spark的版本是spark2.2.2所以我利用了中间的那段命令(要在spark源码目录下使用)进行构建spark分布式的jar包。等待一定时间之后:
在spark的根目录下有一个安装包,这个时候就可以开始部署spark了。
在这里插入图片描述
部署spark留在之后的一篇文章里面说明,可能会有一些其它的坑要踩。
我的文章可能没有阐述明白,如果有什么其它的问题我们可以共同讨论。谢谢。

多维聚合中的数据变形:聚合前vs聚合后决策指南 多维聚合是BI报表、数据分析和实时看板的核心技术基础,其本质是在GROUP BY等分组操作中对数据进行结构化汇总。但真正影响结果准确性的关键环节,往往不是聚合本身,而是围绕聚合展开的‘数据变形’——包括空值填充、时区统一、字符串标准化、窗口计算与跨组广播等操作。这些变形必须依据语义层级严格区分:行级变形需在分组前完成以保障分组键正确性;组内上下文变形(如累计求和)依赖窗口函数;而跨组广播(如注入全国均值)则需独立计算后注入。忽视变形时机将导致维度缺失、指标失真甚至线上事故。本文聚焦SQL与DataFrame 阅读详情

相关推荐

多维聚合实战:超越GROUP BY的数据操作方法论

多维聚合是BI、特征工程与实时分析中的核心数据操作范式,本质是在时间、地域、产品等多维度构成的立方体上进行带上下文感知的分组、计算与联动。它突破传统SQL GROUP BY的扁平化局限,支持层级汇总(ROLLUP)、全组合聚合(CUBE)及跨粒度对比(如省份内TOP排名、同比环比),关键技术包括窗口函数、维度路径建模、上下文哈希与元数据层设计。在电商大促看板、银行客户分群、IoT设备OEE分析等场景中,多维聚合直接决定指标可信度与分析响应速度。本文聚焦SQL/Pandas/Spark三栈等效实现,覆盖维度坍

weixin_30363981的博客 968

Hive和Spark-SQL的演变

Hive到Spark-SQL的演变过程

XuXuemin的专栏 505

多维聚合中的数据变形:4类核心操作与工程实践

多维聚合是BI分析与数据建模的基础能力,其本质是在多个业务维度(如地区、时间、产品、渠道)上对原始事实数据进行分组、计算与对齐。它依赖数据变形技术实现维度折叠、层级映射、跨粒度桥接和动态窗口等关键操作,解决‘GROUP BY无法直接表达的复杂业务逻辑’问题。这类变形直接影响指标口径一致性、历史可追溯性与跨系统复用性,广泛应用于销售归因、用户漏斗、库存周转、营销ROI等场景。本文聚焦Pandas/SQL/Spark中可落地的4类数据变形模式,结合真实故障案例,提供可验证、可追溯、可协作的工程化实践路径。

weixin_30567225的博客 456

hadoop 大数据学习常用命令

hadoop 大数据学习常用命令

xzg1109的专栏 557

多维聚合中的数据操作:从GROUP BY到动态增强的实战方法论

多维聚合是现代数据分析的核心能力,指在多个业务维度(如时间、地域、产品)上对数据进行分组计算,并进一步对聚合结果进行再加工。其底层原理依赖窗口函数、跨粒度关联、条件聚合等SQL高级特性,技术价值在于提升报表灵活性、降低ETL维护成本、支撑实时钻取与动态口径切换。典型应用场景包括销售占比分析、用户分层聚合、区域滚动统计及异常值标注等。本文聚焦‘聚合结果作为新数据源’这一关键范式,系统讲解如何通过分层流水线架构与PostgreSQL/Trino/Spark SQL协同,实现可测试、可配置、可演进的多维数据操作。

weixin_34293059的博客 428

PySpark工程实践指南:从本地调试到生产调优的完整路径

PySpark不是Pandas的分布式平替,而是一种基于RDD和DataFrame的分布式计算范式。其核心原理在于惰性求值、血缘追踪与Catalyst优化器驱动的物理执行计划生成。技术价值体现在海量日志ETL、实时特征计算与跨源数据融合等场景中,尤其适合处理TB级用户行为数据。但实际落地常受困于环境差异(如YARN vs local模式)、分区策略误用、缓存失控及广播变量滥用等问题。本文聚焦PySpark生产实践中的关键决策点,涵盖路径协议一致性、inferSchema动态治理、四层ETL架构、RDD与Da

dicui3114的博客 389

ambari+hdp后续问题

1、添加hiveserver2,配置高可用 —建议不要再主机中添加,在服务框添加(因为在这里面添加会提示你重启受影响服务) 可能遇到问题,服务启动后,没有监听10000端口,过几分钟之后,hiveserver2就挂了。 查看监听端口命令: netstat -anp|grep 10000 可以在主机后台启动试一下: hive --service hiveserver2 & ,如果还不行,把其他有可能有关的服务都重启一遍 ...

one_uueu的博客 989

数仓工具—Hive语法之窗口函数first_value和last_value(12)

1. first_value和last_value 见名知意,就是计算当前窗口截止当前行的第一个值和最后一个值(或者是排名的第一名个最后一名) 2. 其实我们可以理解为取当前窗口截止当前行的最值(最大值和最小值) 3. 这两个窗口函数其实用的不多,也没什么常见的场景

6万+

Python 操作 Hive 完整教程

本教程系统介绍了Python操作Hive的4种主流方式,包含7个教学脚本和完整实践指南。教程基于hive-app/项目结构,涵盖PyHive原生SQL、pandas集成、SQLAlchemy引擎及PySpark两种数据源分析等核心内容,所有代码均逐行注释并经过验证。项目提供完整的虚拟环境配置、依赖清单、示例数据和spark-submit脚本,适合初学者从零搭建Hive分析环境。教程要求Python 3.12+、Hadoop 3.x、Hive 4.x环境,重点演示了连接配置、数据准备和四种不同技术栈下的Hiv

桃李不言下自成蹊 631

spark-hive-2.11和spark-sql-以及spark-hadoop包另付下载地址

这是每个学习spark必备的jar包,是根据我的个人试验后所得,官网正版,在spark官网下载。 资源包里不仅有需要的jar包,并且给不会再官网上下载的新手官方网址,可以自由下载资源

spark-2.3.0-bin-hadoop277-without-hive.tgz

spark2.3.0 without hive 编译版本,用于Hive on Spark 环境搭建 ./dev/make-distribution.sh --name "hadoop277-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,orc-provided" -Dhadoop.version=2.7.7

Spark随机采样稳定性实战:repartition+动态seed双保障

Spark中的随机采样并非简单调用sample()即可保证结果一致,其本质是分区级伯努利试验,受原始数据分区不均、executor启动时序、shuffle策略等多重因素影响,导致样本量波动、AB实验不可复现、模型训练集漂移等典型问题。核心原理在于:采样稳定性取决于各分区记录数的统计方差控制,而非常规理解的‘设个seed就万事大吉’。技术价值体现在保障数据可复现性、支持审计合规与跨环境对齐,广泛应用于特征工程、A/B测试分流、实验平台建设及流批一体数据准备。本文聚焦Structured Streaming与D

weixin_30813225的博客 444

C# 死锁:原理、诊断与解决方案深度解析

本文深入探讨了C#中的死锁问题,详细介绍了死锁的基本概念、形成机制、常见场景、诊断方法及解决方案。死锁通常发生在多线程环境下,当多个线程因争夺资源而互相等待时,导致程序无法继续执行。文章通过代码示例展示了常见的死锁场景,如锁的嵌套、同步上下文死锁和线程池死锁,并提供了使用Visual Studio、WinDbg等工具进行死锁诊断的方法。此外,文章还提出了多种预防和解决死锁的策略,包括保持锁顺序一致性、使用锁超时机制、避免同步阻塞异步代码以及使用更高级的同步原语。通过这些方法,开发者可以有效减少死锁的发生,提

记录学习的过程 1407

数据科学家高频实战SQL:10条覆盖83%日常场景的查询逻辑

SQL查询是数据科学工作流中连接原始数据与业务洞察的核心技术能力。其本质不仅是语法规范,更涉及数据清洗、聚合分析、关联逻辑、空值处理及业务口径对齐等工程化实践。在真实场景中,窗口函数、JOIN策略、去重机制和时间处理等操作需兼顾执行稳定性、跨引擎兼容性与业务可解释性。例如,ROW_NUMBER()常用于解决数据口径漂移问题,而COALESCE与LEFT JOIN的组合则保障空值安全关联;NTILE()替代MOD实现稳定分层抽样,DATEDIFF配合时间窗口对齐自然日周期。这些技术选择背后,是数据质量、计算效

329

Zotero+Obsidian+Bookxnote联动让文献阅读丝滑般体验

摘录文字或图片到Obsidian

weixin_43694742的博客 1万+

代谢组+微生物组联合分析实战:从样本处理到生物标志物筛选的完整流程

本文详细介绍了代谢组与微生物组联合分析的全流程,从样本采集、处理到生物标志物筛选的科学实践。重点解析了样本类型匹配、共提取技术、质控协同监控及多维度关联分析方法,帮助研究者系统掌握这一前沿技术,为疾病机制研究和精准医疗提供新视角。

weixin_28335283的博客 217

Databricks Notebook底层原理与生产级避坑指南

Databricks Notebook并非Jupyter增强版,而是一个服务端Session驱动的有状态计算环境,其核心在于Spark Session生命周期管理、临时视图作用域隔离及Delta Lake深度集成。理解Notebook四层架构(UI/Notebook/Runtime/Cluster)是解决卡顿、状态污染与协同异常的关键;掌握%sql等魔法命令作为会话协议开关的本质,可规避SQL-Python变量不可见、分区过滤失效等高频问题。结合TIME TRAVEL、display替代方案与%run执行模

weixin_33957648的博客 655

3D打印切片软件Cura及CuraEngine原理分析

引言         年初开始进入3D打印行业,受命以Cura为基础,研发一款自主的3D打印切片软件。         自主研发要取其长处,补其不足,首先自然是要搞清楚Cura到底做了什么,读Cura的代码是必需的。我一向都觉得比起自己写代码来,读别人的代码是一个漫又而痛苦的过程,读者的思想与写者总有偏差,往往又无法验证自己的猜想是否正确,只叹人脑不是电脑,无法把眼前的代码从头到尾执行一遍...

AiDiShengDeXiaoWu的博客 4421

多维聚合后的数据变形:Pandas五大操作实战指南

多维聚合是BI与数据分析中的基础计算范式,指对原始明细数据按多个维度(如地区、时间、产品)分组汇总,生成结构化指标表;其核心价值在于将海量明细压缩为可解释的业务快照。但真正的分析瓶颈往往不在聚合本身,而在聚合结果的结构适配——即数据变形(Data Manipulation):宽表转长表以支持趋势对比、长表转宽表以适配BI展示、层级字段展开以服务机器学习、多源结果对齐以实现归因分析、动态切片以响应灵活查询。这些操作直接决定聚合结果能否转化为决策依据。本文聚焦Pandas在多维聚合后变形阶段的工程实践,覆盖me

anzheng6118的博客 413

飞塔防火墙CVE-2022-40684漏洞复现:手把手教你搭建靶场环境(附调试技巧)

本文详细指导如何搭建Fortinet飞塔防火墙CVE-2022-40684认证绕过漏洞的靶场环境,涵盖虚拟机部署、网络配置、调试模式开启及漏洞原理分析。通过手把手教程,读者可掌握漏洞复现与深度调试技巧,深入理解该认证绕过漏洞的利用与防御。

h6i7j8的博客 695

【WRFDA安装第一期】安装 WRFDA 以运行 3DVAR/4DVAR数据同化

【WRFDA安装第一期】安装 WRFDA 以运行 3DVAR/4DVAR数据同化

WW、forever的博客 1896

Delta lake第一稿个人翻译和注释(第四章)

亚马逊S3等云对象存储是全球规模最大、最具成本效益的存储系统之一,因此成为存储大型数据仓库和数据湖的理想之选。遗憾的是,它们作为键值存储的实现使得实现ACID事务和高性能变得困难:元数据操作(如列出对象)成本高昂**(解释:对象存储在云上面list操作费用是get操作的10倍,并且抽取类似元数据次数多了,费用很贵;所以整体思想是减少list操作,有个元数据管理文件,然后从文件抽取必要文件然后采取 get操作),一致性保证也有限。

knowcai126的博客 291

【数据结构】考点二十八 : 二叉树的概念:二叉树的度、完全二叉树、满二叉数结点数、哈夫曼结点数、完全二叉树的深度

二叉树(Binary Tree)是一种常见的数据结构,它或者为空(null),或者由一个根节点(root node)和两个子树(left subtree 和 right subtree)组成,这两个子树又分别是一棵二叉树。二叉树的每个节点最多有两个子节点,通常称为左子节点(left child)和右子节点(right child)。

超越的博客 1738

多维聚合与数据变形:从SQL GROUP BY到可决策指标的实战框架

多维聚合是BI分析与数据仓库建设中的核心能力,本质是将原始事实数据在多个有语义、有层级、有时序关系的维度坐标系中进行结构化切片与度量计算。其技术原理在于准确识别维度拓扑(如树状层级vs线性时间)、区分度量类型(可加/半可加/不可加)并实施时空对齐。这一过程直接决定报表可信度与业务洞察深度,广泛应用于销售归因、用户分群、库存健康度评估及金融风险建模等场景。本文聚焦‘数据变形’这一关键环节,系统拆解维度对齐、度量标准化、维度折叠与指标衍生四步法,结合Pandas/Spark/SQL工程实践,解决真实生产中85%

weixin_30509393的博客 418

【Burp入门第三十一篇】Burp+SwitchyOmega实现本地localhost代理

在部分情况下(如本地靶场),当我们需要在Burp中查看、修改本地流量包的时候,按以下三个配置是不能得到本地流量包的。

等风来 3214

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

多维聚合数据操作:超越GROUP BY的实战方法论

多维聚合是OLAP分析的核心能力,其本质是在不同粒度(如用户级、订单级、时间窗口级)上对指标进行协同计算。传统GROUP BY因强制统一粒度而易导致逻辑错配、性能坍塌与语义失真;真正高效的做法需结合窗口函数实现分组内上下文计算、Pivot/Unpivot完成维度形态转换,并通过分块聚合与分层DAG流水线应对高维爆炸与内存瓶颈。技术价值在于支撑LTV预测、留存归因、实时看板等关键业务场景,同时保障可维护性、可扩展性与亚秒级响应。本文聚焦ClickHouse、Spark SQL与Pandas生态下的工程化落地路

dfdfadsf3443的博客 380

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: [Hive on spark:Second Step]搭建Hive
下一篇: spark报错:java.lang.ClassNotFoundException: org.apache.parquet.Log
芹菜学长
博客等级 码龄10年 193粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值