自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 上一篇文章补充:已经存在的小文件合并

如果小文件是作为Hive表的一部分,可以通过创建新的表,并在创建时指定`ROW FORMAT DELIMITED`、`STORED AS TEXTFILE`(或者列式存储格式如Parquet、ORC等),同时使用`CLUSTERED BY`子句结合`SORT BY`或`DISTRIBUTE BY`对数据进行预聚合和排序,这样可以在加载数据时自动减少文件数量。- **使用MapReduce作业**:编写一个MapReduce作业来读取所有的小文件,然后在reduce阶段合并输出。

2024-02-25 11:28:28 560

原创 理解大数据处理过程中的小文件问题

3. 为解决这一问题,Spark提供了诸如`coalesce()`或`repartition()`等API来调整分区数,并结合`DataFrameWriter`的`bucketBy`、`sortBy`及`saveAsTable`等方法,实现数据聚合与大文件输出,从而有效减少小文件的数量。3. **增加分区数受限**:但是,当你需要增加分区数时,`coalesce()`就不是一个合适的选择,因为它不支持通过增加分区数来触发shuffle。这个小文件是怎么产生的?然后Namenode开始骂骂咧咧~~~~

2024-02-25 11:23:07 933

原创 代码演进的奥秘:探索类与方法的设计思想2

在编程中,对数据的处理逻辑,对业务的加工,真正做事的就是方法,各种各样的方法。------------------------------------------------总结一下--------------------------------------------------------------- **Go**:虽然也属于静态类型语言,但Go在类型系统上进行了一些创新,如接口(interface)的使用,使得Go在保持类型安全的同时具有一定的灵活性。它允许不同的类实现相同的行为,从而实现多态性。

2024-02-03 12:08:18 408

原创 代码演进的奥秘:探索类与方法的设计思想

----------------------------------------------------停----------------------------------------------------------------------------------------------------------------------------------------------正文开始--------------------------------------------

2024-02-03 11:58:26 440

原创 spark-flink设计思想之吸星大法-1

综上所述,Spark和Flink在设计思想上的相似之处主要体现在内存计算、批流处理统一、复杂数据转换操作、错误恢复和支持Exactly Once语义一致性等方面。这些相似之处使得Spark和Flink在大数据处理领域都具有高效、稳定和灵活的特点。Spark和Flink都是大数据处理框架,它们的设计思想有一些不同之处。

2024-01-23 21:55:43 1085 1

原创 Apache Spark中的广播变量分发机制

Apache Spark中的广播变量提供了一种机制,允许用户在集群中共享只读变量,并且每个任务都可以访问这个变量,而不需要在每次任务之间重新发送该变量。这种机制特别适用于在所有节点上都需要访问同一份只读数据集的情况,因为它可以显著减少网络通信的开销。使用广播变量时,需要注意的是,尽管它们可以显著减少网络通信的开销,但它们也会占用额外的内存资源来缓存广播变量。因此,应该仔细选择哪些数据应该被标记为广播变量,以确保最佳的性能和资源利用率。

2024-01-23 21:50:00 638

原创 Spark DataFrame:从底层逻辑到应用场景的深入解析

本文将深入探讨Spark DataFrame的底层逻辑、发展由来以及应用场景。通过了解DataFrame的底层逻辑,我们可以更好地理解其在Spark中的重要地位。同时,了解DataFrame的发展历程和应用场景,可以帮助我们更好地掌握这一强大的数据处理工具,并在实际工作中加以运用。DataFrame的底层逻辑。DataFrame的发展由来。DataFrame的应用场景。

2024-01-23 21:31:39 733

原创 深入理解Spark编程中的map方法

方法,你可以在Spark应用程序中利用函数式编程的优点,包括无状态计算、不可变性和纯函数的组合与抽象。方法时,我们可以将其视为一种编程思想,它体现了一种函数式编程的范式。函数式编程是一种编程范式,它强调将计算视为数学上的函数计算,避免使用可变状态和副作用。先上结论:不拘泥于形式,给一个东西,一顿操作,返回一个东西。且对每一条数据都相同的处理,处理完会生成新的东西,不改变之前你传进来的东西。这个东西你可以理解为任何形式的数据,如map里的,对象,各种形式文件等等。方法提供了一种方式来应用这种函数式编程范式。

2024-01-21 15:21:29 629

原创 二叉树的最低公共祖先之神仙代码

