自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入理解操作系统之线程

一个应用通常要处理很多任务,比如一个Web浏览器,可能需要同时处理文 字和图片,这些同时执行的任务可称为 “执行流” ,我们不希望它们是顺序执行的。在web中我们不能说让上述任务处理完文字再处理图片吧,这是不符合用户的使用的。因此需要多任务并发执行早期每个执行流就是创建子进程,但是进程的切换是要消耗巨大的时空资源的,所以把一个应用装进进程中,进程内部的执行流就是线程。* Athreadis a basic unit(单元) of CPU utilization(利用、使用);

2023-10-16 16:44:41 362 3

原创 深入理解操作系统- - 进程篇(1)

进程是一个拥有cpu使用权的进行计算任务的基本单位。进程是一个程序的一次执行过程能完成具体的功能是在某个数据集合上完成的执行过程是可并发的进程是资源分配、保护和调度的基本单位。

2023-09-30 20:34:40 369

原创 Smart Community(1)之设计规范

通过前面大数据开发相关知识的学习,准备做一个项目进行练习---我给他起了一个响亮的名字:基于HadoopHA的智慧社区服务平台。

2023-09-16 21:12:10 442

原创 zookeeper案例

先在集群上创建/servers 节点(用于存储连接的服务器的主机和该服务器的节点数)相当于zookeeper集群 创建类对象该类为我们创建的服务端类: 获取zookeeper连接:自己创建连接方法: 让后server对象在main函数中调用注册是需要注册到zookeeper集群的/servers路径下,需要指定参数进行创建(3)业务逻辑(睡眠):服务端代码如下:客户端:(1)获取zookeeper的连接: 先创建客户端对

2023-08-13 19:55:14 1846 9

原创 zookeeperAPI操作与写数据原理

需要在项目的 src/main/resources 目录下,新建一个文件,命名为“log4j.properties”ZooKeeper zkClient ---表示要创建的客户端 申请为全局变量有助于后边各方法的调用。由于监听器是调用一次只能使用一次,不能实时监听,所以我们要在初始化方法里添加监听。@Befor注解在此不在解释不会可看本人前面文章(Java注解篇)重写了process方法,这个方法在不使用监听器的时候可以不写代码。在开启监听器的时候(可以听后续监听器API)

2023-08-09 22:06:43 792

原创 zookeeper安装教程及其基本使用

SID为1、2、4的机器投票情况(分别为EPOCH,ZXID,SID ): (1,8,1) (1,8,2) (1,7,4)此时服务器1票数为0票,服务器2票数为2票,没有半数以上结果,无法选举出leader,服务器1,2状态保持LOOKING。此次投票结果:服务器1为0票,服务器2为0票,服务器3为3票。对于第一种已经存在Leader的情况,机器试图去选举Leader时,会被告知当前服务器的Leader信息,对于该机器来说,仅仅需要和Leader机器建立连 接,并进行状态同步即可。服务器1投自己一票。

2023-08-04 22:56:45 3765 1

原创 Zookeeper入门介绍

Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。(上述是比较官方的答案,而我的理解是zookeeper相当于酒店的前台,有信息存储功能和通知功能,好比住房客人的信息的存储是在前台,当你酒店时间快到的时候会提醒你,也是前台的工作)zookeeper=文件系统+通知机制。

2023-07-29 21:22:06 1453

原创 hive之文件格式与压缩

为Hive表中的数据选择一个合适的文件格式,对提高查询性能的提高是十分有益的。Hive表数据的存储格式,可以选择text file、orc、parquet、sequence file等。ORC(Optimized Row Columnar)file format是Hive 0.11版里引入的一种列式存储的文件格式。ORC文件能够提高Hive读写数据和处理数据的性能。我们文件一般都是一个二维表,行式存储就是以一行数据为一个单位,存储在相邻的位置,列示存储是以一列数据为单位,一个单位内的数据放在相邻的位置。

2023-07-23 18:25:59 1165

原创 hive之存储优化

从这里开始就是hive调优阶段,怎么让hive跑的更快。分区表和分桶表都是从存储方向进行优化。

2023-07-21 22:22:35 599

原创 Hive自定义函数

本文章主要分享单行函数UDF(一进一出)现在前面大体总结,后边文章详细介绍自定义函数分为临时函数与永久函数需要创建Java项目,导入hive依赖创建类继承GenericUDF(自定义函数的抽象类)(实现函数)打成jar包,传到服务器上将jar包添加到hive的class path上临时生效通过hive创建函数与Java类建立连接。

2023-07-17 17:04:40 2281

原创 Hive之函数篇(使用函数看这篇足够了)

