- 博客(62)
- 收藏
- 关注
原创 scala基础学习-类(1.定义类)
x = x + dxy = y + dy使用def进行定义move方法,move方法接收两个参数dx,dy。
2025-03-28 17:35:54
456
原创 scala基础学习-闭包
闭包允许你创建可以捕获和操作外部状态的函数,而函数式编程强调使用纯函数、高阶函数和不可变数据来创建可预测和模块化的代码。通过结合使用闭包和函数式编程,你可以创建强大和灵活的代码,这些代码易于理解和维护。在 Scala 中,闭包是一个函数,它捕获了外部函数作用域中的变量。是一个闭包,它捕获了外部作用域中的变量(在这个例子中没有捕获任何变量,但它是潜在的闭包)。是一个高阶函数,它接受一个整数列表和一个操作函数作为参数。作为参数,并返回一个新的函数,这个新函数接受一个整数。返回的函数是一个闭包,因为它捕获了。
2025-02-28 14:05:57
502
原创 scala文件编译相关理解
在Scala中,通常或对象,这是因为Scala编译器在编译源文件时,会根据文件名来生成类或对象的字节码文件。如果文件中包含多个公共类或对象,Scala编译器将无法确定应该生成哪个字节码文件,这可能会导致编译错误。一个Scala源文件可以包含多个非公共类或对象。这些非公共类或对象可以在其他类或对象中使用,但它们不能被其他源文件直接访问。在这个例子中,Person是一个公共类,它可以直接被其他源文件访问。Student是一个非公共类,它只能在Person类中使用,不能被其他源文件直接访问。
2025-01-23 16:23:40
1143
原创 scala基础学习_方法&函数
val 函数名:函数类型=>返回类型 = (实际传入参数)=>表达式简洁形式:这种形式的匿名函数直接将参数和表达式放在=>符号的两侧。这种形式的函数没有函数体,因此它的返回值是=>右侧表达式的结果。// 定义参数类型返回类型,定义参数,表达式// 定义参数 参数类型,表达式带函数体形式:这种形式的匿名函数使用花括号{}来定义函数体。函数体中的最后一个表达式是函数的返回值。定义部分是 Scala 中的一种函数类型表示法,它表示一个接受两个Int类型参数并返回Unit类型结果的函数。
2025-01-10 15:56:02
910
原创 scala基础学习(数据类型)-集合
Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。Scala 集合分为可变的和不可变的集合。默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用包。
2025-01-10 15:53:33
494
原创 scala基础学习(数据类型)-列表
在 Scala 中,列表(List)是不可变的,这意味着一旦创建,你就不能修改列表中的元素或列表的大小。如果你需要修改列表,相当于创建了新列表
2025-01-03 09:13:53
778
原创 scala基础学习(数据类型)-数组
Array是一个固定大小的集合,原数组上无法进行添加/删除操作,可以通过++,filter生成新数组,虽然数组大小无法修改但是可以修改内部元素
2024-12-26 14:35:43
1325
原创 scala基础学习_变量
关键字声明的变量确实是可变的,这意味着你可以在变量的生命周期内多次改变它的值。一旦一个变量被声明,就不能在同一作用域内再次声明它,无论它是。在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。变量重新赋值为不同的值,这些值可能会存储在不同的内存地址中。关键字声明的变量是可变的,可以在其生命周期内被重新赋值。类型的变量,一旦它被初始化,它所指向的。
2024-12-13 12:24:57
1038
原创 VirtualBox虚拟机双网卡设置
当虚拟机固定ip后,宿主机ip因为切换wifi导致ip变动,在想保持虚拟机ip不变的情况下,虚拟机访问外网,宿主机与虚拟机互通的方式,请看此文章
2024-11-29 13:30:31
1152
原创 Pyspark中pyspark.sql.functions常用方法(4)
使用函数将两个给定的数组按元素合并为一个数组。如果一个数组较短,则在应用函数之前,在末尾附加null以匹配较长数组的长度。
2024-10-24 14:22:16
602
原创 Pyspark中pyspark.sql.functions常用方法(3)(array操作)
返回一个数组,其中包含从索引开始(,如果开始为负,则从末尾开始)到指定长度的x中的所有元素。将多个输入列连接成一列。该函数适用于字符串、数字、二进制和兼容的数组列。pos 插入索引位置 从1开始。使用分隔符连接列的元素。索引(数组索引从1开始)都是操作column。value 插入的值。获取列1,列2的差集。
2024-10-24 14:21:18
792
原创 Pyspark中pyspark.sql.functions常用方法(2)(时间函数)
返回当前数据库current_date 获取当前日期add_months 月份操作date_add 日操作增加date_sub 日操作减少与date_add相反date_format 时间格式化weekofyear 将给定日期的周数提取为整数year 提取年份month 提取月份hour 提取小时minute 提取分钟seconds 提取秒last_day 日期所属月份的最后一天localtimestamp 返回时间戳next_day 获取下一个日期“
2024-10-12 09:40:17
733
原创 Pyspark中pyspark.sql.functions常用方法(1)
是 PySpark 中用于定义用户自定义函数(UDF)的工具。UDF允许你在Spark DataFrame中使用Python函数处理数据。UDF的性能通常不如内置的Spark函数,因为它们会引入额外的Python虚拟机开销。只有当没有其他选项时才应该使用UDF。# 自定义函数df2.show()# 使用装饰器自定义
2024-10-12 09:38:22
1213
原创 Pyspark dataframe基本内置方法(5)
pyspark 中对于pyspark sql dataframe的操作方式详细使用方式以及演示
2024-09-20 10:15:57
1461
1
原创 Pyspark dataframe基本内置方法(4)
RDD 只是抽象意义的数据集合,分区内部并不会存储具体的数据,只会存储它在该 RDD 中的 index,通过该 RDD 的 ID 和分区的 index 可以唯一确定对应数据块的编号,然后通过底层存储层的接口提取到数据进行处理。在物理存储中,每个分区指向一个存储在内存或者硬盘中的数据块 (Block) ,其实这个数据块就是每个 task 计算出的数据块,它们可以分布在不同的节点上。返回一个新的DataFrame,其中包含此DataFrame中的行,但不包含另一个DataFrame中。接受sql表达式并执行。
2024-09-20 10:12:11
856
1
原创 Pyspark dataframe基本内置方法(3)
处理大表join时,spark默认策略可能不是最优解,通过hint 可以设置join类型。其他hints: merge,shuffle,coalesce。intersectAll 获取交集(保留重复项)注意聚合方式可能会影响show出来的列。
2024-09-11 14:48:31
573
原创 Pyspark dataframe基本内置方法(2)
返回一个新的DataFrame,其中包含此DataFrame中的行,但不包含在另一个DataFrame中,同时保留重复项。dropna() 参数可选项 all,全部为空的行,any只要存在null行就删掉,默认为any。fillna() 别名 na.fill() ,如果列的类型不符合填充的类型,则这列不填补。df1,df2,就是df1剔除(df1与df2交集)。返回数量,平均值,标准方差,最小值,最大值(字符串也可统计)。创建的全局临时视图名已经存在的,将会进行替换操作不会报错。
2024-09-11 09:46:33
823
原创 Pyspark dataframe基本内置方法(1)
Checkpoint是一种重量级的使用,也就是RDD的重新计算成本很高的时候,我们采用Checkpoint比较合适,或者数据量很大的时候,采用Checkpoint比较合适。如果数据量小,或者RDD重新计算也是非常快的,直接使用缓存即可。(aggregate)函数用于对 DataFrame 进行聚合操作。它允许你在一个或多个列上应用一个或多个聚合函数,并返回计算后的结果。当任务提交到集群的时候collect()操作是用来将所有结点中的数据收集到dirver节点,数据量很大慎用防止dirver炸掉。
2024-09-05 17:24:29
841
原创 Linux下使用crontab配置定时任务
为Linux下的计划任务程序,对应的服务为crond。crond是一个守护进程,每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux系统上面原本就有非常多的计划性工作,故而,这个系统服务是默认启动的。使用#注释任务,或者直接删除,当你注释时crontab -l 也会显示被注释的任务。创建定时任务测试文件。
2024-09-05 17:22:23
804
原创 postgresql简单数据备份
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)python链接postgresql使用的包是psycopg2,免密操作后不需要 用户密码。
2024-09-03 16:57:16
682
原创 Pyspark中catalog的作用与常用方法
Catalog是Spark中用于管理元数据信息的接口,这些元数据可能包括库、内部或外部表、函数、表列及临时视图等。总的来说,PySpark Catalogs是PySpark框架中用于管理和查询元数据的重要组件,它使得Python用户能够更有效地利用PySpark进行大数据处理和分析。
2024-09-03 16:54:25
1580
原创 Hive的存储格式
Hive支持的存储数的格式主要有:TEXTFILE(默认格式) 、SEQUENCEFILE、RCFILE、ORCFILE、PARQUET。textfile为默认格式,建表时没有指定文件格式,则使用TEXTFILE,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;sequencefile,rcfile,orcfile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中,然后再从表中用insert导入sequencefile、 rcfile、orcfile表中。
2024-08-30 21:25:59
1468
原创 Pyspark中的ROW对象使用
在PySpark中,Row对象是DataFrame的基本组成单元,它封装了DataFrame中的每一行数据。每行数据以Row对象的形式存在,其中包含了该行的各个字段值。这些字段值可以像属性一样被访问,使得处理数据变得更加直观和方便。Row对象的创建和使用,使得PySpark能够以更加结构化的方式处理数据,提高了数据处理效率和便利性。
2024-08-30 16:42:15
1093
原创 hive 内部表与外部表
hive 是基于hadoop的数据仓库工具,本身并不存储数据,hive会把数据存储到 hdfs中,利用自带的sql解析引擎,把sql 语句转换成 mr job(mapreduce的任务) ,在 hadoop 的 mapreduce 引擎上对数据进行查询、统计和分析。对比项内部表外部表Hive 管理范围建表语句元数据、实际的表数据元数据建表语句不需要 external 关键字修饰需要 external 关键字修饰drop 表后果删除元数据和实际的表数据只删除元数据,实际的表数据保留。
2024-08-28 21:14:08
326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人