自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 Pandas 中的 Period 对象

在 Pandas 中,Period对象用于表示(如某个月、某个季度),而不是时间点(后者用Timestamp它是处理时间序列数据的重要工具,尤其适合需要按固定周期(如月度、季度)分析的场景。

2025-06-18 22:05:59 385

原创 Pyspark中的int

范围(±21亿),PySpark 会自动升级为。PySpark 主要使用 IntegerType。)与 Python 或 Pandas 中的。:固定 32 位,类似 C/Java 的。(64位)表示整数,对应 SQL 中的。如果处理 ID、时间戳或不确定范围,用。在 PySpark 中,可以通过。之间,PySpark 会使用。如果数据范围明确且较小,优先用。(32位)和 LongType。如果超出范围,会自动转为。有所不同,因为它基于。:在 64 位系统上是。

2025-06-18 21:37:03 434

原创 PySpark数据透视表操作指南

在 PySpark 中,可以使用pivot()方法实现类似 Excel 数据透视表的功能。

2025-04-28 09:48:57 404

原创 Spark 从HDFS读取时,通常按文件块(block)数量决定初始partition数,这是怎么实现的?

通过这一机制,Spark 天然适配 HDFS 的分布式存储特性,实现。例如:一个 1GB 的文件(128MB/block)会生成。(如 128MB/256MB)决定了文件的物理存储分布。读取 HDFS 数据时,会使用 Hadoop 的。每个 HDFS 文件块(block)默认生成一个。的分片(split)策略实现的。是用户指定的最小分区数(默认不指定时等于。(假设文件未被压缩且未手动指定分区数)。(如 BZip2)仍按 block 切分。(如 GZIP),整个文件会被视为。,会调用 Hadoop 的。

2025-03-27 11:45:55 768

原创 Airflow 的上下文对象Context

【代码】Airflow 的上下文对象Context。

2025-03-24 11:41:44 937

原创 Spark 优化作业性能以及处理数据倾斜问题

通过自定义分区器(Partitioner),将数据均匀分布到各个分区。

2025-03-17 19:47:25 734

原创 Spark 中的Shuffle过程

Shuffle是Spark中一个非常重要的概念,但它也是一个昂贵的操作。以下是对Shuffle过程的详细解释以及它为什么昂贵的原因。Shuffle是Spark中重新分配数据的过程,通常发生在需要对数据进行重新分组或聚合的操作中,例如:在这些操作中,数据需要根据某个键(Key)重新分布到不同的节点上,以便进行后续的计算。Shuffle过程可以分为两个阶段:Map阶段(Shuffle Write):每个Task(Mapper)会将其输出的数据根据Key进行分区(Partition)。数据会被写入本地磁盘(Shu

2025-03-17 19:44:36 930

原创 Airflow 中Operator

【代码】Airflow 中Operator。

2025-03-17 15:39:37 732

原创 Spark 中的窗口函数

窗口函数通过Window分区(Partitioning):将数据分为多个组(类似于GROUP BY排序(Ordering):在每个分区内对数据进行排序。窗口范围(Frame):定义窗口的大小(如当前行及其前后若干行)。.partitionBy("column1", "column2") // 按列分区.orderBy("column3") // 按列排序.rowsBetween(start, end) // 定义窗口范围(可选):指定分区的列。orderBy:指定排序的列。:定义窗口的范围(如。

2025-03-15 23:36:16 1457

原创 Spark 中agg的用法

【代码】Spark 中agg的用法。

2025-03-15 20:48:18 920

原创 Spark 报错解析_value show is not a member of org.apache.spark.sql.RelationalGroupedDataset groupedDF

【代码】Spark 报错解析_value show is not a member of org.apache.spark.sql.RelationalGroupedDataset groupedDF。

2025-03-15 20:32:34 367

原创 Spark 中explode用法

【代码】Spark 中explode用法。

2025-03-15 20:00:38 852

原创 Spark 中创建 DataFrame 的2种方式对比

适合简单场景,自动推断模式。:适合复杂场景,显式定义模式。根据数据结构和需求选择合适的方式即可!如果还有其他问题,欢迎继续提问。

2025-03-15 16:13:38 913

原创 Spark 中withColumn 和 select的用法和区别

withColumn:适合逐步添加或替换列。select:适合一次性选择或计算多个列。两者可以结合使用,根据具体需求选择合适的方法。希望这个解释对你有帮助!如果还有其他问题,欢迎继续提问。

2025-03-15 15:56:17 617

原创 Spark sql 中row的用法

【代码】Spark sql 中row的用法。

2025-03-15 14:33:00 544

原创 Spark 解析_spark.sparkContext.getConf().getAll()

【代码】Spark 解析_spark.sparkContext.getConf().getAll()

2025-03-14 17:49:57 518

原创 python 列表的步长和逆序取数用法

步长:通过[::步长]控制取数的间隔。逆序取数:通过[::-1]实现列表的逆序。灵活切片:结合起始索引、结束索引和步长,可以实现各种复杂的切片操作。掌握这些技巧可以让你更高效地处理列表数据!

2025-03-12 10:13:42 280

原创 hive 中可能产生小文件的场景

在 MapReduce 任务中,如果 Reduce 任务数设置过多,且每个 Reduce 任务处理的数据量较小,会导致生成大量小文件。操作中,如果分组字段的基数(Cardinality)较高,且每个分组的数据量较小,会导致每个分组生成一个小文件。使用动态分区插入数据时,如果分区数量较多且每个分区的数据量较小,会导致每个分区生成一个小文件。使用分桶表时,如果分桶数设置过多且每个分桶的数据量较小,会导致生成小文件。分区字段有大量不同的值,且每个分区的数据量较小,会生成大量小文件。

2025-03-12 09:28:29 953

原创 Hive 中用于小文件合并的配置参数

Hive 会在 MapReduce 任务(包含 Map 和 Reduce 阶段的任务)结束时,将生成的多个小文件合并为更大的文件。当同时启用这 3 个参数时,Hive 会在任务结束时自动合并小文件,以减少小文件的数量并优化存储和查询性能。,Hive 会在 Map-only 任务(即没有 Reduce 阶段的任务)结束时,将生成的多个小文件合并为更大的文件。文件合并会消耗额外的计算资源和时间,因此在数据量较小或文件数量不多时,可能不需要启用这些参数。Hive 会尝试将小文件合并到接近该大小的文件中。

2025-03-11 18:01:24 674

原创 hive 中的各种参数,一般在哪里修改

在实际工作中,Hive 参数的配置和修改可以通过多种方式进行,具体取决于使用场景和需求。: 在使用调度工具(如 Apache Oozie、Airflow)时配置参数。: 在使用 JDBC/ODBC 连接 HiveServer2 时配置参数。根据实际需求选择合适的配置方式,可以有效提升 Hive 的性能和灵活性。: 修改与 Hadoop 相关的参数,例如资源管理、压缩等。: 在调度工具的配置文件中设置 Hive 参数。: 在脚本中定义参数,适用于批量任务。: 临时修改参数,仅对当前会话生效。

2025-03-11 17:52:24 1064

原创 hive 中各种参数

在 Apache Hive 中,参数(也称为配置属性)用于控制 Hive 的行为和性能。Hive 提供了丰富的参数来优化查询性能、管理资源和调试任务。作用:小表的大小阈值,超过该值则不转换为 Map Join。作用:每个 Reduce 任务处理的数据量。这些参数用于控制 Hive 任务的资源分配。作用:Map Join 中小表的大小阈值。作用:设置最大的 Reduce 任务数。这些参数用于控制查询的执行方式和性能。作用:Tez 任务的最大分组大小。作用:设置 Hive 的日志级别。

2025-03-11 15:49:48 792

原创 hive 中数据倾斜产生的原因和解决方法

是一个常见问题,指的是在分布式计算过程中,某些节点处理的数据量远大于其他节点,导致这些节点成为性能瓶颈,从而拖慢整个任务的执行速度。时,Hive 会启动一个额外的 MapReduce 任务,先将数据随机分发到多个 Reduce 任务进行部分聚合,然后再进行最终聚合。操作中,如果某个键在两张表中的数据量差异很大,会导致某个 Reduce 任务处理的数据量远大于其他任务。: 通过给倾斜的键添加随机前缀,将数据分散到多个 Reduce 任务。: 将倾斜的键单独处理,避免集中到一个 Reduce 任务。

2025-03-11 15:48:31 1354

原创 hive 中优化性能的一些方法

Hive 性能优化需要从数据存储、查询执行、资源管理和数据倾斜等多个方面入手。常用的优化方法包括:使用列式存储格式(如 ORC、Parquet)。启用分区和分桶。使用 Tez 引擎和向量化查询。优化 JOIN 操作和 Reduce 任务数。处理数据倾斜问题。通过合理配置和优化,可以显著提升 Hive 的查询性能和资源利用率。

2025-03-11 15:30:19 1232

原创 linux 中的&

是 Linux 中用于将命令放到后台运行的符号,适合需要同时执行多个任务或长时间运行任务的场景。结合jobsfg和kill等命令,可以方便地管理后台任务。

2025-03-10 17:34:46 695

原创 scala 中的@BeanProperty

【代码】scala 中的@BeanProperty。

2025-03-09 13:02:02 446

原创 Scala 中trait的线性化规则(Linearization Rule)和 super 的调用行为

最右优先原则:决定了特质的优先级,最右边的特质会优先生效。线性化规则:决定了super的调用顺序,super会根据线性化顺序动态绑定到下一个特质或类。在示例3中中,线性化顺序是,因此输出的顺序是。在示例2中,为什么输出是,而不是默认行为:在C的greet方法中,如果没有调用,则只会执行C的逻辑,输出。组合行为:如果希望将父特质的行为与当前特质的行为组合起来,需要在重写方法时显式调用。线性化顺序super的调用是根据线性化顺序动态绑定的,线性化顺序决定了方法调用的优先级。

2025-03-09 12:54:11 1006

原创 Scala 中的访问修饰符

【代码】Scala 中的访问修饰符。

2025-03-09 10:39:57 450

原创 Scala 中生成一个RDD的方法

【代码】Scala 中生成一个RDD的方法。

2025-03-08 20:53:02 569

原创 Scala 中的隐式转换

【代码】Scala 中的隐式转换。

2025-03-08 16:21:20 1052

原创 Scala 中不同类型(Integer、Int 和 String)的比较操作,涉及 ==、equals 和 eq 三种比较方式

【代码】Scala 中不同类型(Integer、Int 和 String)的比较操作,涉及 ==、equals 和 eq 三种比较方式。

2025-03-06 17:58:31 990

原创 Scala 中的String常量池

【代码】Scala 中的String常量池。

2025-03-06 17:46:33 926

原创 Spark 中的schema概念

【代码】Spark 中的schema概念。

2025-03-05 10:13:29 1601

原创 maven项目要加一个本地文件,通常加在哪个模块下

【代码】maven项目要加一个本地文件,通常加在哪个模块下。

2025-03-04 18:36:22 431

原创 Spark 中分区相关设置

【代码】Spark 中分区相关设置。

2025-03-04 13:10:24 875

原创 Java 中Arrays.aslist的作用

【代码】Java 中Arrays.aslist的作用。

2025-03-03 13:00:23 658

原创 Scala 中的mkString用法

【代码】Scala 中的mkString用法。

2025-03-03 10:30:00 322

原创 Scala 中的spilt

Scala 中的spilt用法

2025-03-03 09:30:00 872

原创 Scala 中的数组和List的区别

Scala中 的数组和List的区别

2025-03-02 21:37:22 787

原创 Scala 中的数据类型转换规则

Scala 允许通过隐式转换(implicit conversion)实现自定义类型转换。隐式转换需要定义隐式函数或隐式类。

2025-03-02 14:27:51 805

原创 Scala 解析代码_Byte、Short数据类型转Char的规则

Scala 解析代码_Byte、Short数据类型转Char的规则。

2025-03-02 14:12:14 320

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除