自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CentOS7安装与克隆

CentOS7安装与克隆CentOS7安装与克隆一、新建虚拟机及其配置二、配置虚拟网络编辑器三、安装CentOS 7四、一些工具的安装五、虚拟机克隆六、虚拟机克隆后的配置七、配置ssh免密登陆八、批处理脚本与集群分发脚本1、将家目录配置进环境变量2、批处理脚本3、集群分发脚本CentOS7安装与克隆搭建大数据集群时经常需要安装和克隆虚拟机,然后安装一些固定的工具,这里记录一下,在安装mini版的CentOS7后,将常用的一些东西和插件都汇总到这篇博客,方便后面新建虚拟机。一、新建虚拟机及其配置1、打

2022-04-23 22:09:06 4891

原创 JVM学习笔记

JVM学习笔记Java虚拟机运行时数据区1、为什么要学习Java虚拟机?2、程序计数器是什么?3、java虚拟机栈是什么?4、栈帧的内部结构5、栈执行过程举例①方法中的参数args存入本地变量表②将操作数500放入操作数栈中③然后存储到局部变量表中,后面的y和b也是如此④将本地变量表中变量1和变量2取出放入操作数栈,再进行除法运算,将运算结果存入本地变量表中⑤然后就是输出流,需要调用运行时常量池的常量⑥最后调用invokevirtual(虚方法调用)创建System.out.println方法的栈帧,将操作

2021-03-25 20:14:16 265 5

原创 排序算法简述

排序算法一、冒泡排序1.1 冒泡排序简介1.2 算法执行步骤与图解1.3 java程序实现二、选择排序2.1 选择排序简介2.2 算法执行步骤与图解2.3 java程序实现三、插入排序3.1 插入排序简介3.2 算法执行步骤与图解3.3 java程序实现四、希尔排序4.1 希尔排序简介4.2 算法执行步骤4.3 java程序实现五、归并排序5.1 归并排序简介5.2 算法步骤与图解5.3 java程序实现六、快速排序6.1 快排简介6.2 算法步骤与图解6.3 java程序实现七、堆排序7.1 堆排序简介7

2021-01-22 22:05:53 394 2

原创 构造中小型园区网实训案例

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇

2021-01-08 23:36:23 7957

原创 详解MySQL事务(超详细)

事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开始以前的状态;如果单元中的所有SQL语句均执行成功,则事物被顺利执行。 即开始事务后执行的所有SQL都是一个整体,一个单元,要么都执行,要么都不执行。这里不执行的意思就row back即回滚,就是回到事务执行前的状态。1、查看存储引擎在mysql中,...

2020-10-30 14:13:08 2570 3

原创 Hive Code2报错排查

大多数可能的code2报错一般是内存不够,所以加下面这个配置可以有效解决这个问题#取消小表加载至内存中但这个不一定是因为内存不够,其实很多错误都是报这种官方错误的,所以一定要去yarn上看日志。很多人看日志也找不到问题,因为并没有看到全部日志,翻到最底下,点击check here 才能看到完整日志。

2023-06-08 14:54:07 2580 1

原创 jar包或.class文件反编译

执行情况:结果:如果报错,说明编译java使用的jre版本比较高,需要安装这个版本的jre来执行编译命令class file version 与jre版本对应关系。

2023-05-31 19:34:14 2224

原创 hiveSql调优

| 前是map阶段执行,后的reduce阶段执行1、执行 from,进行表的查找与加载,注意要join的表也要加载进来(MapJoin除外);2、执行 where,sql 语句中 left join 写在 where 之前的,但是实际执行先执行 where 操作,因为 Hive 会对语句进行优化,如果符合谓词下推规则,将进行谓词下推;3、如果join的是小表,可以执行 Map join 操作,按照 key 进行表的关联;4、执行输出列的操作,

2023-05-25 17:08:38 1634

原创 Linux下Nginx安装使用

为了编译Nginx源码,我们需要标准的GCC编译器(GNU Compiler Collection,自由的类UNIX及Mac OS X操作系统的标准编译器),另外,我们需要通过Automake工具,完成自动创建Makefile的工作,除此以外,Nginx的一些模块还需要依赖其他第三方库,通常有pcre库(支持rewrite模块)、zlib库(支持gzip模块)和openssl库(支持ssl模块)。Nginx 的 TCP/UDP 负载均衡在连接分配时也支持被动健康检测模式,如果与后端服务器建立连接失败,并。

2023-03-08 18:21:12 608

转载 NGINX ./configure详解

在"./configure"配置中,“–with"表示启用模块,也就是说这些模块在编译时不会自动构建”–without"表示禁用模块,也就是说这些模块在编译时会自动构建,若你想Nginx轻量级运行,可以去除一些不必要的模块。