时间戳:我们常说的时间戳是unix时间戳----指从1970年1月1日00:00:00(UTC--世界协调时间,便于统一时区---可以认为是0时区)起算的秒数,它用于表示某个时间点相对于UNIX纪元时间的时间差。完整函数有三个参数,参数1:字符串 参数2:从什么位置开始截取(从1开始,正数表示从左往右数数,找到指定位置,负数表示从右往左数数,从-1开始,找到指定位置)参数3:表示截取的字符数,不写默认截取到最后。参数2:传入的是需要查找的位置(加一个$(指代的前边传入的字符串).符号)

2023-07-10 16:58:37 1904 3

原创 学习机组过程中的疑难问题与解决 -----(1)

8的补码是1000,因为在计算机中,负数通常使用补码来表示。首先,我们需要了解补码的定义。正整数的补码与其二进制原码相同,而负整数的补码是将其对应的正整数的补码取反后再加1。对于-8这个负整数,它的绝对值的二进制原码是。

2023-06-24 19:40:50 3290 7

原创 hive之DML操作

B的表达式说明如下:‘x%’表示A必须以字母‘x’开头,‘%x’表示A必须以字母‘x’结尾,而‘%x%’表示A包含有字母‘x’,可以位于开头,结尾或者字符串中间。连接还有内连接,左外连接,右外连接,满外连接,出现上述不同种连接主要是根据在两个表进行连接的时候出现不匹配的数据的处理情况而区分的。join是横向连接形成一张虚拟表,在连接的时候有等值连接也有不等值连接,而且在连接的时候要有相同的字段进行相连。如果A和B都为null或者都不为null,则返回true,如果只有一边为null,返回false。

2023-05-15 16:06:47 789 6

原创 Hive之DDL

需要注意的是:修改数据库location,不会改变当前已有表的路径信息,而只是改变后续创建的新表的默认的父目录。加上该关键字就是创建外部表的意思(内部表也叫管理表:管理表意味着Hive会完全接管该表,包括元数据和HDFS中的数据,外部表:而外部表则意味着Hive只接管元数据,而不完全接管HDFS中的数据。该语法允许用户利用select查询语句返回的结果,直接建表,表的结构和查询语句的结构保持一致,且保证包含select查询语句放回的内容。在创建的时候没有指定路径(hdfs的存储路径)会使用默认路径。

2023-05-09 16:28:40 899 39

原创 hive之入门配置

学习hive之路就此开启啦,让我们共同努力。

2023-05-04 19:25:59 4273 29

原创 Scala之模式匹配与隐式转换

当编译器第一次编译失败的时候,会在当前的环境中查找能让代码编译通过的方法,用于将类型进行转换,实现二次编译。

2023-04-26 19:29:53 1433 19

原创 Scala之集合(3)

总结:上述方法理解简单,但是比较消耗内存 当每个字符串的次数较大时 是非常消耗内存的,消耗时间。现在的集合是Map集合,需要排序所以要转换成List再调用排序函数(sortBy方法)方法3是在我们分组的基础之上对value进行调用归约函数,直接对value进行累加。在集合的后边加上.par后 变成了并行集合 使用多线程打印(同时也是乱序的)(2)将集合中方法都改变结构变成二元组(value=1)(1)对集合进行切割并且转换成元组(key,value)(2)对现在的二元组进行分组(相同的key)

2023-04-24 17:13:13 1374 26

原创 Scala之集合(2)

按照单词出现的次数排序:这样是需要自定义的 调用sortBy()函数(By---什么方式)设置返回类型就是按照什么排序(匿名函数)按照单词出现的次数反转排序:通过sortBy()源码可知他是采用了柯里化写法(闭包---把上层变量定义成常量传给下一层)上述代码在第一次传入参数返回的是以Int类型的集合 在对他进行封装成常量传递给下层 所以 在柯里化的第二个()的时候在设置类型的时候要设置Int类型。

2023-04-22 11:48:38 1681 30

原创 Scala之集合(1)

不可变集合:set集合特点:无序,不重复对set集合无序的理解:set集合的无序是指在使用append等方法给集合添加元素的时候所添加的元素的顺序是不可预测的,并且不能按照添加顺序进行遍历(存储位置是不一定的)Set集合的无序性是由它的实现方式所决定的。通常,Set集合的实现方式采用了哈希表这种数据结构,其中元素被散列到桶中,不同的元素可能被散列到同一个桶中,因此添加的顺序不能保证元素的顺序。set集合提供了SortedSet集合是有序的(放入2,3,1,4会按照1,2,3,4进行存储)SortedSet写

2023-04-18 16:46:38 1601 18

原创 Scala之面向对象(2)

Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概 念)。但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象 来模拟类对象,该对象为单例对象。若单例对象名与类名一致,则称该单例对象这个类的伴 生对象,这个类的所有“静态”内容都可以放置在它的伴生对象中声明。

2023-04-14 20:20:23 1407 21

原创 Scala之面向对象

