- 博客(34)
- 收藏
- 关注
原创 hive---Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
一、报错Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient输入 hive -servermeta &再启动hive即可
2021-11-08 18:30:14
1096
原创 Spark Streaming------window算子
一、window简介Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落在窗口内的RDD的数据,会被聚合起来执行计算操作,然后生成的RDD,会作为window DStream的一个RDD。(每个滑动窗口操作,都应该指定两个参数,窗口长度以及滑动间隔)二、案例package com.sparkstreamingimport org.apache.spark.SparkConfimport org.apache.spark.streami
2021-11-04 21:57:37
377
原创 Redis持久化机制
一、RDB持久化RDB方式的持久化是通过快照完成的,当符合一定条件(在redis.conf配置文件设置的例如save 900 1)时Redis会自动将内存中的数据进行快照并持久化到磁盘。(除了可以通过满足配置文件中的条件时进行持久化到dump.rdb文件中外,也可以自己在redis客户端中输入save主动持久化到redis.rdb文件中)二、AOF持久化AOF(append only file),保存的是客户端的写操作,默认是不开启的,可以自己去配置文件中开启(将appenonly设置成yes),当
2021-11-02 22:18:14
175
原创 布隆过滤器
一、布隆过滤器1.作用布隆过滤器是一个二进制向量数据结构,是用来检查一个元素是否在一个集合中,它可以确定一个元素一定不在一个集合中,但是不能确定一个元素是否一定在某个集合中。2.原理布隆过滤器内部维护的是一个默认大小为64kb的位数组和n个哈希函数。位数组初始化的时候存储的都是0,如果一个集合通过布隆过滤器来记录元素,那么就会用元素调用n个哈希函数,获取n个hash值,然后根据hash值来修改布隆过滤器位数组对应下标上的元素为1,也就是每个元素在位数组上都对应着n个1。当要判断一个元素是否在一个集合
2021-11-01 22:09:35
318
原创 Hbase的读写流程
一、写流程(1) Client通过Zookeeper的调度,向RegionServer发出写数据请求,在Region中写数据。(2) 数据被写入Region的MemStore,直到MemStore达到预设阈值。(3) MemStore中的数据被Flush成一个StoreFile。(4) 随着StoreFile文件的数量增多,会达到数量阈值,然后触发Compact合并操作,将多个StoreFile合并成一个StoreFile,同时进行版本合并和数据删除。(5) StoreFiles在不断的Compa
2021-10-31 19:05:10
874
1
原创 Hbase的寻址机制
Hbase的寻址机制 客户端访问Hbase,进行读取表中数据或者向表中写入数据时,会进行寻址操作,然而Hbase的逻辑存储单元是region,所以Hbase的寻址操作就是寻找指定表的的region。 大致流程如下: 如果客户端发送了一个查询语句:get 'mydb:student','0002'; (1)第一步,会先访问zookeeper,来获取meta表的位置 (2)第二步,访问meta表,在其中找到mydb:student表对应的region名称和位置信息 (3)第三步,通过region的名
2021-10-31 18:58:50
1767
原创 Kafka之segment文件以及index文件解读
一、Kafka分区文件存储方式Kafka将一个分区的文件是按照片段来存储的,一个片段的默认大小为1GB,可以在server.properties配置文件中修改片段大小,并且同时维护了index索引文件。二、segment文件解读使用命令查看segment文件00000000000000000000.logkafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.log --print-data-log文
2021-10-29 21:48:07
4478
1
原创 Spark数据倾斜的理解及其解决方案
1.什么是数据倾斜以及数据倾斜的产生原因举一个简单的例子来理解数据倾斜,例如使用reduceByKey算子进行分区时,假如调用该算子的rdd中内的数据为 字符串"a",“b”,“c”,“d”,“a”,“a”,“a”,“a”,“a”,“a”,“a”,“a”,“a”,“a”,“a”,“a”,假设分区数为3。由于默认分区器是hashpartitioner,那么a的ASCII对3取模为1,则在1分区,b在2分区,c在0分区,d在1分区。由此可见1分区的数据比其他数据都多得多,这就是数据倾斜。2.数据倾斜的解决方
2021-10-28 22:02:39
237
原创 Kafka----主题的创建以及消息的生产与消费
一、使用kafka-topics.sh脚本来对主题进行CRUD操作1.使用该脚本时常用的参数如下–create 创建主题时使用–topic 用于指定主题–partitions 指定主题的分区数量–replication-factor 指定副本的数量(注意:副本数量不可以大于broker数量)–zookeeper 指定zookeeper的ip以及端口号2.创建主题kafka-topics.sh \--create \--topic pe
2021-10-28 21:25:59
1455
原创 Spark-----连接Mysql
Spark-----连接Mysqlpackage spark.day03import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}import java.util.Propertiesobject _03TestMysql { def main(args: Array[String]): Unit = { write read } def write: Unit = { val spar
2021-10-27 22:16:48
701
原创 Spark------Idea连接Hive
Spark------Idea连接Hivepackage spark.day03import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}object _04TestHive { def main(args: Array[String]): Unit = { System.setProperty("HADOOP_USER_NAME", "root") write read } def writ
2021-10-27 22:15:09
238
原创 Spark------UDF案例
Spark------UDF案例package spark.day03import org.apache.spark.sql.{DataFrame, SparkSession}object _05TestUDF2 { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder() .master("local[*]") .appName("udf")
2021-10-27 22:14:13
155
原创 Spark-----UDAF案例
Spark-----UDAF案例package spark.day03import org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction}import org.apache.spark.sql.types.{DataType, DoubleType, LongType, StructField, StructType}import org.apache.spark.sql.{
2021-10-27 22:12:29
140
原创 Spark数据倾斜处理之添加前缀
数据倾斜处理之添加前缀package spark.day03import org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}object _07TestDataSkew { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder() .master("l
2021-10-27 22:11:14
405
原创 MapReduce简介
MapReduce1.优点适合离线数据处理mapreduce编程简单扩展性良好高容错性2.缺点不适合实时计算(实时计算:毫秒级别/秒级别,离线计算:秒级别以上)不适合流式计算(mapreduce处理的数据是静态的,不是流式的数据)不适合DAG(有向图)计算3.核心思想(1)简单的一句话概括:“移动计算而非移动数据”。(2)程序员将自己写好的业务逻辑代码和mr自带的一些组件打包成计算程序,移动到有数据存储的节点上,这样可以利用多节点的cpu的并发能力,提高计算效率(怎么提高的?一减少数
2021-08-30 21:52:08
922
原创 Centos中yum的操作说明
Centos中yum的操作说明(1)查询操作yum list ----查询所有可用软件包列表yum search 关键字 -----搜索服务器上所有和关键字相关的包yum info 关键字 --------来查找包名(2)安装操作yum -y install 包名 -------(可以加上-y,则不需要再回复yes)(3)升级操作yum -y update 包名 (务必加上包名,不然会升级所有的包,可以使用yum check-update检查升级)
2021-08-26 09:04:54
129
原创 Linux查看文件内容的五个命令
Linux查看文件内容的五个命令1.cat(直接一次把文件所有内容显示出来)cat -A ------显示包括隐藏字符在内的所有字符cat -n -------显示的内容带有行号2.more(分页显示文件的内容)more 文件名使用空格进行翻页,使用enter显示下一行3.less与more类似,不过less可以通过键盘上的上下键进行控制4.head(查看文件前几行)head -n5.tail(查看文件后几行)tail -n...
2021-08-25 08:45:47
775
原创 linux与unix的区别
linux与unix的区别1.Linux诞生时间晚于Unix。2.Linux是免费的,然而Unix是收费的。3.Linux是开源的,Unix是不开源的。4.Linux与Unix都适合用于服务器。5.Unix的使用情况处于劣势,而Linux的使用更广。(总结:Linux具有开源、多用户、丰富的网络功能,可靠的系统安全、良好的可移植性的、标准的兼容性等特点)...
2021-08-25 08:27:31
444
原创 java中get与post的区别
java中get与post的区别get:(1)安全性:低(2)效率:高(3)数据的大小:小数据(4)数据存放的位置:请求行(5)服务器处理的方法:queryString接收数据post:(1)安全性:高(2)效率:低(3)数据的大小:大数据(4)数据存放的位置:请求体(5)服务器处理的方法:query.form...
2021-08-23 10:38:38
111
原创 java某些常用注解作用及注意点
java某些常用注解作用及注意点(1)Controller作用:被它标记的类的对象会被作为控制器(2)RestController作用:被它标记的类的对象会被作为控制器实现restful风格的数据处理—数据转化(3)@Autowired 会自动的生成对象,要与注解配合使用,如:@Service(4)RequestParam后面()中的value的值与当前的参数变量名字一致,defaultValue是当前的参数没有拿到值时的默认值...
2021-08-23 08:56:02
180
原创 Mysql中保证数据完整性的约束
Mysql中保证数据完整性的部分约束(1)主键:唯一且不能为空(2)唯一约束(unique)特点:数据不能重复,不包括null(3)自动增长列–auto_increment (注意:sqlserver数据库使用identity,oracle数据库使用 sequence)特点:默认从最大值开始+1操作给主键添加自动增长的数值,列只能是整数类型...
2021-08-17 19:12:29
93
原创 Mysql的sql语言的基本知识
Mysql的sql语言的基本知识基本查询 select * from 表条件查询 where模糊查询 like _ %条件控制字段Ifnull(x,1)去重 distinct聚合函数Count—不包括空Max—可以是数字—也可以是字符串(字典排序)MinSum—智能是数字Avg分组Group byHaving----可以使用聚合函数Order by升序—默认 asc降序—descLimit 限制查询执行顺序From where group by having
2021-08-17 10:51:29
75
原创 Java序列化与逆序列化
Java序列化与逆序列化逆序列化时,序列化的类必须存在逆序列化时,修改类,ID会改变,所以需手动指定ID进行序列化的对象与逆序列化得到的对象是两个对象父类实现了Serializable,子类就已经实现。...
2021-08-10 08:24:06
126
原创 Java---Synchronized后括号添加锁
Synchronized后括号添加锁锁的条件:1.被所有线程共享2.必须是对象锁的具体形式:1.this 2.普通对象3…class文件对象锁不能使用匿名对象一般不使用.class文件对象,因为字节码文件对象的范围太大了,可能多个无关的代码块之间相互影响this-―-只要不是静态环境,就可以使用....
2021-08-07 17:05:52
130
原创 Java中HashMap与Hashtable的区别
Java中HashMap与Hashtable的区别1.HashMap是线程不安全的集合,Hashtable是线程安全的集合。2.HashMap允许出现null键值, Hashtable是不允许的。3.HashMap的父类是AbstractMap,Hashtable的父类是Dictionary。4.HashMap是Map接口的新的实现类,底层算法效率优于Hashtable。(注意:不仅仅只有TreeMap可以排序,HashMap大量数据时也会排序)...
2021-08-03 22:05:03
65
原创 Java集合中List与Set的区别
Java集合中List与Set的区别List:有序,元素可重复Set:无序,元素不可重复有序是指元素的添加顺序与存储顺序一致,无序是指元素的添加顺序与存储顺序不一致。(Set的元素存储的顺序会固定,并不会每执行一次代码就打印出来的元素顺序不同)...
2021-08-02 17:55:02
146
原创 java部分集合类特点
java部分集合类特点一、集合类与迭代器(1)ArrrayList特点:实现了List接口(2)List特点存储的数据是有序的,可以重复的(有序:怎么存怎么取)(3)Set特点:数据是无序的,不可以重复.(4)ArrayList:底层是数组,线程不安全的.(5)遍历时增强for循环内置迭代器干活(6)使用迭代器遍历一遍集合后,指针位置在最右端,如需再次遍历该集合则需重新定义一个迭代器进行遍历,或者使用ListIterator(7)在使用迭代器遍历的时候如果想要删除元素,则需要使用迭代器自带
2021-07-31 14:08:58
115
原创 java的lambda表达式与异常
java的lambda表达式与异常1. 使用lambda表达式计划匿名内部类(1) 匿名内部类对应的父类位置必须是接口(2) 接口中有且只能有一个抽象方法(3) 解释:其实lambda表达式的语法对应的就是这个抽象方法(4) 默认结构:(抽象方法的参数)->{抽象方法对应实现的方法体}(5)(6) 方法体中只有一句时2.异常(1) 尽量在调用可能发生异常的方法处进行异常的处理.(2) 多异常处理-―Exception一定要放在所有异常的最后(3) finally适合做工作的收尾
2021-07-29 18:41:31
751
原创 java匿名内部类简介以及Object类拥有的方法
1.Object类(1) clone()克隆(2) finalize()对当前对象的内存进行回收(垃圾回收)(3) equals()经常重写(4) hashcode()经常重写(5) getclass()获取当前对象的字节码文件对象(6) toString()经常重写2. 匿名内部类new object()一定不是匿名内部类–因为object没有父类3.内部类:有静态方法的内部类一定是静态内部类,静态内部类不一定有静态方法4.局部内部类:通过局部内部类实现了功能的私有化,并对方法内部的
2021-07-27 22:17:30
68
原创 Java8接口新特性与内部类
Java8接口新特性与内部类(1)Java8接口新特性:static修饰方法:实现类不能重写,只能由当前的接口名调用,不能使用接口引用和实现类default修饰方法:实现类可以重写也可以不重写(2)内部类:成员内部类:Outer outer = new Outer(); Inner inner = outer.new Inner(); Inner inner1 = new Outer().new Inner();静态内部类:Outer.Inner inner = new Outer.Inner(
2021-07-24 17:32:03
64
原创 java继承、多态与抽象类
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例
2021-07-23 22:00:25
136
原创 Java数组基本使用
数组(1)(2)(3)二分查找:数组必须是有序的,否则无法用二分查找。(4)引用数据类型填充的默认值是null(5)当我们手动指定了一维数组的元素后,会进行完全初始化并赋值:会自动的创建出有指定元素个数的一维数组作为二维数组的元素.(6)但凡是遇到new,都表示在堆上开辟空间。(7)数组的内存空间是连续的(8)增强for循环遍历的效率比下标遍历法高。for(int element:arr){System.out.println(element);}...
2021-07-23 21:52:04
57
原创 java方法简介
(1)局部变量:必须先赋值全局变量:不赋值给默认值,int默认值0,boolean默认值false(2) (3)方法的作用:简化代码,增加代码的复用性,提高健壮性,提高可读性,增加安全性等.(4)方法声明的位置为类的内部,其它方法的外部,方法定义之间不能嵌套(5)方法声明仅仅是声明了这个方法,方法中的代码不会被执行的(6)方法定义处的参数:形参,形式上的参数,必须通过接收实参的值才能运算(7)方法调用处的参数:实参,实际的参数.(8)return有结束的意思,一旦执行了return,方法就结
2021-07-22 21:18:27
57
原创 java特点、版本升级原因、进制、数据类型、运算符、常用接口、关键字
这里写自定义目录标题jdk版本升级的原因java的特点接口与关键字进制数据类型运算符如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入jdk版本升级的原因版本升级的原因:1.功能增加⒉.功能优化3.修改bug注意:一般情况,新的版本的软件中体积会越来越大,新的方法不会覆盖原来的方法.java的特点平
2021-07-14 20:31:55
175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