二叉树-最小公共祖先解法

2024-01-21 09:41:20 332

原创 深入理解Spark的数据本地性

在分布式计算中,数据通常存储在远程的存储系统中(如HDFS),而计算任务则分布在集群中的多个节点上。通过使用数据本地性技术,Spark可以有效地利用集群中的资源,并提高数据处理的速度和效率。当一个任务需要处理某个分区的数据时,它会尽可能在该节点上运行,从而减少数据传输的时间和成本。即使某个节点出现故障,其他节点仍然可以提供数据的备份。由于减少了网络传输的次数和数据传输的大小,使用数据本地性技术可以降低存储和网络的成本。通过使用数据本地性技术,Spark可以避免频繁的网络传输,从而提高数据处理的速度和效率。

2024-01-14 13:26:53 408

原创 Spark运行参数配置:根据数据量进行合理配置

Spark的参数主要分为两大类:应用程序级别的参数和集群级别的参数。应用程序级别的参数主要影响单个Spark作业的行为,而集群级别的参数则影响整个Spark集群的资源分配。本文深入探讨了Spark运行参数的配置,特别强调了根据数据量进行配置的重要性,并提供了具体的配置建议和案例分析。

2024-01-13 22:08:10 392

原创 spark读取数据大批量写入hbase报错原因分析

一条记录为240字节,1000万条记录大约占据2.28(GB)的空间,配置的spark运行参数是:executor 3个,5核,32G内存,运行时长2.0小时。小于32G内存会写入失败,任务中止。在Spark中读取Hive数据、然后写入HBase时,特别是在处理大规模数据(如1000万条记录)时,所以写入大批量数据时,注意生产上的资源是否足够。

2024-01-13 21:55:33 386

原创 单链表节点的创建与添加

【代码】单链表节点的创建与添加。

2024-01-06 17:50:34 387

原创 hive客户端查询内容显示不全,或者想保存结果 —>写出到文件中

注意事项:如果指定的文件不存在,Hive将自动创建该文件并将结果写入其中。如果文件已经存在,Hive将追加结果到文件的末尾。如果你希望覆盖文件中的现有内容,可以使用">"符号而不是">>"符号。总结:通过使用Hive客户端中的命令行工具,我们可以轻松地将查询结果写入文件中。这为处理大规模数据集提供了方便的输出方式,使得我们可以轻松地保存和共享查询结果。请将"你的查询语句"替换为你想要执行的Hive查询。Hive客户端中使用命令将查询结果写入文件中。

2023-12-28 11:13:31 380

原创 spark sql 求季度日期

LAST_DAY(ADD_MONTHS(TRUNC(dt,'YEAR'),QUARTER(dt) * 3 - 7)) 输入:2023-12-01 结果:2023-06-30 上上季度最后一天。LAST_DAY(ADD_MONTHS(TRUNC(dt,'YEAR'),QUARTER(dt) * 3 - 4)) 输入:2023-12-01 结果:2023-09-30 上季度最后一天。继续上面的例子,由于结果已经是 '2023-01-01',添加3个月后,结果将是 '2023-04-01'。

2023-12-27 18:13:48 493

原创 spark的sort方法

Timsort 是一种混合排序算法,它结合了归并排序和插入排序的特点。Timsort 在处理大数据集时非常高效,因为它能够根据数据的特性自动切换排序策略。当数据无序时,它会切换到归并排序。这种特性使得 Timsort 在处理各种不同类型的数据时都能保持较高的效率。而快速排序虽然也是一种高效的排序算法,但其最坏情况下的时间复杂度为 O(n^2),这在实际应用中可能导致性能问题。因此,在 Spark 中选择 Timsort 是因为它在各种情况下都能提供更好的性能。方法是基于 Timsort 算法的。

2023-12-26 08:54:52 328

原创 复习一下初始异或运算

找出一个不为0的数最右侧的1。

2023-12-25 07:48:07 390

原创 GitHub快速搜索项目

如仓库名:in:name xxx。

2023-12-02 18:20:56 34

原创 使用array_intersect在Spark中处理数组数据

本文深入探讨了Apache Spark SQL中的array_intersect函数,该函数用于返回两个数组的交集。通过示例和代码片段,展示了如何使用此函数并讨论了其在数据处理中的应用。同时,针对大型数据集,提供了一些优化建议,包括数据分区和缓存、避免数据倾斜以及使用更优化的算法。这些优化建议旨在提高使用array_intersect函数的性能和效率。