2023-03-08 15:00:03 615

原创 redis安装和使用

Redis一、Redis简介1、redis是什么Redis全名REmote DIctionary Server 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(

2022-01-22 19:02:28 206

原创 SuperSet安装和使用

1、SuperSet概述Apache Superset 是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。2、安装SuperSet①python环境安装Superset 是由 Python 语言编写的 Web 应用,要求 Python3.7 的环境。而CentOS系统自带python版本是2.7.5,不满足SuperSet的要求。而如果升级系统Python环境会影响系统本身一些以来python环

2021-12-07 19:43:12 696

原创 Hive知识点汇总

Hive面试复习HIVE一、数据倾斜优化或避免1、数据倾斜产生的原因:2、数据倾斜的表现3、各场景hive优化方案3.1map端处理的小文件过多3.2map端数据量大,需要扩充map的数量或reduce的数量3.3大小表join3.4大表与大表join3.5避免用作join的字段数据类型一定要相同二、HIVE分区与分桶1、什么是分区2、什么是分桶3、为什么要进行分桶三、内部表与外部表四、Hive 的函数:UDF、UDAF、UDTF 的区别1、区别2、UDTF函数①对array类型数据②对map类型的数据③对

2021-09-18 11:27:42 1512 1

原创 Spark SQL概述

一、简介1、什么是Spark SQL简单来说,Spark SQL 是 Spark 用于结构化数据(structured data)处理的 Spark 模块。设计初称为shark,是为了改变hive底层计算引擎,使hive处理数据更快,但过于依赖hive。spark是线程级并行而hive原始计算引擎是进程级并行,所以spark与hive的兼容存在线程安全问题。Spark SQL汲取了shark的一些优点,重新开发了SparkSQL代码,摆脱了对Hive的依赖性,使得只是兼容 Hive,而Hive on

2021-07-20 16:41:25 274

原创 ArrayDeque底层实现

一、什么是ArrayDeque1、Deque与Queue了解这个之前,我们要先知道什么是Deque,它和Queue有什么区别:在java中,Queue被定义成单端队列使用,Deque被定义成双端队列 即Queue可以访问两端但是只能修改队头,而Deque可以访问两端并且可以在队首和队尾删除和插入元素。基于Deque的特性,ArrayDeque即可以作为Queue来使用也可以作为栈来使用,而且可以决定队列那边受限或者栈哪边进出。2、ArrayDeque的构造器public ArrayDeque()

2021-07-06 22:42:01 846 3

原创 LinkedList底层实现

一、什么是LinkedListpublic class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable根据源码我们可以看出:①LinkedList继承了AbstractSequentialList,即按次序的List,也就是说不像ArrayList一样具有随机访问元

2021-07-05 17:46:09 537

原创 ArrayList底层实现

什么是ArrayListArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableArrayList 继承了 AbstractList ,并实现了 List 接口

2021-06-20 20:04:12 684

原创 软件工程复习

第一章:课程概述1.1 软件危机1.1.1 计算机软件的四个发展阶段程序设计阶段、程序系统阶段、软件工程阶段、面向对象阶段1.1.2 软件危机(考点)软件危机是指在计算机软件的开发和维护过程种所遇到的一系列严重问题。1.1.3 软件危机需要解决的两个问题①如何快速地开发软件,满足对软件日益增长地需求②如何维护数量不断膨胀地已有软件1.1.4 软件危机的具体表现对软件开发成本和进度的估计不准确;质量不可靠;不可维护;没有适当的文档资料;软件成本在计算机系统总成本中所占的比例逐年上

2021-06-17 20:57:11 13292 2

原创 Spark RDD序列化与血缘关系

RDD序列化从计算的角度, 算子以外的代码都是在 Driver 端执行, 算子里面的代码都是在 Executor端执行。所以需要涉及到网络传输,且如果计算中涉及到算子以外的数据那么就要求这个数据进行序列化,因为没有序列化就代表无法进行网络传输也就无法将值传到其它Excutor端执行,就会发生错误。(1)闭包检查在scala的函数式编程中,函数内经常会用到函数外变量,这样就会形成闭包效果,因此,在分布式系统中,就会存在对象需要在Driver和Executor间传递,那么就需要传递的对象被序列化,因此在计

2021-06-15 11:41:49 1208 1

原创 SparkRDD——行动算子

一、行动算子定义spark的算子可以分为trans action算子 以及 action算子 ,即变换/转换 算子。如果执行一个RDD算子并不触发作业的提交,仅仅只是记录作业中间处理过程,那么这就是trans action算子 ,相反如果执行这个 RDD 时会触发 Spark Context 提交 Job 作业,那么它就是 action算子及行动算子。总结来说就是在Spark中,转换算子并不会马上进行运算的,即所谓的“惰性运算”,而是在遇到行动算子时才会执行相应的语句的,触发Spark的任务调度并开始进

2021-06-10 17:43:46 3199

原创 SparkRDD——转换算子

转换算子一、单value型转换算子(只使用1个RDD):1、map 将数据进行转换,数据量不会增加和减少2、mapPartitions 以分区为单位将一个分区内的数据进行批处理操作,且可以执行过滤操作3、mapPartitionsWithIndex 功能类似mapPartiutions算子,只是加入了每个分区的索引,可以选择性的对某些分区进行操作4、flatMap 扁平化操作,即将集合嵌套类型的数

2021-05-19 16:48:31 2813 5

原创 SparkRDD之——RDD概述

1、什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据处理模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。 ①弹性:⚫存储的弹性:内存与磁盘的自动切换,Spark优先把数据放到内存中,如果内存放不下,就会放到磁盘里面,程序进行自动的存储切换。⚫容错的弹性:数据丢失可以自动恢复,在RDD进行转换和动作的时候,会形成RDD的Lineage依赖链即血统,当某一个RDD失效的时候

2021-05-18 19:19:42 1259 2

原创 CentOS7删除MySQL

CentOS7删除MySQL1、查看安装过的mysql的rpm包[root@hadoop100 ~]#rpm -qa | grep -i mysql[root@hadoop100 ~]# rpm -qa | grep -i mysql;mysql80-community-release-el7-1.noarchmysql-community-client-8.0.11-1.el7.x86_64mysql-community-libs-8.0.11-1.el7.x86_64mysql-commu

2021-05-13 10:49:42 103

原创 Java多线程笔记

Java多线程一、如何创建一个java多线程程序?1、创建一个多线程程序的方法2、各方法简单实现①继承Thread类②实现Runnable接口③实现Callable接口3、Thread、Runnable以及Callable的比较①Thread的局限性②Runnable的优点以及局限性二、多线程控制1.引入库2.读入数据总结一、如何创建一个java多线程程序?1、创建一个多线程程序的方法①继承Thread类(将任务和线程合并,也就是说一个线程一个任务,白话一点就是线程之间没有纽带关联,即没有共享资源

2021-04-10 23:42:59 390 2

原创 Spark集群运行环境搭建

Spark集群运行环境搭建文章目录Spark集群运行环境搭建一、standalone模式1.1 解压与配置文件修改1.1.1 解压1.1.2 修改配置文件1.1.3 文件分发1.2 集群启动与应用提交1.2.1 启动集群1.2.2 查看 Master 资源监控 Web UI 界面1.2.3 提交应用1.3 配置历史服务1.3.1 配置文件修改1.3.2 重新启动并重新执行测试任务1.3.3 查看历史服务1.4 配置高可用二、使用步骤1.引入库2.读入数据总结集群模式1、standalone -&gt

2021-03-17 20:16:26 205

原创 Spark本地模式运行环境搭建

Spark运行环境搭建文章目录Spark运行环境搭建前言一、本地模式1.1基于IDEA和Maven的Spark开发环境搭建1.1.1 IDEA中增加Scala插件1.1.2 配置全局的Scala SDK1.1.3 添加Spark依赖关系1.1.4 wordCount测试案例1.1.5 将程序打成jar包1.2 Spark Local 环境搭建和测试二、使用步骤1.引入库2.读入数据总结前言Spark程序有四种运行环境,分别如下:本地模式​1、local -> 主要用于开发(IDEA中运行)

2021-03-12 19:46:02 2286

原创 Scala学习笔记——List

Scala学习笔记——List文章目录Scala学习笔记——List前言一、创建列表1、创建空链表2、创建链表二、连接两个链表三、列表的属性四、列表常用方法1、翻转链表2、获取list指定位置的值以及给列表添加元素3、去除list元素4、列表排序五、列表的遍历前言Scala 列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变一、创建列表1、创建空链表var nil: Nil.type = Nilvar nil2: List[Nothing

2021-03-04 17:41:54 707 1

原创 Scala学习笔记——方法与函数

Scala学习笔记——方法与函数文章目录Scala学习笔记——方法与函数一、scala方法二、scala函数三、传值调用与传名调用四、可变长参数与默认参数1、可变长参数2、默认参数3、例子五、闭包一、scala方法Scala 中的方法跟 Java 的类似,方法是组成类的一部分。方法声明:Scala 方法声明格式如下:def functionName ([参数列表]) : [return type] = {}如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract),包含它的

2021-03-04 16:59:56 237 1

原创 Scala学习笔记——字符串与数组

Scala学习笔记——字符串与数组文章目录Scala学习笔记——字符串与数组一、字符串1、字符串的拼接与格式化2、字符串的常用方法二、数组1、声明数组的语法格式2、数组的创建与遍历3、多维数组的创建与遍历一、字符串在 Scala 中,String 是一个不可变的对象,所以该对象不可被修改。这就意味着你如果修改字符串就会产生一个新的字符串对象。1、字符串的拼接与格式化def main(args: Array[String]): Unit = { var str: String = "tyh"

2021-03-04 16:38:03 731 2

原创 Scala学习笔记——控制结构

Scala学习笔记——控制结构文章目录Scala学习笔记——控制结构一、if_else语句二、for循环三、while循环一、if_else语句与java一模一样def main(args: Array[String]): Unit = { var age: Int = 35 if (age < 10) { println("这个人是小孩") } else if (age < 20) { println("这个人是少年") } else if (age < 3

2021-03-04 16:05:36 84 1

原创 Scala学习笔记——scala数据类型

Scala学习笔记——scala数据类型文章目录Scala学习笔记——scala数据类型一、Hello World二、数据类型与变量的定义1、数据类型2、变量的定义三、打印数据到控制台四、类型转换1、隐式转换2、强制类型转换五、scala运算符1、算数运算符2、关系运算符3、逻辑运算符4、位运算符一、Hello World老规矩,学新语言先写hello worldobject HelloWorld { def main(args: Array[String]): Unit = {

2021-03-04 15:56:27 190 2

原创 计算机网络复习笔记

第一章:概述1.1互联网的组成:1.1.1边缘部分: 有所有连接在因特网上的主机组成。这部分由用户直接使用,用来进行通信和资源共享。1.1.2核心部分 :由大量的网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。1.2协议与服务:① 协议的定义:协议是控制两个或多个对等实体进行通信的规则的集合② 协议与服务的区别:在协议的控制下,两个对等实体间进行通信使得本层能够向上一层提供服务,但要实现本层协议还需要下一层所提供的服务。所以协议是水平的(即协议是对等实体通

2021-01-11 15:13:17 1450

原创 rip协议实验

1、rip介绍RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了。2、实验拓扑结构3、实验目的通过对路由器配置rip

2021-01-06 12:17:00 1078

原创 kafka工具——Eagle2.0.0安装教程

1、解压Eagle

2020-11-29 19:22:47 1469 1

原创 Kafka自定义拦截器

Producer 拦截器(interceptor)是在 Kafka 0.10 版本被引入的,主要用于实现 clients 端的定制化控制逻辑。对于 producer 而言,interceptor 使得用户在消息发送前以及 producer 回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer 允许用户指定多个 interceptor 按序作用于同一条消息从而形成一个拦截链(interceptor chain)。Intercetpor 的实现接口是org.apache.kafka.c

2020-11-29 11:20:19 143

原创 KafkaAPI之消费者Consumer

1、最简单消费者package tyh.consumer;import org.apache.kafka.clients.consumer.ConsumerConfig;import org.apache.kafka.clients.consumer.ConsumerRecord;import org.apache.kafka.clients.consumer.ConsumerRecords;import org.apache.kafka.clients.consumer.KafkaCons

2020-11-29 09:39:24 506

原创 kafka API之生产者Producer

写kafka生产者前先通过命令行创建topic主题和开启消费者:①创建topic:bin/kafka-topics.sh --zookeeper hadoop100:2181 --create --replication-factor 1 --partitions 2 --topic first②开启消费者:bin/kafka-console-consumer.sh --zookeeper hadoop100:2181 --topic first一、最简单的生产者代码:pac.

2020-11-25 16:22:07 603

原创 LL(1)文法的语法分析java实现

java代码如下:package 文法分析器;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.*;/* *(1)产生式集合 *(2)first和follower集合 **/public class Grammar_Analysis { //first集合 public static Hash.

2020-11-21 16:01:42 2741 4

原创 kafka生产者与消费者详细架构

参考链接:https://blog.csdn.net/LeoHan163/article/details/105902707https://developer.aliyun.com/article/7636021、生产者工作流程在生产者将消息发送出去之前,需要经历拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)等一系列的作用,随后才真正进入发送消息发送流程。整个生产者客户端由两个线程协调运行,这两个线程分别为主线程和Sender线程

2020-11-15 11:12:25 1036

原创 kafka命令行常用命令详解

(1)查看当前服务器中的所有 topic bin/kafka-topics.sh --zookeeper hadoop100:2181 --list目前没有主题,所以没有输出,下面我们创建一个主题(2)创建通topicbin/kafka-topics.sh --zookeeper hadoop100:2181 --create --replication-factor 1 --partitions 2 --topic first选项说明: --topic 定义 topic .

2020-11-14 15:24:27 541

构造中小型园区网实训案例

网络拓扑以及实训案例任务书

2021-01-08

空空如也

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

TA关注的人

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