- 博客(50)
- 收藏
- 关注
原创 一分钟教你数据清洗
(一)ETL介绍(一)ETL介绍“ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。在Transform的过程中,我们经常会做数据清洗这个操作。它是指对采集到的原始数据进行预处理,以去除错误、重复、不完整或不一致的数据,使数据符合分析要求的过程。
2025-04-02 15:46:02
577
原创 mapreduce的工作原理
如果指定了 Combiner(相当于本地 Reduce),Map 端会先对相同 Key 的 Value 做局部聚合,减少网络传输量。例如,如果有 3 个 Reduce 任务,则 Map 输出会被分成 3 个分区。每个分区内的数据按 Key 排序(如字典序),以便 Reduce 任务合并。如果某个 Task 运行过慢,系统会启动一个相同任务的备份,取先完成的结果。,MapReduce 能高效处理 PB 级数据,并隐藏分布式计算的复杂性。(R 是 Reduce 任务数),决定它属于哪个 Reduce 任务。
2025-03-31 19:52:33
807
原创 hadoop集群的常用命令
hadoop fs -count / # 统计文件数量,返回的数据是目录个数,文件个数,文件总计大小,输入路径。hadoop fs -du -s -h / #统计这个文件夹总大小,返回的数据是,文件夹大小,备份总大小。hadoop fs -du -h / # 统计文件夹下每个文件的大小。把hdfs一堆小文件合并到本地的一个文件中。查看yarn正在运行的任务列表。查找yarn已经完成的任务列表。查找yarn所有任务列表。
2025-03-31 19:46:44
162
原创 host配置
Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方 repository 中是找不到的)如果是win10,它在C:\Windows\System32\drivers\etc\hosts。测试方式:用 finalshell新建一个连接,并使用hadoop100这个主机名来连接。把虚拟机上的hosts文件修改一下。修改完hosts之后,
2025-03-04 09:33:55
521
原创 虚拟机的ip配置
这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。具体操作是:点击编辑→虚拟网络编辑器。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。2.NAT设置 → 192.168.10.2。具体设置为:进入虚拟机,修改对应的IP。(3)设置虚拟机的IP。检查是否能Ping通外网。
2025-03-03 19:27:11
223
原创 vi编译器
5.如何在命令模式下保存内容并退出编辑器?3.如何从命令模式切换到编辑模式?4.如何从编辑模式切换到命令模式?7.如何粘贴内容到当前行的下一行?命令模式,输入模式,底线模式。2.第一次进入的是什么模式?1.vi编辑器有哪三种模式。6.如何复制多行内容?8.如何删除一行内容?
2025-02-25 11:08:08
137
原创 大数据概念与30秒教你下载VMware
保存(hadoop),计算。mapReduce是基于磁盘的计算。阶段3 实现大数据时代(不放磁盘,放内存)1 概念:大数据指无法在一定时间内使用常规软件工具进行捕捉,管理和处理的数据集合。阶段2 大数据时代---分布式处理。4 发展脉络:阶段1 单机时代(业务不复杂)3 应用场景:视频推荐,电商推荐,零售,金融。2 特点:大量,高速,多样,低价值密度。开启虚拟机 选中文,设置密码。
2025-02-19 14:26:08
202
原创 Scala的高阶函数
reduce接受两个参数返回一个参数,例如对数组中的所有元素求和,通过调用reduce来实现(1,2,4,3).reduce((x,y)=>(x+y)通过把集合中的第一个元素赋值给x,第二个元素赋值给y,即x=1, y=2,并对这两个值求和。对不变序列的每个元素执行指定的二元规约操作。如果传递的函数的返回值为真,将保留元素中的值,如果为假则过滤元素。假设定义一个数组Arr(1,2,3),通过数组调用map,即Arr(1,2,3).map(x=>x+1),返回值会形成一个新的数组Array(2,3,4)。
2024-12-23 16:15:00
801
原创 scala 的继承与多态
从调用父类构造器的语法中可以看出定义类的同时也调用了一个构造器,并通过extends关键字在表明继承关系的同时,也明确了调用类中的哪一个构造器。下面通过介绍方法的继承和方法的重写进一步说明Scala中子类继承父类的特性,结合Scala的多态相关案例详细说明方法的继承和多态。关于继承,Java中也有相关概念,Scala中继承的定义为在原有类的基础上定义一个新类,原有类称为父类,新类称为子类。下面介绍父类构造器的基础知识和语法规则以及辅助构造器的调用规则,然后结合相关案例进一步说明继承和构造器调用的应用。
2024-12-23 15:53:49
686
原创 隐式对象和泛型
list(1,2,3,4,5)==>中间元素的下标 =长度/2 ===>3。def 函数的名字(参数1,类型1):返回值的类型={需求:写一个函数,用来获取列表中的中间元素。
2024-12-11 17:05:20
174
1
原创 函数的隐式参数
把BaseUser 通过隐式转换,改成一个新类型,而这个类型有这个新的方法。函数有一个默认参数值,在不传入具体的实参时,就会自动使用这个默认值。:给之前的baseUser添加新的功能,但是,不要直接去改代码。:拓展已有类的功能,而不需要去改之前的代码。2.代码写一个单独文件,要用的时候就导入。=1*2*3*4*5。=== 一个隐式转换函数 +类。
2024-12-11 16:05:14
278
原创 scala的正则表达式
定义一个规则,正则表达式查找。 在目标字符串中,找到符合正则1表达式规则要求的 单个val reg="[^ab]".r多个字符1. . 表示 除了换行之外的其他任意单个字符2. \d 等于【0-9】匹配一个数字3. \D 除了\d之外的其他任意字符,表示非数字4. \w 等价于【0-9A-Za-z_】63个字符5. \W 除了\w之外的任何字符。表示非字6.\s 表示一个空格7.\s 表示一个非空格val reg =".".r全部代码obje
2024-12-04 17:02:16
939
原创 match case之模式匹配的案例
现在有一个数组Array(1,2,3,4),我希望能定义三个变量,他们的值分别是数组中的第1,2,3个元素的值。match case 能根据 类名和属性的信息,匹配到对应的类。1.匹配的时候,case class的属性个数要对上。2.属性名不需要一一对应。哪些是1971年的老板。
2024-12-04 15:50:22
419
原创 Scala的模式匹配
如果value匹配到1,则输出Out(result1),匹配到2,则输出Out(result2),不需要手动break,在scala中会自动匹配。scala的模式匹配语法。
2024-12-02 15:29:29
474
原创 身份证之字符串的奥秘
5.charAt(下标)得到对应位置的字符(不是字符串)4.substring(起点,终点-不包括)字符串截取。9.length属性 用来获取有几个字符。2.toUpperCase 变大写。3.toLowerCase 变小写。6.asDigit 把字符转成数字。7.”“”三引号字符串 ,支持换行。1.toInt 把字符串转成整数。8.contains是否包含子串。
2024-11-25 16:47:48
644
原创 Scala之Array数组
B.等入scala. collection mutable.ArrayBuffer并使用它创建。B.导入scala.collection.mutable.ArrayBuffer,并使用。C,直接使用 Array 类型,无需导入其他库。A.使用 val 关键字和 Arrey 类型。D.使用 vax 关键字和 Array 类型。C.直接使用Array兴型,无善导入共他库。D.使用war关键字和Array共型。C.-旦创建,内容和大小都不能改变。C.一旦创建,内容和大小都不能改变。A.可以随时修改其元素的值。
2024-11-20 15:56:51
740
原创 Scala的迭代器
分析:在 Scala 中,迭代器的next方法返回迭代器中的下一个元素,并将迭代器位置向前移动一位。分析:使用drop方法创建的子迭代器是从原迭代器的开头开始,跳过指定数量的元素后包含剩余的元素。选项 D 错误,会跳过指定数量的元素,不是不跳过任何元素。B.它返回送代器中的下一个元素,并将送代器位置向前移动一位,如果没有会返回None。A.将迭代器中的所有元素转换为一个列表,包括已经遍历过的元素。B.从原迭代器的开头开始,跳过指定数量的元素后包含剩余的元素。C.包含原选代器中指定数量的元素,从开头开始。
2024-11-18 16:12:07
812
原创 scala的List
A.可变的List 叫ListBuFTer;B.Lisl的无来还是可以通讨下标来修改的。C.使用ListBurrer需要提前导入对于的包;D.默认的List是不可变的。1.在Scala 中,关于不可变List 和可变List的说法错误的是?C.if语句和foreach方法;A.for循环和while循环;B.for循环和foreach方法。C.添加元素到不可变列表;D.合并两个列表中的元素,并消除重复的。4.对于不可变List,如果要添加新元素,会怎样?A.添加元素到可变列表;C.创建一个新的List;
2024-11-13 15:38:13
490
原创 Scala的访问权限
默认访问权限、protected访问权限、private访问权限、private【this】访问权限。银行账户存钱取钱的例子。
2024-11-04 15:20:45
325
2
原创 scala小记10
println("请输入一个正整数 n: ")println("输入的不是正整数")打印数字1-100,每行包括一组5个数,每组换行。输入一个正整数n,输出 斐波拉契数列的前n项。
2024-10-23 15:16:51
306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人