- 博客(92)
- 收藏
- 关注
原创 2.3 Spark运行架构与原理
Spark运行架构主要由SparkContext、Cluster Manager和Worker组成,其中Cluster Manager负责整个集群的统一资源管理,Worker节点中的Executor是应用执行的主要进程,内部含有多个Task线程以及内存空间,通过下图深入了解Spark运行基本流程。Executor创建后,会向Cluster Manager进行资源及状态的反馈,便于Cluster Manager对Executor进行状态监控,如果监控到Executor失败,则会立刻重新创建。
2023-06-15 11:46:44
1132
原创 3.1 掌握RDD的创建
将数据集(hello, world, scala, spark, love, spark, happy)存储在三个节点上,节点一存储(hello, world),节点二存储(scala, spark, love),节点三存储(spark, happy),这样对三个节点的数据可以并行计算,并且三个节点的数据共同组成了一个RDD。从上述命令执行的返回信息可以看出,上述创建的RDD中存储的是Int类型的数据。实际上,RDD也是一个集合,与常用的List集合不同的是,RDD集合的数据分布于多台机器上。
2023-06-15 11:43:51
1014
原创 2.1 初识Spark
(一)Spark的组件Spark在2013年加入Apache孵化器项目,之后获得迅猛的发展,并于2014年正式成为Apache软件基金会的顶级项目。Spark生态系统已经发展成为一个可应用于大规模数据处理的统一分析引擎,它是基于内存计算的大数据并行计算框架,适用于各种各样的分布式平台的系统。在Spark生态圈中包含了Spark SQL、Spark Streaming、GraphX、MLlib等组件。
2023-06-15 11:38:29
825
原创 1.5 掌握Scala内建控制结构(一)
需要注意的是,Scala中的返回值是最后一条语句的执行结果,而不需要像Java一样单独写return关键字。如果表达式中没有执行结果,就返回一个Unit对象,类似Java中的void。条件为真,结果是值1;条件为假,结果是值2。如果if和else的返回结果同为某种类型,那么条件表达式结果也是那种类型,否则就是Any类型。可以将上述条件表达式改造成嵌套的选择结构,可读性倒是提高了,但是简洁性降低了。语句块最后一句没有执行结果,那么块表达式结果就是Unit。语句块最后一句的值就是整个块表达式的结果。
2023-06-15 11:35:28
1428
原创 大二下学期总结
我了解了企业级信息系统的各个层次和组成部分,学习了如何进行系统架构设计和如何进行系统集成。通过实践,我掌握了企业级信息系统的开发和部署过程,也学习了如何进行系统维护和升级。这门课程让我对企业级信息系统有了更深刻的理解,也让我在实践中提高了系统设计和开发能力。通过实践,我掌握了Spark的数据处理流程、RDD的操作和Spark SQL的使用。这门课程让我对大数据处理有了更深入的认识,也让我在实践中提高了编程能力。经过一个学期的学习,我对Spark大数据处理和企业级信息系统课程有了更深刻的理解和掌握。
2023-06-12 19:11:59
136
1
原创 1.4 掌握Scala运算符
例如:3 + 2 * 5,我们期望获得的是13,但是根据Scala特点,Scala中所有运算符其实就是方法,那么按照这种说法,表达式应该等同于(3).+(2) 得到5,(5).*(5) 得到25,与我们的预期不符!Scala中,如果是基本数据类型,==与!如果是复杂数据类型,比较的是对象的地址,如果不是想比较地址而是想比较真正的内容,则需要使用equals方法。-1等同于1.unary_-,前缀运算符如同中缀运算符一样,也是方法调用的另一种方式,不同的是,方法名要在符号前加上前缀unary_。
2023-06-12 18:53:48
1564
原创 1.3 使用Scala集成开发环境
在包net.huawei.day01上右击,选择New→Scala Class,选择创建Object,创建一个Scala对象TestHelloWorld,在里面创建主方法,实例化HelloScala,然后调用其speak()方法。在IDEA的欢迎界面中单击Create New Project按钮,在弹出的窗口中选择左侧的Scala项,然后选择右侧的IDEA项,单击Next按钮。Scala类创建成功后,即可编写Scala程序,定义一个没有返回值的speak()方法,用来输出一条信息。我们学习在线安装方式。
2023-06-12 18:39:27
1271
原创 1.2 Scala变量与数据类型
1、变量必须初始化定义变量需要初始化,否则会报错。2、定义变量可以不指定数据类型定义变量时可以不指定数据类型,系统会根据初始化值自动推断变量的类型。3、鼓励优先使用val(常量)Scala中鼓励优先使用val(常量),除非确实需要对其进行修改,才使用var(变量)4、语句不需要写结束符Scala语句不需要写结束符,除非同一行代码使用多条语句时才需要使用分号隔开。
2023-06-12 18:33:25
1247
原创 1.1 搭建Scala开发环境
Scala2.13.10下载网址:https://www.scala-lang.org/download/2.13.10.html。启动命令行窗口,执行scala -version命令,若能正确输出当前Scala版本信息,则说明安装成功。在命令行提示后输入scala,则会进入Scala的命令行模式,在此可以编写Scala表达式和程序。将代码写在xxx.scala文件中,通过scala xxx.scala执行文件中的代码。创建/scala_work目录,进入该目录,执行命令:vim sum.scala。
2023-06-12 18:22:48
2256
原创 1.8 掌握Scala函数
不采用循环,而采用归约算子(reduce())算子来完成,归约算子传入一个匿名函数_ + _或(x, y) => x + y。方法三、采用映射算子(map())和遍历算子(foreach())来实现。(4)计算1 + 2 + 3 + ……任务:计算1 + 3 + 5…任务:采用局部函数显示文件中长度超过15的行。任务2、定义任意多个数据求和的函数。任务2、演示函数作为函数的返回值。(2)三整数加法函数和阶乘函数。任务1、演示函数作为函数的参数。任务3、演示参数占位符。任务1、演示可变参数。
2023-06-07 17:49:25
771
原创 java4.6 Spring Boot整合MyBatis
在resources目录里创建mapper目录,在mapper目录里创建ArticleMapper.xml。在net.huawei.boot根包里创建bean子包,在子包里创建Comment类。(2)数据源类型配置(以阿里巴巴的Druid数据源为例)(2)在博客数据库里创建文章表t_article。(4)在博客数据库里创建评论表t_comment。(3)在文章表t_article里插入数据记录。(5)在评论表t_comment里插入数据记录。(1)创建测试方法testFindById()
2023-06-07 16:22:32
501
原创 java4.5 掌握Spring Boot多环境配置
默认采用配置文件application.yaml,启动服务器,访问http://localhost:8080/welcome。在net.cxf.boot.config包里创建impl子包,在子包里创建MySQLConfig类。访问http://localhost:8081/lzy01/welcome,报错,无法访问。访问http://localhost:8082/lzy02/welcome。访问http://localhost:8082/lzy02/welcome。
2023-06-06 11:31:52
777
原创 2.4 IDEA开发词频统计项目
在Spark WebUI里查看(Driver running on 192,168,1,102:37530,表明Driver是在slave1节点上运行)在resources目录里创建hdfs-site.xml文件,允许客户端使用数据节点(因为本机外网访问私有云上的集群)创建net.cxf.rdd包,然后在包里创建WordCount单例对象。将单词文件上传到HDFS指定目录/wordcount/input。在master虚拟机上创建单词文件 - words.txt。单击stdout超链接。
2023-05-31 16:13:28
807
原创 3.2 掌握RDD算子
因为RDD的元素为分布式的,数据可能分布在不同的节点上。+ 100 1 + 2 + 3 + ……+ 1001+2+3+List集合中存储的是键值对形式的元组,使用该List集合创建一个RDD,然后对其进行countByKey的计算。一个数组中存放了三个元组,将该数组转为RDD集合,然后对该RDD按照每个元素中的第二个值进行降序排列。对rdd1应用map()算子,将rdd1中的每个元素平方并返回一个名为rdd2的新RDD。对于rdd1按空格拆分,做扁平映射,生成新RDD - rdd3,有一个降维处理的效果。
2023-05-31 15:41:16
745
原创 4.1 Spark SQL概述、数据帧与数据集
基于学生数据帧studentDF,创建一个临时视图student,就可以对student视图进行SQL操作。先按性别升序排列,再按年龄降序排列。3、将数据集转换成学生数据集。(3)对数据集进行投影操作。(4)对数据集进行过滤操作。(5)对数据集进行统计操作。(6)对数据集进行排序操作。(3)对数据帧进行投影操作。(4)对数据帧进行过滤操作。查询年龄在19岁以上的记录。(5)对数据帧进行统计操作。(6)对数据帧进行排序操作。先按性别升序,再按年龄降序。查询年龄在19岁以上的记录。先按性别升序,再按年龄降序。
2023-05-31 11:01:50
441
原创 3.3 掌握RDD分区
利用mapPartitionsWithIndex()函数实现带分区索引的映射。(一)使用parallelize()方法创建RDD时的分区数量。在有些情况下,使用Spark自带的分区器满足不了特定的需求。(二)使用textFile()方法创建RDD时的分区数量。由此可见,本地机器master的CPU核数为4。先用spark-shell本地模式启动。将数据文件上传到HDFS指定目录。查看HDFS的结果文件。1、指定最小分区数量。2、默认最小分区数量。
2023-05-24 11:02:59
108
原创 3.5 RDD持久化机制
刷新WebUI,发现出现了一个ParallelCollectionRDD的存储信息,该RDD的存储级别为MEMORY,持久化的分区为8,完全存储于内存中。刷新上述WebUI,发现多了一个MapPartitionsRDD的存储信息,该RDD的存储级别为DISK,持久化的分区为8,完全存储于磁盘中。计算RDD4,就是基于RDD3缓存的数据开始计算,不用从头到尾跑一趟。计算RDD5,就是基于RDD3缓存的数据开始计算,不用从头到尾跑一趟。查看RDD4内容,会从RDD1到RDD2到RDD3到RDD4跑一趟。
2023-05-24 10:32:43
600
原创 3.8 Spark RDD典型案例
(1)打开RDD项目 创建分组排行榜单例对象。(5)对rdd按键归约得到rdd1,计算总分。(1)打开RDD项目 创建计算总分平均分对象。(1)打开RDD项目 创建统计新增用户对象。2、在IntelliJ IDEA里完成任务。(4)取分组后的日期集合最小值,计数为1。(2)利用映射算子生成二元组构成的RDD。(3)按键分组得到新的二元组构成的RDD。(2)倒排,互换RDD中元组的元素顺序。(3)利用RDD填充二元组成绩列表。(4)基于二元组成绩列表创建RDD。(1)读取成绩文件,生成RDD。
2023-05-24 09:45:35
480
原创 java企业级开发-01
在test/java/net.cxf.spring.day01包里创建TestRescueDamselKnightOld类。在test/java/net.cxf.spring.day01包里创建TestRescueDamselKnightNew类。创建net.cxf.spring.day01包,然后在包里面创建SlayDragonQuest类。在net.cxf.spring.day01包里创建RescueDamselKnight类。6、采用Spring容器让勇敢骑士完成杀龙任务。创建新勇敢骑士测试类。
2023-02-21 10:41:59
595
原创 大二上期期末总结
课下缺乏练习自制力不足,正常代码是越敲越顺的,但是课上跟着老师敲代码时没有掌握,只能跟着打,自己独立写代码时就捉瞎了,平时练习时更改一下条件就不能独立写出来了,知识缺口太大,还需要多加弥补。努力追上班级里大佬的步伐,至少不回被拉下太远了。毕竟下以后的内容只会更加难。看见那些博客访问量已经37万+的大佬些,只能恨自己不努力。他们都去报了许多的国赛,我却不敢。自己觉得我的能力还不够。争取突破自我,去挑战自己。
2022-12-21 19:20:15
826
1
原创 大数据 Hadoop集群配置
命令:scp /etc/profile root@slave1:/etc/profile。命令:scp /etc/profile root@slave2:/etc/profile。命令:cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录。编辑Hadoop环境配置文件 - hadoop-env.sh。编辑Hadoop核心配置文件 - core-site.xml。编辑HDFS配置文件 - hdfs-site.xml。编辑yarn配置文件 - yarn-site.xml。
2022-12-17 09:35:36
1556
1
原创 大数据 Hadoop部署模式
nexturl=https://download.oracle.com/otn/java/jdk/8u231-b10/424b9da4b48848379167015dcc250d8d/jdk-8u231-linux-i586.tar.gz (需要登录Oracle官网才能下载)下载链接:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz。命令:vim /etc/profile。
2022-12-14 16:05:28
371
原创 Hadoop安装准备
如果配置了免密登录,但是没有成功,需要重新配置,就要删除三个节点/root/.ssh/目录下的全部文件。命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33。命令:vim /etc/hosts,添加三个映射(集群有三个虚拟机)命令:vim /etc/sysconfig/selinux。命令:vim /etc/sysconfig/selinux。命令:vim /etc/sysconfig/selinux。命令:ssh-copy-id root@master。
2022-12-14 15:17:06
602
原创 软件包管理器RPM与yum
安装单个rpm软件包下载JDK8u221的rpm软件包链接:https://pan.baidu.com/s/1fYKNNM02GBh-cOUuajkBIg 提取码:yg53上传JDK8u221的rpm软件包到虚拟机/opt目录命令:rpm -ivh jdk-8u221-linux-x64.rpm查看JDK版本命令:java -version。
2022-12-13 20:44:25
494
原创 压缩与打包
准备工作命令:gzip -v anaconda-ks.cfg压缩之后,原文件删除,只有压缩文件解压缩之后,压缩文件删除,生成原文件清空/tmp/part1目录将/etc目录拷贝到/tmp/part1目录里将etc目录打包压缩成gz格式,要求显示压缩详情命令:tar -czvf etc.tar.gz etc原文件还在先删除etc目录命令:tar -xzvf etc.tar.gz打包文件和解压之后的目录都存在将打包文件解压到/home目录命令:tar -xzvf etc.
2022-12-07 10:30:49
285
原创 进程管理笔记
查看进程详情命令:ps -aux能够观察所有系统的数据命令:ps la | head -5命令:ps axjf | head -20仅查看自己的bash相关的进程命令:ps l观察系统所有进程命令:ps aux每隔三秒更新一次数据命令:top -d 3进行两次top的输出结果命令:top -b -n 2安装pstree命令:pstree 默认没有安装命令:yum -y install psmisc命令:pstree -Aup命令:pstree -aup
2022-12-07 09:26:46
606
1
原创 Linux目录操作
root用户创建新文件love.txt命令:echo I Love you > love.txt查看文件love.txt的用户及用户组将其用户组改为lzy用户组命令:chgrp lzy love.txt查看文件love.txt的用户及用户组将root用户所建文件love.txt的所有者改变成alice命令:chown alice love.txt (love.txt ∈ \in∈ alice)查看文件love.txt的所有者信息将love.txt文件所有者改为smith,用户组改为l
2022-12-06 09:48:48
495
原创 Linux用户组操作
命令:useradd -d /home/alice -G lzy -p 123456 alice。添加用户alice,密码123456,主目录/home/alice,加入lzy组。命令:useradd -G lzy,luzhou -p 111111 smith。创建一个用户smith,密码111111,加入lzy组和luzhou组。命令:usermod -a -G luzhou alice。命令:usermod -G luzhou mike。将用户mike从lzy组迁移到luzhou组。
2022-11-30 19:58:06
1213
原创 利用FinalShell访问虚拟机
下载路径:https://pan.baidu.com/s/1uDIxLBnhrAQl_UqSHtD2Vw 提取码:fiaa。永久修改命令:hostnamectl set-hostname 虚拟机名。命令:vi /etc/resolv.conf。命令:yum -y install vim。命令:cat /etc/hostname。临时修改命令:hostname 虚拟机名。命令:vim /etc/hosts。可以通过虚拟机名来ping通。删除原有内容,添加一个映射。命令:hostname。
2022-11-30 10:39:23
1116
原创 配置CentOS
命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33。命令:systemctl disable firewalld。命令:systemctl status firewalld。命令:systemctl stop firewalld。命令:systemctl start network。命令:ping www.baidu.com。命令:ping www.baidu.com。命令:ping 192.168.1.100。命令: ip addr。命令:ip addr。
2022-11-30 09:26:44
371
原创 安装CentOS
官网下载:https://customerconnect.vmware.com/en/downloads/details?下载镜像文件:https://mirrors.aliyun.com/centos/7/isos/x86_64/执行Install CentOS 7。秘密强度不够,单击两次Done。选择操作语言(英语)
2022-11-30 08:45:52
164
原创 java 学生信息管理系统
本章为我的期末项目,参考意义不大。其中有参考别人(howard2005)的代码和错误。数据库连接管理类ConnectionManager运行结果:
2022-06-11 14:04:35
780
1
原创 Java 期末总结
从2月份开始接触Java到现在已经有4个多月了,从刚开始的下载软件到现在的会写部分程序。我在Java的知识海洋中收获了很多。但是我的进步十分的缓慢,班上已经有许多大佬学得超级的好了。自己感觉和他们的差距已经很大了。在后期的学习中挺长一段时间的Java过后。老师上课还是不是很跟得上,但是还是大体跟得上。作业也是会写(不会就上csdn上搜索)。上课跟着老师打代码,学习编程思想,考虑编程的可实行的,用户的使用感受,但是还是比不上班上的大神些。中间经历了四个月的是时间。我还记得老师刚开始更我们讲Java的重要性:J
2022-06-09 15:06:42
2118
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人