导包是不支持嵌套的(导包后只能用它下边的类和对象,不能再用它下边的包,如果想使用它下边包中的方法,就需要使用 . 但是当我们导包直接导入它下边的包 就可以直接调用,不需要用 . 来使用)在Scala中包也是面向对象的,只要在包的内部(只要在内部都可以,内层的嵌套也可以),都可以直接调用包对象的属性和方法。如果包有嵌套,会出现覆盖的情况,则会调用距离最近的包的属性与方法(包距离最近则会后调用,会覆盖先前调用的)当类很多时,可以很好的管理类。下图是我在类下边建的包,和正常的包一样使用。

2023-04-11 20:15:41 1376 13

原创 Scala之函数式编程

方法--是在类中表示(面向对象)-----伴生对象中的方法(相当于静态方法) 或者在伴生类中定义方法。(4)如果(所有)参数(都)只出现一次,则参数省略且后面参数可以用_代替(但是只剩下_是避不可以的)函数是支持嵌套的但是并不支持函数的重载和重写(重载和重写是针对的类中的方法而言)(7)如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加。(8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略。)返回值类型如果能够推断出来,那么可以省略(和返回值类型一起省略)

2023-04-09 19:38:54 3458 19

原创 Scala之基础入门

2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有 的Java类库,实现两种语言的无缝对接。4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥。只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,(多范式,就是多种编程方。

2023-04-06 19:37:14 549 3

原创 Hadoop之Yarn篇

(7) NodeManger创建容器,任何任务的执行都是在容器中执行的(容器中有cpu+ram--网络资 源),并且在容器中启动了一个MRAppmaster。(3): 提交job运行所需要的资源(Job.spilt Job.xml wc.jar )(按照(2)中提供的路径进行上传)(10) 领取任务,创建MapTask容器(NodeManager)(cpu+ram+jar)(4) 资源提交完毕后,申请运行mrAppMaster (程序运行的老大)

2023-03-29 14:43:02 1795 10

原创 hadoop之MapReduce框架原理

MapReduce是分为两个阶段的,MapperTask阶段,和ReduceTask阶段。Mapper阶段,可以通过选择什么方式(K,V的选择对应不同的方法)来读取数据,读取后把数据交给Mapper来进行后续的业务逻辑(用户写),让后进入Reduce阶段通过Shuffle来拉取Mapper阶段的数据,让后通过OutputFormat(等方法)来写出(可以是ES,mysql,hbase,文件)

2023-03-27 20:34:18 1566 22

原创 Hadoop之Mapreduce序列化

反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。为什么要序列化:一般来说,“活的”对象只生存在内存里,关机断 电就没有了。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。在开发过程中,基本序列化类型不能满足所有需求,比如在Hadoop框架内部传递一个bean对象不是基本的数据类型(某个类)----没有对应的Hadoop类型那么。

2023-03-20 19:43:51 4299 14

原创 MapReduce之WordCount案例实操

本次测试为本机测试,通过maven导入Hadoop的包来进行的 输入输出文件的路径为本地路径,而我们在企业开发中一般是在windows上编写,打包发送到Linux上,如果执行任务较多 后期会编写脚本执行程序。准备工作 创建工程后先改maven仓库的地址(创建工程后默认为idea自带的仓库**提示 在你打开别的项目后,在你重新打开本项目的时候,maven会改回idea的maven)让后在 项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”

2023-03-18 15:14:12 1376 13

原创 HDFS的API操作

使用注解@Test进行测试,调用的还是Linux中的mkdir 让客户端连接对象进行调用(**注意 这里 客户端连接对象要在类的上方使用private进行定义,方便在下方方法中的调用)返回值:返回的形式是迭代器(迭代器是一种设计模式,官方话不多数,说一下自己的理解可能不贴切---个人认为迭代器就像把数据封装成一个数据库一样,包含各种属性,每一条信息就是一个元组)文件移动分为很多,根据参数的不同,做出不同的操作,都是调用rename方法。文件和文件夹的判断也分为两种,一种是可迭代的,一种是不可迭代的。

2023-03-15 15:21:57 2363 7

原创 Hadoop入门常见面试题与集群时间同步操作

所有的机器与这台集群时间进行定时的同步,生产环境根据任务对时间的准确程度要求周期同步。systemctl is-enabled ntpd ----设置开机是否启动ntpd服务。systemctl start ntpd ------开启时间服务器。systemctl status ntpd ------检查时间服务器是否打开。,必须要配置集群时间同步,否则时间久了,会产生时间偏差,导致集群执行任务时间不同步。增加内容如下(让硬件时间与系统时间一起同步---硬件时间更准确)(能连接外网),可以。

2023-03-11 16:05:03 717

原创 hadoop的补充配置与常用脚本

hadoop102:10020是表示历史服务器配置在那台服务器上,并且内部端口为10020(集群内部所用的访问端口)(启动历史服务器之前可以先关闭所有服务,在重启Hadoop服务,在启动历史服务器)创建完毕后要对他的权限进行修改(赋予脚本执行权限),不然权限不足,不是可执行脚本。每个服务器上都有一个日志,你想看集群上的日志就需要对他进行聚集到hdfs上。mapred --daemon 启动守护进程(或者是在后台启动)为了查看程序的历史运行情况,需要配置一下历史服务器。

2023-03-10 13:57:20 975 5

原创 Hadoop崩溃处理

2.删除集群上每个服务器的data和logs目录(删除历史数据)进入hadoop的安装路径(etc,bin目录不受破坏)以上操作完成格式化(数据清空)1.杀死进程(停止进程)

2023-03-09 18:43:32 143 1

原创 大数据技术之Hadoop集群配置

作者简介:大家好我是小唐同学(๑>؂

2023-03-05 13:38:05 2029 2

原创 hadoop的运行模式

目录hadoop的三种运行模式区别:完全分布式运行模式步骤:一,虚拟机准备:二,编写集群分发脚本xsync (1)scp定义: (2)基础语法:(1)按照上述语法进行拷贝jdk(2)按照上述语法拷贝Hadoop(第二种方法)(3)拷贝也可以让Hadoop103操作 从Hadoop102中拷贝入Hadoop104 三,rsync远程同步工具rsync语法:ssh免密登录:免密登录原理:​编辑ssh免密登录实操:1.准备三台客户机(关闭防火墙,静态IP,主机名)2.安装jdk3.配

2023-03-02 16:57:49 3547 6

原创 next_permutation函数讲解

在我们的日常刷题中,总会遇到一些题是不会的,在不会的时候我们首先想到的是看答案,在算法题遇到不会时候也是这样,不会先看题解,在题解中学会思路,方法,师夷长技以制夷,最后增加自己的本领。next_permutation函数(bool类型)是STL中计算排列组合的方法,在比赛或者练习过程中可以使用,next_permutation函数的参数是数组的区间坐标(两个,始(如:a+0)末(如:a+n)n个数)

2023-01-14 21:41:42 527 8

原创 初级算法之深度搜索

在我们刷算法的过程中肯定会想到暴力通过,暴力是不需要技巧的,在暴力算法中有一种枚举算法--深搜(深度搜索)dfs,其实在数据结构这门课程中我们是学过树的dfs深度优先算法的,但是我学的比较刻板,只能理解思想,代码也只能在树中能够实现,在算法题中很难想到怎么实现深搜。

2023-01-08 22:52:35 5946

原创 万字长文让你学会MyBatis

(1)mybatis是一款优秀的持久层框架,用于简化jdbc开发(2)mybatis本是Apache的一个开源项目iBatis,2010年这个项目由Apache software founddation 迁移到了Google code,并且改名为MyBatis.2013年11月迁移到GithubJavaee的三层架构:表现层,业务层,持久层框架是半成品软件,是可重复,通用,软件的基础代码模型jdb缺点:(1)硬编码:就是在注册驱 动和获取连接时的字符串发生变动时。

2022-10-31 21:18:55 851 3

原创 万字长文的CSS与JavaScript简易学习

/** 创建的是自定义对象 对象 对象!!!!!!!!!!* */var n1={age:19,alert(a+"和"+b+"都喜欢吃水果")}}

2022-10-26 17:32:02 1829 57

原创 HTML标签全解

定义属性(文本内容的字体,尺寸,颜色)大哥666

2022-10-16 21:57:29 659 4

原创 Linux静态库和动态库的实现

作者简介:大家好我是小唐同学(๑>؂

2022-10-06 14:58:50 1903 71

原创 Maven详讲

在企业创建私服的时候,项目需要依赖时,先到本地仓库,没有就到远程仓库进行查找,如果还没有就去中央仓库下载到远程仓库,在传输到本地仓库。一般由公司团队搭建的私有仓库(同步中央仓库,反应速度提升--中央仓库在国外)项目找依赖的时候是从本地仓库找依赖的,如果没有找到依赖会到中央仓库进行查找,(2)artifactid:定义当前Maven项目的名称(通常是模块名称)(2)提供了一套标准化的构建流程(编译,测试,打包,发布...)改成你在Maven下新建的文件夹路径(本地仓库)本地仓库-》远程仓库-》中央仓库。

2022-10-03 20:15:15 514 6

c语言职工信息管理系统课设

本资源是C语言课设职工信息管理系统的代码,适合刚刚上手c语言的小伙伴,主要是让同学们了解一下如何把C语言知识进行整合使用,并且给对于C语言课设无从下手的同学指引方向。

2022-06-14

空空如也

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

TA关注的人

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