自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Z字形变换 Java

Z字形变换 Java题目描述:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);

2021-11-30 21:00:14 387

原创 删除链表倒数第n个节点

删除链表倒数第n个节点解法一:直接遍历出链表长度L,然后删除第L-n+1个节点即可:class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dummy = new ListNode(0, head); int length = getLength(head); ListNode cur = dummy; for (int

2021-11-30 10:58:37 225

原创 三数之和Java

三数之和题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums = []输出:[]输入:nums = [0]输出:[]先记录下我这个菜鸡的代码:class Solution { public List

2021-11-29 15:37:26 320

转载 整数转罗马数字Java

整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V +

2021-11-26 18:13:25 385

原创 Docker基础

Docker基础Docker简介:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。一个完整的Docker有以下几个部分组成:DockerClient客户端Docker Daemon守护进程Docker Image镜像DockerContainer容器项目开发中遇到的问题:大型项目组件较多,运行环境也比较复杂,部署

2021-11-23 16:49:45 669

原创 统一网关Gateway

统一网关Gateway一、为什么需要网关:网关功能:身份认证和权限校验服务路由、负载均衡请求限流二、搭建网关服务搭建网关服务的步骤:1、创建新的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖<!--网关依赖--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cl

2021-11-23 11:55:35 1545

原创 http客户端Feign

Feign前言:在Spring框架中,我么可以使用RestTemplate进行微服务之间的远程调用,即一个微服务向另一个微服务发送http请求获取数据。它的代码是这样的:但是这样存在很大的问题:1、代码可读性差,编程体验不统一2、URL参数复杂,难以维护因此我们引入声明式的http客户端Feign来进行微服务之间的远程调用,他能帮我们优雅的实现http的请求和发送。定义和使用Feign客户端:1、引入依赖:<dependency> <groupId>or

2021-11-22 11:33:15 493

原创 Nacos集群搭建

Nacos集群搭建先看看官方给的集群搭建结构:企业生产一般这样其中包含3个nacos节点,然后一个负载均衡器去代理3个Nacos。这里负载均衡器可以使用nginx。由于个人学习使用,没有那么多主机,于是我们这样在单机上模拟搭建这样的结构:其中三个nacos节点的地址如下:节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150.18847基本步骤简述:1、

2021-11-19 15:25:19 529

原创 Nacos配置管理

Nacos配置管理一、微服务配置信息拉取1、引入Nacos客户端管理客户端依赖:<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>2、在服务实例中的resource目录下添加一个bootstrap.yml

2021-11-19 11:39:14 930

原创 Nacos基础

Nacos初识概述:Nacos是Alibaba的产品,现在属于SpringCloud的一个组件。Nacos是目前比较流行使用的微服务注册中心组件,相比Eureka功能更加丰富!需要了解微服务或者Eureka组件,可以点击下方链接:初始微服务Nacos分级模型:1、一级是服务,例如提供用户功能的userservice服务2、二级是集群,例如杭州机房集群、上海机房集群3、三级是实例,例如杭州集群中某一台部署了userservice服务的服务器如何设置Nacos实例的集群属性:修改配置文件(

2021-11-18 15:25:10 567

原创 Ribbon负载均衡

Ribbon负载均衡Ribbon简介:Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求

2021-11-17 15:32:09 400

原创 初识微服务

初识微服务1、微服务是一种经过良好架构设计的分布式架构方案,微服务架构具有以下特征:单一职责: 微服务拆分力度小,每一个服务都对应唯一的业务功能,做到单一职责,避免重复开发。面向服务: 微服务对外暴露业务接口自治: 团队独立、技术独立、数据独立、部署独立**隔离性强:**服务调用做好隔离、容错、降级、避免出现级联问题...

2021-11-16 18:01:16 129

原创 dataX读mysql数据存入hdfs参数解析

dataX读mysql数据存入hdfs参数解析reader参数配置信息:writer参数解析:另附读hdfs存入mysql参数配置:

2021-11-02 11:14:03 166

原创 Impala

ImpalaImpala概述:Impala是个实时的sql查询工具,类似于Hive的操作方式,但是执行效率极高,号称当下大数据生态圈中执行效率最高的sql类软件Impala工作底层执行依赖于hive,与hive共用一套元数据存储,在使用Impala的时候,必须保证hive服务是正常可靠的,至少metastore开启。Impala最大的跟hive不同点在于不再把sql编译成mr程序执行,而是编译成执行计划树Impala的sql语法几乎兼容hive的sql语句Impala优点:Impala不

2021-10-28 16:35:31 817

原创 Hive JSON数据处理

Hive JSON数据处理一、使用内置json解析函数1、方式一:使用JSON函数来处理函数1:get_json_object函数2:json_tuple二、方式二:JSONSerde加载数据概述:Hive中为了简化对Json文件的处理,内置了一种专门用于解析json文件的Serde解析器,在创建表时,只要指定使用JSONSerde解析表的文件,就会自动将JSON文件中的每一列进行解析。建表,加载json文件总结:...

2021-10-27 16:04:56 1057

原创 Hive行列转换

Hive行列转换1、多行转多列案例:sql实现:case when语法介绍

2021-10-27 12:01:55 157

原创 Hive中URL解析函数

Hive中URL解析函数1、parse_url函数功能:parse_url函数是Hive中提供的最基本的url解析函数,可以根据指定的参数,从url解析出对应的参数值进行返回,函数为普通的一对一函数类型。语法:代码示例:parse_url函数弊端:如果想要解析多个参数,需要使用多次函数2、parse_url_tuple函数可以实现同时解析多个参数3、Lateral View侧视图功能:单个lateral view使用:多个lateral view使用:Outer

2021-10-27 11:27:40 1710

原创 Hive多字节分隔符处理

Hive多字节分隔符处理.问题:当我们存放在表目录下的数据,其分隔符是多字节分隔符,例如:“||”,“–”等,或者数据的字段中也包含了分隔符。则Hive在解析数据文件时就会出现错误。解决方案1:替换分隔符使用MR程序提前将分隔符替换成单字节分隔符解决方案2:RegexSerDE正则加载.建表加载示例:解决方案3:自定义InputFormat类不推荐使用...

2021-10-26 20:37:19 405

原创 Hive抽样函数

Hive抽样函数概述:当数据量过大时,我们需要查找数据子集以加快数据处理速度分析。这就是抽样,采样,一种用于识别和分析数据中的子集的技术,以发现整个数据集中的模式和趋势。在HQL中,有三种方式采样数据:随机采样,存储桶表采样,块采样1、Random随机抽样随机抽样采用rand()函数来确保随机获得数据,LIMIT来限制抽取的数据个数。优点:随机 缺点:速度慢2、基于数据块抽样:Block块采样允许随机获取n行数据,百分比数据或指定大小的数据。采样粒度是HDFS块大小优点是速度快,缺

2021-10-26 17:32:36 1060

原创 Hive窗口函数

Hive窗口函数概述:窗口函数也叫开窗函数,OLAP函数,其最大特点是:输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。如果函数具有OVER子句,则它是窗口函数。窗口函数可以简单解释为类似于聚合函数的计算函数,但是通过GROUP BY子句组合的常规聚合会隐藏正在聚合的各个行,最终输出一行,窗口聚合函数后还可以访问当中各个行,并且可以将这些行中的某些属性添加到结果集中。窗口聚合函数执行结果:窗口表达式:窗口排序函数:代码示例:窗口排序函数——ntile窗

2021-10-26 11:41:25 83

原创 Hive内置函数及代码示例

Hive内置函数1、字符串函数select concat("angela","baby");--带分隔符字符串连接函数:concat_ws(separator, [string | array(string)]+)select concat_ws('.', 'www', array('itcast', 'cn'));--字符串截取函数:substr(str, pos[, len]) 或者 substring(str, pos[, len])select substr("angelababy",

2021-10-25 17:43:24 606

原创 Hive Views视图

Hive视图概念:Hive中视图是一种虚拟表,只存储定义不存储数据。通常从真实的物理表中创建生成视图,也可以从已经存在的视图上创建新视图。创建视图时,将会冻结视图的架构如果删除或者修改了基础表,视图将失效视图只是用来简化操作,不存储记录,也没有提高查询性能视图使用示例:使用视图好处:1、将真实表中特定的列数据以视图形式展示给用户,可以保护数据隐私2、降低查询语句的复杂度,简化查询语句物化视图(Hive3.0新特性,这里的物化是个形容词哦)物化视图语法:基于物化视图的查询重写加

2021-10-25 14:55:50 856

原创 Hive事务表的创建

Hive事务表的创建及使用开启事务配置:创建Hive事务表:事务表必须是桶表哦~事务表的局限性:

2021-10-25 14:16:53 1833

原创 Hive分桶表

Hive分桶表概述:分桶表也叫桶表,是一种用于优化查询而设计的表类型分桶表对应的数据文件在底层会被分解为若干个小部分在分桶时,要指定根据哪个字段将数据分为几桶(几个部分)分桶规则:分桶表的创建:分桶表数据的加载:分桶表优势:1、减少全表查询2、JOIN时可以提高效率,减少笛卡尔积数量3、提高抽样的效率...

2021-10-25 11:46:41 671

原创 Hive分区表

Hive分区表概述:当Hive表数据量过大,文件数过多时,为了避免查询时全表扫描数据,Hive支持根据指定的字段对表进行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段。比如把一整年的数据分成12个月(12个分区),后续就可以查询指定的分区的数据,尽可能避免全表扫描查询。Hive建表完整语法树:标红语句是创建分区表关键注意:分区字段不可以是表中已经存在的字段!!!因为分区字段最终也会以虚拟形式显示在表结构中!!分区表数据加载——静态分区静态分区指分区属性值是由用户加载数据时

2021-10-25 11:07:16 793

原创 HDFS块大小

HDFS块大小前言:HDFS文件在物理上是分块(Blokc)存储,块的大小可以使用配置参数dsf.blocksize来规定,默认Hadoop3.x 版本是128M块大小设置原则:寻址时间为传输时间的1%为最佳状态。因此我们需要根据磁盘传输速率来设置块的大小!块不能设置太小或者太大:1、HDFS的块设置太小,会产生太多块,导致元数据信息大量增加,从而使得寻址时间增加。2、块设置过大,从磁盘传输数据的时间会明显远大于定位这个块开始位置所需的时间,导致程序处理这段数据时,非常慢!!...

2021-10-22 11:53:33 724

原创 HDFS读写数据流程

HDFS读写数据流程一、写数据流程1、client 向NameNode请求上传文件2、NameNode检查client是否拥有上穿文件的权限,同时检查目录是否正确,文件是否已经存在。3、NameNode向client相应可以上传文件。4、clint请求上传第一个Block(0-128M),请求返回DataNode5、NameNode返回三个DataNode节点给clint(有些返回本地节点)6、client通过就近原则,以及考虑负载均衡,选择其中一个DataNode节点,请求建立Block传输

2021-10-22 11:35:58 150

原创 Hadoop组成

Hadoop组成一、HDFS是一个分布式文件系统HDFS架构概述:1、NameNode(nn):用来存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等2、DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和3、Secondary NameNode(2nn):每隔一段时间对NameNode元数据进行备份。二、YARN架构概述:1、ResourceManager(RM):整个集群资源(内

2021-10-21 18:30:55 84

原创 Metastore配置方式

Metastore配置方式概述:内嵌模式:本地模式:远程模式:

2021-10-21 11:45:22 120

原创 Structured Streaming输出模式

Structured Streaming输出模式前言:Structured Streaming的数据抽象是DataSet和DataFrame,这两种数据流的输出,需要调用writeStream方法。以下是一个示例:import org.apache.spark.SparkContextimport org.apache.spark.sql.{DataFrame, Dataset, SparkSession}object StructuredFromSocket { def main(arg

2021-10-20 15:39:29 387

原创 Structured Streaming获取Socket数据源

Structured Streaming获取Socket数据源前言:由于Structured Streaming是基于SparkSQL,且数据抽象是DataSet,DataFrame,因此创建SparkSession即可代码:import org.apache.spark.SparkContextimport org.apache.spark.sql.{DataFrame, Dataset, SparkSession}object StructuredFromSocket { def ma

2021-10-20 15:16:24 170

原创 Structured Streaming编程模型

Structured Streaming编程模型编程模型:无界表/动态表格数据抽象:DataFrame/DataSetStructured Streaming编程模型逻辑上就是一个不断增长的动态表格,因此方便使用简单的sql操作

2021-10-20 11:19:45 102

原创 Structured Streaming介绍

Structured Streaming介绍介绍前,先说说Spark Streaming的不足Spark Streaming不足总结下就是这几点Structured Streaming介绍

2021-10-20 11:11:29 62

原创 SparkSQL自定义UDF函数

SparkSQL自定义UDF函数概念import org.apache.spark.sql.SparkSessionobject Udf { def main(args: Array[String]): Unit = { //准备环境 var session:SparkSession=SparkSession.builder().master("local[*]").appName("xiaobai").getOrCreate() var sc=session.spark

2021-10-20 10:57:31 226

原创 SparkSQL查询

SparkSQL查询两种查询方式:代码:import org.apache.spark.rdd.RDDimport org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType}import org.apache.spark.sql.{DataFrame, Row, SparkSession}object Demo_SparkSession { //花式查询 def main(args: Arr

2021-10-20 10:14:59 1269

原创 RDD转化成DataFrame

RDD转化成DataFrame这里使用自定义Schema的方式将RDD转换成DaraFrame核心:使用createDataFrame()方法,传入RDD[Row]和StructType对象,创建一个DataFrameimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType}import org.apache.spark.sq

2021-10-19 20:03:16 843

原创 DataFrame和DataSet

DataFrame和DataSet概念:DataFrame和DataSet是SparkSQL的数据抽象,底层是RDD。存储形式:DataFrame(没有泛型是为了兼容Python):DataFrame = RDD - 泛型 + 字段 + SQL操作 + 优化本质上DataFrame就是在RDD上进一步封装,增加了SQL操作。RDD是分布式集合,而DataFrame就是一个分布式表!!DataSetDataSet = DataFrame +泛型相比于DataFrame ,DataSet由

2021-10-19 16:51:39 804

原创 Spark手动提交偏移量

Spark手动提交偏移量//strem是读取的数据流,可以是kafka数据stream.foreachRDD( { rdd => //对rdd的操作 rdd.flatMap(s => { var s1 = s.value().replace(",", "") var s2 = s1.replace(".", "") var s3 = s2.replace("?", "")

2021-10-19 16:05:42 301

原创 Spark窗口计算

Spark窗口计算依然使用wordcount的demo,这次不使用reduceByKey,而是reduceByKeyAndWindow。在reduceByKey的基础上,增加对窗口的限制。代码import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.streaming.{Seconds, StreamingContext}object win { def main(args: Array[String])

2021-10-19 15:06:23 228

原创 Spark共享变量

Spark共享变量概念:使用示范:演示案例:统计文本中每个单词出现次数,以及特殊字符的总数。import org.apache.spark.{SparkConf, SparkContext}import org.sparkproject.jetty.util.StringUtilobject ShareVariable { def main(args: Array[String]): Unit = { var conf = new SparkConf().setMaster("

2021-10-19 11:57:09 78

员工管理系统.zip(springBoot)

已将整个项目整合成jar包,适合初学者使用,打开Idea,在Idea输入命令行启动,可直接运行。如需要源代码,解压jar包即可。内含说明

2021-05-13

空空如也

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

TA关注的人

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