
Spark
文章平均质量分 80
Spark
对许
这个作者很懒,什么都没留下…
展开
-
YARN应用日志查看
如果是Streaming实时任务,还会多出来一个Streaming菜单,可以查看各微批次的延迟等情况,一般常会看Scheduling Delay,这一列如果大多是0ms到2ms左右,说明各批次处理没有明显的延迟,如果ms数较大则可能需要关注前面批次的调度延迟情况。的执行情况,包括Task ID、属于哪次Attempt(尝试ID)、状态、本地化级别、所属Executor的ID、所在机器IP或域名、启动时间、持续时间、调度延迟等,失败的。的总执行时长、本地化级别情况、输入数据量(容量/条数)、输出给下一个。原创 2025-06-02 16:23:56 · 944 阅读 · 0 评论 -
Spark on Hive表结构变更
在Spark on Hive架构中,表结构(Schema)变更是一个常见且重要的操作。理解其背景、使用场景以及具体方式对于大数据平台管理至关重要1.1、Spark on Hive元数据管理核心组件。它是一个独立的关系型数据库(如MySQL、PostgreSQL),存储了Hive表、分区、列、数据类型、存储位置等元数据信息Spark本身不存储元数据。当Spark需要处理Hive表时,它通过HMS连接到Hive Metastore数据库,获取表的元数据(Schema、分区、文件位置等)原创 2025-06-01 22:22:18 · 773 阅读 · 0 评论 -
JOIN使用的注意事项
在SparkSQL/HQL中,使用JOIN进行表关联时,需要注意以下要求:原创 2025-06-01 17:48:10 · 184 阅读 · 0 评论 -
org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow...
根据报错信息可知,Spark在Kryo序列化时发生缓存溢出。的值,例如256m或512m,该参数的默认值为128m。根据提示信息,可以适当增加。原创 2025-04-12 16:59:28 · 372 阅读 · 0 评论 -
Apache Hive3定位表并更改其位置
ApacheHive3表类型的定义和表类型与ACID属性的关系图使得Hive表变得清晰。表的位置取决于表的类型。您可以根据其支持的存储格式选择表的类型您可以创建ACID(原子性、一致性、隔离性和持久性)表用于不受限制的事务或仅插入的事务。这些表是Hive托管表。数据与Schema一起位于HiveMetastore中。或者您可以创建一个外部表用于非事务性使用。数据位于HiveMetastore外部。Schema元数据位于HiveMetastore内部。原创 2025-01-19 17:43:17 · 1405 阅读 · 0 评论 -
CDP中的Hive3之Apache Hive3特性
Cloudera数据平台(CDP)服务,提供Apache Tez执行的Apache Hive SQL数据库Hive on Tez服务提供基于Apache Hive3的基于SQL的数据仓库系统。Hive3中相对于以前版本的增强可以提高SQL查询性能、安全性和审计功能Hive Metastore(HMS)是一个单独的服务,不是Hive的一部分,甚至不一定在同一个集群上。HMS将元数据存储在后端,用于Hive、Impala、Spark和其他组件。原创 2025-01-12 17:51:41 · 1260 阅读 · 0 评论 -
CDP中的Hive3之Hive Metastore(HMS)
CDP中的Hive Metastore(HMS)是一种服务,用于在后端RDBMS(例如MySQL或PostgreSQL)中存储与Apache Hive和其他服务相关的元数据。当您在CREATE TABLE语句中使用EXTERNAL关键字时,HMS会将表存储为外部表。当您省略EXTERNAL关键字并创建托管表或摄取托管表时,HMS可能会将表转换为外部表,或者创建表可能会失败,这具体取决于表的属性。HMS检测与HMS交互的客户端类型,例如Hive或Spark,并将客户端的能力与表的需求进行比较。原创 2025-01-12 16:34:46 · 1211 阅读 · 0 评论 -
Spark写入HDFS数据SUCCESS文件生成控制
与Hive不同,MapReduce和Spark在执行写入HDFS数据任务时,数据输出目录一般都会有一个名为。机制,Spark任务在运行时会从配置中获取指定的实现类,如果没有指定,Spark默认会使用。此时,可以在 Spark代码中加以限制,不生成。的实现类,空实现其中的所有方法,即什么也不做,因此也就无法生成。但有些时候,在读取HDFS中的数据时,有。的空文件,该文件仅用来表示任务执行成功。在Hadoop的源码中,有一个抽象类。,所以我们平常跑的任务基本都会输出。的实现中,Hadoop会根据参数。原创 2024-12-29 22:02:50 · 775 阅读 · 0 评论 -
Hive分区表新增字段并指定位置
即就是,默认RESTRICT只变更新分区的表结构(新分区元数据),而CASCADE不仅变更新分区的表结构(新分区元数据),同时也级联变更旧分区的表结构(旧分区元数据)CHANGE COLUMN CASCADE命令修改表元数据的列,并将相同的更改级联到所有分区元数据。CASCADE不仅可以变更新分区的表结构(元数据),同时也会级联变更旧分区的表结构(元数据)针对分区表新增字段不加CASCADE关键字时对于历史分区新插入的数据,新增的列数据都会显示为NULL,其它已有列的数据则显示正常。原创 2024-12-01 18:22:59 · 2072 阅读 · 0 评论 -
Spark:不能创建Managed表,External表已存在...
由于基于Spark on Hive,因此,Spark在获取Hive表的数据时会先去获取Hive的元数据信息,因此,Spark建表会先根据元数据信息校验管理表是否存在,如果已经存在一个相同的管理表,Spark建表则会报如上异常。事情的起因也很简单,由于我们使用的是Spark数仓,即Spark on Hive模式,相较于Hive,Spark建表默认为外(External)表,而Hive是管理(Managed)表。执行SparkSQL,加载Hive的配置文件,获取Hive的元数据信息。不得不说,这个报错很奇怪…原创 2024-11-10 17:42:25 · 616 阅读 · 0 评论 -
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 · 1743 阅读 · 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 · 666 阅读 · 0 评论 -
Hive on Spark版本兼容性
Hive on Spark仅在特定版本的Spark上进行测试,因此给定版本的Hive只能保证与特定版本的Spark一起工作。其他版本的Spark可能与给定版本的Hive一起工作,但不能保证。原创 2024-06-08 16:08:23 · 1300 阅读 · 0 评论 -
SparkSQL允许左联接的数据量大于左表数据量?
本次问题可以概括为:由一个join改为left join而引发的数据倾斜问题,并且一开始还当成了OOM处理。看似一个不起眼的举动,往往会产生意想不到的结果。这就是蝴蝶效应由于原来是join时SQL没有出现过数据倾斜问题,而这恰好让我们忽略了空值Key的问题。因此,我们应该时刻关注细节,细节决定成败!通过本次问题,现总结以下两点:原创 2024-04-18 18:07:16 · 855 阅读 · 0 评论 -
Hive表字段值中存在换行符,查询结果混乱进而导致插入失败
从上面结果可以看到,若Hive表字段值中存在换行符,MapReduce和Spark引擎的查询结果出现混乱。自动化调度系统在按周期天执行数据迁移(出库)任务时,在执行到某条SQL时报错,最终导致任务失败。由于我们的调度系统设置的执行引擎为Spark,因此,原本查询的一行结果会被字段值中的换行符。报错信息提示语法问题,可是检查SQL发现也没有什么语法问题,这到底是怎么回事呢?这样,我们的数据才会显示正常,报错问题也就解决了。转换为多行,查询结果结构混乱,最终导致插入失败。使用两个反斜杠,即一个反斜杠用来转义。原创 2024-02-23 15:18:11 · 951 阅读 · 0 评论 -
Hive增强的聚合、多维数据集、分组和汇总
在多维分析场景下,我们可能会用到高阶聚合函数,例如CUBEROLLUP等。Hive、Spark、Presto等引擎都提供类似的高阶聚合函数,以对不同维度组合下的数据进行聚合统计Hive官方将这种分析称为GROUP BY子句增强的聚合、多维数据集、分组和汇总那么什么是增强聚合和多维分析呢?增强聚合是指在SQL中使用分组聚合查询时,使用CUBEROLLUP等子句进行操作。常见的查询引擎基本都支持这种语法,例如Hive、Spark、Presto、FlinkSQL等。原创 2023-12-07 17:28:00 · 1644 阅读 · 0 评论 -
PySpark开发环境搭建常见问题及解决
版本与Hadoop集群版本不匹配。,并配置了环境变量,但未将。目录中(重启电脑才能生效)各版本下载链接见文末附录。,配置环境变量,并将。原创 2023-12-05 16:28:47 · 1670 阅读 · 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 · 1399 阅读 · 0 评论