2023-11-26 11:39:52 174 1

原创 高级搜索技巧

搜索包含多个关键词:allintitle:关键词1 关键词2。精确搜索:限定关键词---------- “关键词”限定网址:关键词 site:baidu.com。限定文章内容关键词:intext: 关键词。搜索标题:intitle:关键词。

2023-11-19 15:25:10 99

原创 二叉树在机器学习中的应用

很多刚开始刷数据结构的猿,可能不会延伸出去思考(包括我哈),只关注这个东西是什么,不关心这个东西在哪些地方应用,或者它是一种什么样的解决现实问题的思想。所以呢,当真正遇到问题时,其实自身已经具备了解决问题的能力,但是苦于没有思路,而耽误时间。总之,二叉树在机器学习中有着广泛的应用,特别是在那些需要处理复杂数据和做出决策的任务中。

2023-11-18 23:55:44 80

原创 spark生产问题之一:执行作业报错 “org.apache.spark.sql.AnalysisException: undefined function: ‘your_function‘ is~~

和正常环境相比,少了个配置项,conf.spark.yarn.archive ,说明一下,算子加载的依赖包有两部分,一个是算子lib下的,另一个是spark客户端jars下的。验证思路如下:查看spark-core的版本,进入到nodemanager节点的 /usr/hadoop3/spark2/jars 目录,spark-core是2.11版本,我们这里还使用了jodd工具包,解释下为什么我们在spark中使用这个包呢------背景是这样的:我们有三个环境,开发环境、服务环境测试态,服务环境生产态。

2023-11-15 23:37:02 229 1

原创 PyCharm快捷键

PyCharm快捷键

2023-11-11 10:00:45 138 1

原创 pandas读取excel文件需要调用方法关闭吗?

padas读取 Excel 文件

2023-11-11 09:33:41 903 1

原创 正则表达式速查图

2023-11-10 11:25:48 21

原创 若机器像人类一样思考

大模型大佬对话,链接奉上,看完真的脑洞大开,难以想象百年以后的样子。

2023-11-10 11:24:20 13

原创 判断一个嵌套的json中,有几个对象

【代码】判断一个嵌套的json中,有几个对象。

2023-11-02 22:57:17 27 1

原创 如果一个字段 全部为*,这样的数据不要,但是这个字段只要有一个字符不为*,那就留下,怎么用sql写

SELECT 字段1FROM 表名WHERE 字段1 REGEXP '.*[^ ].*';通过这个正则表达式的匹配条件,只要字段1中有一个字符不是。再次匹配任意字符出现任意次数。,就能够满足条件并保留该行数据。),可以是零次或多次。匹配任意非空格字符(

2023-11-02 22:24:57 27 1

原创 Python与Java在包管理方面的优缺点

pip包和maven包

2023-10-25 23:14:16 91 1

原创 Stream.distinct 注意要避免的坑

stream流使用distinct去重

2023-10-25 23:09:26 691 1

原创 使用Python元组的小技巧

元组和列表

2023-09-24 13:20:08 26 1

原创 未来大数据开发工程师更看重哪部分能力?

大数据行业的快速发展和复杂性使得大数据开发工程师需要具备多方面的能力才能胜任工作。根据引用中提到的《大数据工程师手册》和大数据开发学习路线图,大数据开发工程师需要具备数据分析、数据挖掘、数据处理、数据存储等技能。同时,引用中提到,大数据开发工程师需要有能力处理不同流程产生的不同类型的数据,并使用大数据分析来深入研究和提供有意义的见解。此外,引用中提到的大数据学习交流群也强调了继续学习和进阶的重要性。因此,综合能力包括技术能力、分析能力、学习能力和团队合作能力等都是未来大数据开发工程师更看重的部分能力。

2023-09-03 16:35:29 44

原创 Hive中where in (t1,t2)的细节

where in 用法date_add()中interval用法注意事项

2023-02-05 13:36:32 351

原创 Hive字符串转日期细节

Hive日期函数的使用注意事项,date_format() ;to_date(); from_unixtime(unix_timestamp())的使用案例

2023-02-02 17:39:55 1742

原创 Spark程序执行逻辑迷你版

spark执行逻辑的简易理解

2022-10-15 23:33:39 537

空空如也

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

TA关注的人

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