![](https://img-blog.csdnimg.cn/9cd4113ba1894840a2d46f6f9a8dff31.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
文章平均质量分 83
Spark
对许
这个作者很懒,什么都没留下…
展开
-
Spark中的JOIN机制
Apache Spark共提供了五种JOIN机制,其中常用的有三种:Shuffle Hash Join、Broadcast Hash Join及Sort Merge Join,它们都基于Hash Join,只不过需要在Hash Join前后进行Shuffle、Broadcast或Sort实际上,Hash Join算法来自于传统数据库,而Shuffle、Broadcast和Sort是大数据(数据仓库)在分布式场景下两者结合的产物。因此,我们也说大数据(数据仓库)是由传统数据库发展而来的。原创 2024-07-16 23:47:57 · 1319 阅读 · 1 评论 -
Spark操作Excel最佳实践
Apache POI(Poor Obfuscation Implementation)是Apache软件基金会的一个开源项目,提供了用于读写Microsoft Office格式文件(如Word、Excel、PowerPoint)的Java APIPOI虽然支持多种文档格式的读写,但是我们最常用的还是对Excel文件的读写。POI技术使得Java开发人员能够轻松地操作和处理Office文档,它为我们提供了丰富的功能和灵活性HSSF。原创 2024-07-04 16:40:38 · 324 阅读 · 0 评论 -
Hive on Spark版本兼容性
Hive on Spark仅在特定版本的Spark上进行测试,因此给定版本的Hive只能保证与特定版本的Spark一起工作。其他版本的Spark可能与给定版本的Hive一起工作,但不能保证。原创 2024-06-08 16:08:23 · 594 阅读 · 0 评论 -
SparkSQL允许左联接的数据量大于左表数据量?
本次问题可以概括为:由一个join改为left join而引发的数据倾斜问题,并且一开始还当成了OOM处理。看似一个不起眼的举动,往往会产生意想不到的结果。这就是蝴蝶效应由于原来是join时SQL没有出现过数据倾斜问题,而这恰好让我们忽略了空值Key的问题。因此,我们应该时刻关注细节,细节决定成败!通过本次问题,现总结以下两点:原创 2024-04-18 18:07:16 · 767 阅读 · 0 评论 -
Hive表字段值中存在换行符,查询结果混乱进而导致插入失败
从上面结果可以看到,若Hive表字段值中存在换行符,MapReduce和Spark引擎的查询结果出现混乱。自动化调度系统在按周期天执行数据迁移(出库)任务时,在执行到某条SQL时报错,最终导致任务失败。由于我们的调度系统设置的执行引擎为Spark,因此,原本查询的一行结果会被字段值中的换行符。报错信息提示语法问题,可是检查SQL发现也没有什么语法问题,这到底是怎么回事呢?这样,我们的数据才会显示正常,报错问题也就解决了。转换为多行,查询结果结构混乱,最终导致插入失败。使用两个反斜杠,即一个反斜杠用来转义。原创 2024-02-23 15:18:11 · 685 阅读 · 0 评论 -
Hive增强的聚合、多维数据集、分组和汇总
在多维分析场景下,我们可能会用到高阶聚合函数,例如CUBEROLLUP等。Hive、Spark、Presto等引擎都提供类似的高阶聚合函数,以对不同维度组合下的数据进行聚合统计Hive官方将这种分析称为GROUP BY子句增强的聚合、多维数据集、分组和汇总那么什么是增强聚合和多维分析呢?增强聚合是指在SQL中使用分组聚合查询时,使用CUBEROLLUP等子句进行操作。常见的查询引擎基本都支持这种语法,例如Hive、Spark、Presto、FlinkSQL等。原创 2023-12-07 17:28:00 · 1489 阅读 · 0 评论 -
PySpark开发环境搭建常见问题及解决
版本与Hadoop集群版本不匹配。,并配置了环境变量,但未将。目录中(重启电脑才能生效)各版本下载链接见文末附录。,配置环境变量,并将。原创 2023-12-05 16:28:47 · 1351 阅读 · 0 评论 -
Python大数据之PySpark
在Driver端,Python通过Py4j来调用Java方法,将用户使用Python写的程序映射到JVM中,比如,用户在PySpark中实例化一个Python的SparkContext对象,最终会在JVM中实例化Scala的SparkContext对象。为了不影响现有Spark的运行架构,Spark在外围包装了一层Python的API,借助Py4j实现Python和Java的交互,即通过Py4j将PySpark代码“解析”到JVM中去运行。根据Spark官网,Spark支持Python语言编程。原创 2023-10-21 22:32:44 · 1170 阅读 · 0 评论