- 博客(41)
- 收藏
- 关注
原创 Windows下hadoop单点部署
电脑安装java8以上的版本下载hadoop压缩包,演示选用hadoop-2.7.3,解压到本地路径下。
2022-08-24 20:38:26
951
1
原创 Scala入门到精通(尚硅谷学习笔记)章节十——模式匹配
对于Spark来说,Scala的模式匹配功能也是极其重要的,在spark源码中大量地使用了模式匹配功能。Scala的模式匹配除了可以对值进行匹配之外,还可以对类型、Array和List的元素情况case class、有值或没值(Option)进行匹配。scala的模式匹配类似于Java中的swich case语法,对一个值进行条件判断,针对不同的条件,进行不同的处理。在模式匹配中直接新建对象实例并不符合模式匹配的语法规则,因此用伴生对象的apply方法去获取属性和方法。,可以使用{}括起来,也可以不括。
2022-08-20 11:18:51
727
原创 Scala入门到精通(尚硅谷学习笔记)章节九——集合
1)Scala 的集合有三大类:序列 Seq、集 Set、映射 Map,所有的集合都扩展自Iterable特质。(2)对于几乎所有的集合类,Scala 都同时提供了可变和不可变的版本,分别位于以下两个包不可变集合:scala.collection.immutable可变集合: scala.collection.mutable(3)Scala 不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象,而不会对原对象进行修改。类似于 java 中的 String 对象。...
2022-08-16 22:17:59
1173
原创 Scala入门到精通(尚硅谷学习笔记)章节八——面向对象
第二种,一个类(Sub)混入的两个trait(TraitA,TraitB)中具有相同的具体方法,且两个trait继承自相同的trait (TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala采用了特质叠加的策略。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。第一种,一个类(Sub)混入的两个trait(TraitA,TraitB)中具有相同的具体方法,且两个trait之间没有任何关系,解决这类冲突问题,直接在类(Sub)中重写冲突方法。......
2022-08-10 22:13:14
780
原创 Scala入门到精通(尚硅谷学习笔记)章节七——函数式编程
scala支持两种编程范例:面向对象编程( OOP )和函数编程( FP )。函数式编程在解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。...
2022-08-10 22:10:29
721
原创 Scala入门到精通(尚硅谷学习笔记)章节五——变量和数据类型
是所有数据类型的子类,主要用在一个函数没有明确返回值时使用,因为这样我们可以把抛出的返回值,返回给任何的变量或者函数。当 Scala 程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数值类型。自动类型转换的逆过程,将精度大的数值类型转换为类型小的数值类型,使用时要加上强制转换函数,强转会造成精度降低或溢出。(2)把精度大的数值类型赋值给精度小的数值类型时,就会报错,反之就会进行自动类型转换。1)Scala数据类型仍然遵守,低精度的值类型向高精度值类型,自动转换(隐式转换)AnyVal代表值类型。..
2022-08-10 22:04:12
675
原创 Scala入门到精通(尚硅谷学习笔记)章节四——输入和输出
在输出时,普通字符将原样不动地复制到标准输出,转换说明并不直接输出而是用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明结束,从而说明输出数据的类型、宽度、精度等。Source单例对象中, 提供了一些非常便捷的方法, 从而使开发者可以快速的从指定数据源(文本文件, URL地址等)中获取数据, 在使用 Source单例对象之前, 需要先导入source包, 即。%[标志][最小宽度][.精度][类型长度]说明符。print(s"$a")输出为变量的值。...
2022-08-10 22:02:18
1487
原创 Scala入门到精通(尚硅谷学习笔记)章节二——语法格式
1.**scala严格区分大小写**2.**所有的类名的第一个字母要大写**。 如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写示例:class MyFirstScalaClass 3.**所有的方法名称的第一个字母用小写**。如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写...
2022-08-10 21:59:06
272
原创 Scala入门到精通(尚硅谷学习笔记)章节一——scala入门
Scala是一种“可扩展编程语言”。Scala已发现其可用于开发各种规模的软件,例如,使用Scala,您可以为大学考试开发一个小项目,也可以将其用于可以完成大量任务的项目。主要在服务器管理和数据科学中发现它的用途。...
2022-08-10 21:57:31
960
原创 CDA学习笔记--EXCEL篇
文件--》选项--》高级--》常规--》自定义序列例一:如何筛选出东南地区1月份销售明细?例二:一次筛选出东南地区的所有销售明细,以及所有地区的1月份的销售明细?
2022-06-03 18:19:14
1527
原创 2021年大学生大数据技能竞赛上海分区HIVE篇解析
文章目录项目需求step1:创建ods层数据表step2:创建dwd层数据表step3:创建dwm数据处理分析step4:创建dws层step5:创建app层其他参考设置:题目前置准备covid_ods库covid_dwd库covid_dwm库covid_dws库covid_app库项目需求自2019年底,湖北省武汉市监测发现不明原因肺炎病例,中国第一时间报告疫情,迅速采取行动,开展病因学和流行病学调查,阻断疫情蔓延。SARS-CoV-2是一种有着高扩散能力的病毒,通过飞沫、直接接触和被感染的物体传播
2022-05-22 22:02:02
2957
6
原创 数据仓库环境准备
1.下载mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar并解压到某一路径2.安装 MySQL 组件3.登入mysql4.配置安全密码策略5.设置远程登入。
2022-04-08 13:15:41
197
原创 mapreduce工作流程(HADOOP2.x版本)
目录作业提交阶段(Job Submission)作业初始化阶段(Job Initialization)任务分配(Task Assignment)任务执行(Task Execution)作业提交阶段(Job Submission)现有一个200m的名为“1.txt”的文本文档,我们希望利用mapreduce对其进行分析。1.在编写好mapreduce程序后,新建job实例,设置job状态,并创建一个Job Client实例。2.Job Client同YARN( Hadoop 资源管理器)通过conn
2022-03-11 15:00:31
3379
1
原创 hadoop大数据平台的构建
目录hadoop概述什么是hadoop?hadoop特点hadoop组成hadoop概述什么是hadoop?Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。
2021-12-19 22:15:14
2782
原创 mapreduce概念和案例(尚硅谷学习笔记)
MapReduce概念概述Mapreduce优点和缺点MapReduceMapReduce核心思想案例分析
2021-12-09 12:03:03
2239
原创 大数据生态圈简介
大数据平台架构大致可分为五个层级。顶层为应用层,提供数据服务与可视化,解决企业实际问题。第二层是大数据处理核心,包括数据处理、交互式分析以及机器学习与数据挖掘。第三层是资源调度,为了充分利用系统资源,提高全系统的资源利用率以及增强系统扩展性,需要进行统一的资源管理与调度。第四层是数据存储,如何解决海量数据的读写问题,是实现大数据平台的构建的基础。第五层是数据获取,快速、高效获取到海量信息是大数据的前提。
2021-12-03 22:14:08
7126
原创 8-zookeeper算法基础(尚硅谷学习笔记)
目录拜占庭将军算法paxos算法paxos算法流程拜占庭将军算法paxos算法在paxos算法中,首先将所有节点划分为proposerI(提议者)、acceptor(接收者)、learner(学习者)每个节点可以充当多个角色paxos算法流程1.Prepare(准备阶段)proposer向多个acceptor发出propose请求promiseacceptor针对收到的propose请求进行promise2.accept(接受阶段)proposer收到多数acceptor承诺地epromi
2021-10-05 10:56:11
622
原创 7-zookeeper分布式锁案例(尚硅谷学习笔记)
目录概念与分析什么是分布式锁zookeeper分布式锁分析分布式锁实现概念与分析什么是分布式锁传统单体应用单机部署的情况下,可以使用并发处理相关的功能进行互斥控制,但是原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效。提出分布式锁的概念,是为了解决跨机器的互斥机制来控制共享资源的访问。当一个进程使用一个资源时,会去请求对这个资源的锁,以求对这个资源的独占,使得其他进程无法访问该资源。当进程使用完该资源,会释放锁
2021-09-15 20:17:11
676
原创 6-zookeeper服务器动态上下线实例(尚硅谷学习笔记)
目录需求分析示意图过程详解需求分析示意图假设最初三台服务器正常运行,并且三台服务器搭建了zookeeper集群当服务器二挂掉后的情况过程详解第一部分:启动zookeeper集群,建立永久节点severs,servers下的子节点用来记录节点上下线的情况,是可变的第二部分:服务器启动后会去zookeeper集群注册信息(create操作),当服务器下线时,临时节点被删除第三部分:客户端监听zookeeper集群servers节点的子节点信息(get操作),一经变化,立刻修改连接的服务器
2021-09-09 22:47:06
565
原创 5-zookeeper客户端api(尚硅谷学习笔记)
目录创建节点右键创建节点在idea上新建一个maven项目在pom.xml中添加相关依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE</version>
2021-09-04 17:45:37
279
原创 4-zookeeper客户端命令行操作
目录前置准备查看节点信息前置准备启动客户端前往$ZOOKEEPER_HOME/bin目录,使用如下命令,使用master的2181端口启动客户端zkCli.sh -server master:2181查看帮助信息查看节点信息ls2 /zookeeper-3.4.10仍然使用的是ls2命令,3.5。版本后应该使用ls -s /查看cZxid = 0x0ctime = Wed Dec 31 16:00:00 PST 1969mZxid = 0x0mtime = Wed Dec 31
2021-08-30 23:29:51
179
原创 3-zookeeper选举机制
目录描述第一次启动的情况第一次启动的情况假设zookeeper集群中有5台服务器,那么想要成为leader需要半数以上的选票(3票),每一个服务器都有一个选票,服务器会先把选票投给自己过程1–服务器1投自己一票,此时服务器1只有一票,不够3票,选举没有完成,服务器1状态为looking过程2–服务器2投自己一票并与服务器1交换选票信息,服务器1发现服务器2的myid比自己目前推举的(服务器1)号数更大,服务器1即更改推举服务器2.此时服务器没有票数,服务器2有2票,不够三票,服务器1与服务器2状态
2021-08-25 22:40:34
164
原创 2-zookeeper安装(附脚本)
目录描述前置准备配置修改创建数据和日志存储文件夹将文件夹传给slave1和slave2创建myid标识主机服务器序号(3台不一样)zoo.cfg文件配置参数解析环境变量脚本(master上执行)前置准备三台主机名分别为master,slave1,slave2的虚拟机添加主机名与IP地址的映射(配置hosts文件)安装jdk下载好zookeeper压缩包创建zookeeper目录mkdir -p /usr/zookeeper && cp zookeeper-3.4.10.tar.
2021-08-24 21:36:14
289
原创 1-zookeeper概念
概念zookeeper=文件系统+通知机制zookeeper是一个开源的分布式的,为分布式的服务框架提供协调服务的Apache项目,可以实现诸如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能。具体来讲,它负责存储和管理服务器的信息(如配置文件),实时监听服务器的运行状态和客户端的请求状态,当这些数据的状态发生变化,zookeeper负责通知已经在zookeeper上注册的客户端做出相应的反应。zookeeper特点1.一个领导者,多个跟随着组成zookeeper service集群
2021-08-21 23:35:03
117
原创 centos静态ip设置
第一步:查看vmware网络编辑器在IP范围内选择一个ip地址,我选择的是192.168.72.160第二步:修改网卡名称及配置信息首先进入网卡文件夹cd /etc/sysconfig/network-scripts/修改名称(可做可不做)mv ifcfg-eno[tab补全] ifcfg-eth0修改配置信息vi ifcfg-eth0删除所有内容,根据自己网关、mac地址等信息修改内容后粘入文件DEVICE=eth0#需要更改HWADDR=00:0C:29:5E:3F
2021-08-15 10:21:20
132
原创 ARP攻击
https://blog.youkuaiyun.com/weixin_44143678/article/details/107559329?spm=1001.2014.3001.5501目录概念arp协议局域网及外网局域网公网Gratuitous ARP(免费ARP)免费ARP的产生免费ARP的作用攻击攻击原理攻击方式中毒攻击一(ARP请求数据包)中毒攻击二(ARP响应数据包)中毒攻击三(免费ARP数据包)IP冲突攻击断网攻击ARP DDOS攻击拒绝服务攻击中间人攻击全网欺骗攻击ARP缓存中毒后果arp防御ARP缓存
2021-06-23 23:34:25
418
原创 CSRF攻击
目录CSRF概念CSRF分类三种危害模型CSRF攻击思想攻击方式CSRF攻击实例角色流程防御策略验证token值Referer自定义HTTP header相关链接:http://www.phpddt.com/reprint/csrf.htmlhttps://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.htmlhttps://blog.youkuaiyun.com/diu_brother/article/details/88367029?spm=1001.20
2021-06-13 23:41:49
453
1
原创 DNS攻击详解
目录DNS概念什么是DNS因特网的域名结构DNS域名服务器DNS攻击DDOS攻击基于主机耗尽型的dns查询拒绝服务攻击(DNS query Flooding)攻击方法防御策略基于宽带耗尽型的DNS反弹式拒绝服务攻击(DNS reflector attacks,又称DNS amplification attacks)攻击方法防御策略会话劫持劫持dns服务器地址hosts文件被修改DNS服务器缓存中的映射关系被修改,又称缓存投毒攻击DNS概念什么是DNS域名系统DNS(Domain Name System
2021-06-13 11:13:08
10622
4
原创 TCP攻击
目录TCP协议tcp报文组成TCP协议中的常见计时器TCP三次握手方法建立连接TCP终止连接过程常见TCP攻击TCP协议tcp报文组成源端口号(Source Port,16比特)和目的端口号(Destination Port,16比特):分别表示发送方和接收方的端口号。序号(Sequence Number,32比特):该TCP段中携带的用户数据中第一个字节的编号,编号是以字节为单位的。可以表示4GB数据,足够保证在分组的生命期内不会出现重复的顺序号。确认号(Acknowledgment Numb
2021-06-12 11:12:08
3593
5
原创 0-hdfs常用指令
HDFS的Shell操作(开发重点)基本语法bin/hadoop fs 具体命令 OR bin/hdfs dfs 具体命令dfs是fs的实现类。常用命令实操启动Hadoop集群(方便后续的测试)sbin/start-dfs.shsbin/start-yarn.sh-help:输出这个命令参数hadoop fs -help rm-ls: 显示目录信息hadoop fs -ls /-mkdir:在HDFS上创建目录hadoop fs -mkdir -p /sanguo/shu
2021-05-24 14:33:00
176
原创 scp与rsync
编写集群分发脚本xsyncscp(secure copy)安全拷贝(1)scp定义:scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)(2)基本语法scp -r pdir/pdir/pdir/fname user@hadoopuser@hadoopuser@hadoophost:pdir/pdir/pdir/fname命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称(3)案例实操(a)在hado
2021-05-17 09:54:48
1733
原创 命令执行(3)ctfshow_web入门命令执行web50-59
web50-51if(isset($_GET['c'])){ $c=$_GET['c']; if(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*|more|less|head|sort|tail|sed|cut|tac|awk|strings|od|curl|\`|\%|\x09|\x26/i", $c)){ system($c." >/dev/null 2>&1");空格,%09,%26都没有了,采用带行号读的命令
2021-05-13 13:18:58
1221
原创 跨站脚本攻击之xss手动版
定义Cross-site scripting (XSS):跨站脚本是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。类型存储型(持久型)跨站脚本可注入服务器的文件系统或数据库–引诱用户访问相关链接(貌似被用户信任的网站)–被攻击用户访问相关页面(采用特定URL参数)时,恶意代码下载到浏览器并执行。反射型(非持久型)跨站脚本包含在向网站提交内容的相关字段中–该字段将被服务器在返回页面中包含,相关字段中的跨站脚本将在浏览器端执行。–被攻击用户访
2021-05-12 09:48:33
1215
原创 dvwa-sql注入high级别sqlmap使用(自制任务)
在high安全级别下,我们能够看到进行了一次页面跳转使用cookie插件获取cookie信息--cookie="4a80203698ca9007ed3373a065349ddd;security=high"此时用户提交网站为10.12.202.4/dvwa/vulnerabilities/sqli/session-input.php-u "10.12.202.4/dvwa/vulnerabilities/sqli/session-input.php"实际要注入的网站为http://10.1
2021-05-08 10:15:35
941
原创 ctfshow之web入门-php特性89-100
web89if(preg_match("/[0-9]/", $num)){ die("no no no!"); } if(intval($num)){ echo $flag; }不能是数字但又必须是数字在intval()函数中, 空的 array 返回 0,非空的 array 返回 1。?num[]web90if(isset($_GET['num'])){ $num = $_GET['num']; if($num==="
2021-04-28 19:30:10
661
原创 命令执行(2)ctfshow_web入门命令执行web39-49
web39error_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ include($c.".php"); } }else{ highlight_file(__FILE__);}没有回响,并且加了php的后缀,38的解法还是可以使用?c=data://text/plain,<?=system("tac
2021-04-25 15:58:24
396
1
原创 ctfshow之web入门-命令执行(1)web29-38
题目来自CTFshow-web入门-命令执行web29安装hackbar启动环境,看到正则表达式过滤掉flagerror_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{ highlight_file(__FILE__);}点击F12开启hackbar窗口,使用?c=phpinf
2021-04-22 19:48:47
315
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人