自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 java8(四)—新日期类型

1.LocalDate:日期//获取实例LocalDate localDate = LocalDate.now(); //获取系统当前日期:2020-10-19LocalDate localDate1 = LocalDate.of(2020, 7, 19); //根据参数构造日期//字符串个LocalDate的相互转换LocalDate localDate = LocalDate.parse("2020-10-12", DateTimeFormatter.ofPattern("yyyy-MM.

2020-12-27 18:31:38 259 1

原创 java8(三)—Optional

1.构建OptionalOptional<People> optionalInstance = Optional.of(new People()); //根据非空值创建一个OptionalOptional<People> optionalOrNull = Optional.ofNullable(p);//允许null值的OptionalOptional<Object> optionalEmpty = Optional.empty(); //声明一个空的Optio

2020-12-23 23:31:53 135

原创 java8(二)— Stream

1.特点 流水线:中间流操作本身返回一个流 内部迭代 :不需要显式的遍历,只能遍历一次 懒加载:必须有中盾操作才会真正触发执行 2.操作中间操作 filter:根据谓词过滤,借助Predicate<T>接口 map:映射,借助Function<T,R>接口 flatmap:平铺,借助Function<T, Stream<R>>接口 limit:截取的结果数量 skip:跳过流数量 sor...

2020-12-23 00:03:40 163

原创 Java8(一)—lambda表达式使用

1.函数式接口/*** 函数式接口:* 1)接口中可以有多个方法,但抽象方法只能有一个* 2)一般使用@FunctionalInterface标记* 3)lambda表达式的前提就是函数式接口,lambda表达式抛出的异常必须和抽象方法声明的throws语句匹配*/@FunctionalInterfacepublic interface PeoplePredicate { /** * 谓词,返回一个boolean值的函数 */

2020-12-22 21:44:41 160 1

原创 scala学习(六)—高级部分之隐式转换,模式匹配,泛型

1.隐式转换 隐式转换函数 //隐式转换,是根据源类型与目标类型匹配函数,因此与函数名无关implicit val str2Int: String => Int = (str: String) => str.toInt隐式类:即富包装类//必须有一个参数:且只能有一个参数,代表源类型implicit class RichString(str: String) { def desc(): Unit = println(s"这是一个长度为:${str.length}.

2020-12-20 23:12:52 168

原创 scala学习(五)—函数

1.函数闭包(一个返回值依赖于外部变量的函数,在函数执行时暂时处于一个封闭状态)//函数的变量只有i,返回值需要捕获函数外部的自由变量factorval factor = 3val multiplier = (i:Int) => i * factor柯里化(原来接受两个或多个参数的函数,改为先接受一个参数并返回一个新的函数,新的再接受第二个参数返回最终结果)//一般写法,同时接收两个参数def add_1(x: Int, y: Int) = x + y//先接收x参数,返回一个

2020-12-20 22:56:25 65

原创 scala学习(四)—面向对象详解

官网1.创建实例类 创建class class Employ { val DESC: String = "Hello" var name: String = _ var age: Int = _ // 重写equals override def equals(other: Any): Boolean = other match { case that: Employ => this.name == tha

2020-12-20 22:24:41 149

原创 Scala学习(三)—集合篇

1.集合概览Scala集合分为可变集合和不可变集合 scala.collection包下的抽象scala.collection.immutable包下的不可变集合scala.collection.mutable包下的可变集合2.集合父类的一些通用方法

2020-12-20 22:04:59 171

原创 scala学习(二)—基础部分详解

1.IO操作(更丰富的操作使用JavaIO)//控制台读取数据import scala.io.StdInval str = StdIn.readLine("输入数据: ")println(str)//读文件import scala.io.Sourceval file = "D:/data/spark/core/wc.txt"val source = Source.fromFile(file) //读取文件source.getLines().foreach(println) //逐行读取

2020-12-20 21:50:18 142

原创 MySQL—常用查询语法

1.元数据查询showdatabases;show tables;show create tabletable_name;2.DDL语句 建库建表 //建库cretae databasedb_name;//建表create tabletable_name(field1 field_typecomment 'describe1', field2 field_type comment 'describe2');//复制表create table table_...

2020-11-15 23:33:44 103

原创 scala学习(一)—基础部分详解

1.数据类型 Any:所有类的超类 AnyVal:所有值类型父类,是Any的子类 AnyRef:所有引用类型的父类,是Any的子类 Null:所有AnyRef的子类 Nothing:所有类的子类,多用于抛出异常 Unit:无值,类似java的void Byte/Short/Int/Long/Float/Double/Char/String/Boolean/String:在scala中每种类型都是类都可直接操作 2.声明变量...

2020-09-11 21:47:13 109

原创 scala—环境准备

一、命令行方式下载scala包:https://www.scala-lang.org/download/ 安装 配置环境变量 输入scala 二、继承插件利用idea开发安装scala插件(可在线和离线安装):file —> settings —> plugins 添加sdk: file —> project structure(scalaSDK即为scala的安装包,可在线和离线安装) ...

2020-09-11 21:02:25 87

原创 Sqoop—使用指南

1.sqoop命令入门sqoop hele: 查看所有帮助命令 sqoop help command: 查看某个命令的使用 命令分解--connect 指定关系型数据库的连接url mysql:jdbc:mysql://主机:3306--username 指定mysql的用户名--password 指定mysql的密码--table 指定mysql中需要的表名-m

2020-09-02 23:51:48 182

原创 idea—maven项目pom的build打包部分

<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </res...

2020-09-02 23:04:23 1293

原创 idea—debug

1.基本用法快捷键 第一组按钮 Show Execution Point (Alt + F10):光标定位到前代码执行的行 Step Over (F6):步过,断点间的代码逐行运行,不进入方法 Step Into (F5):步入,一般用于进入自定义方法内,不会进入官方类库的方法 Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法 Step Out (F7):步出,从步入的方...

2020-09-02 22:54:46 136

原创 idea—插件

1.常用插件plugin name 配置 功能 Alibaba Java Coding Guidelines java开发规约code检查工具 Alibaba Cloud Toolkit 部署工具 AiXcode AI Completer 强大的AI智能补全代码插件...

2020-09-02 22:34:04 203

原创 Mybatis—插件(拦截器)

1.自定义插件type: 拦截对象Executor: 执行SQL全过程,包含组装参数,组装结果集返回和执行SQL,比较广泛StatementHandler: 执行SQL的过程,最常用的拦截ParameterHandler: 拦截执行SQL的参数组装,可以重写组装参数规则ResultSetHandler: 拦截执行结果的组装,可以重写组装结果的规则method: 拦截方法,必须对应拦截对象中的方法args: 参数,必须和接口中的拦截方法参数列表相同2.自定义插件打印SQL执行情况@

2020-08-24 12:10:04 224

原创 Mybatis—动态SQL

if: 只有两种情况的动态调整<select id="queryAll" resultType="book"> select * from book where 1=1 <if test="name != null "> and name = #{name} </if></select>choose…when…otherwise: 类似于switch…case…default<select id="queryAll" r.

2020-08-24 12:00:54 113

原创 Mybatis—xml映射文件分解

1.select/insert/update/delete<!--返回主键 --><insert id="addReturnKey" parameterType="book" useGeneratedKeys="true" keyProperty="book_id"> insert into book(name, price) values(#{name}, #{price})</insert><!--生成主键再插入 --><inse

2020-08-24 11:52:31 315

原创 Mybatis—配置文件分解

1.mybatis-config.xml配置顺序<configuration> <!-- 读取外部配置 --> <properties resource="jdbc.properties"/> <!-- 全局配置--> <settings> <setting name=" " value=" "/> </settings> <!-- 别名,可

2020-08-24 11:21:50 186

原创 Mybatis—xml+接口映射

1.定义接口public interface BookMapper { Book findBookById(int id); Book findBookByIdAndName(@Param("id") int id, @Param("name") String name); Book findLikeBookByName(String value); int addBook(Book book); int deleteBookById(int id);

2020-08-23 22:16:20 694

原创 Mybatis—接口映射

1.mybatis-conf.xml<!-- 指定接口 --><mapper class="org.example.dao.book.BookMapper"/>2.定义接口public interface BookMapper { @Select("select * from book where book_id = #{id}") Book findBookById(int id); /** * @Parm注解使用的场景: 多个参数必须

2020-08-23 22:06:42 95

原创 Mybatis——xml映射方式

1.依赖 <!--mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> <!--mybatis依赖 --

2020-08-23 21:50:28 369

原创 HBase—Compaction之详解

1.概述 Compaction核心功能是合并小文件,HBase的Compaction分为MinorCompaction和majorCompaction两类 MinorCompaction选取部分小的,相邻的HFile文件进行合并 MajorCompaction是将一个Store中的所有HFile文件合并成一个更大的HFile 2.合并流程HBase启动一个独立线程从对应的Store中选取要合并的HFile 从这些HFile中依次读出KeyValue,进...

2020-08-04 10:12:32 719

原创 HBase—依赖服务

1.HBase在Zookeeper创建了以下子节点 meta-region-server:存储HBase集群hbase:meta元数据表所在的RegionServer访问地址 master/backup-masters:集群中的Master备份节点 table:集群中所有表信息 region-in-transition:迁移Region需要对Region执行unassign和assign操作来切换Region状态,RegionServer会在region-in-tran.

2020-08-04 08:52:54 639

原创 HBase—读写流程

1.HBase写流程 概述 HBase采用LSM树结构,天生对写更友好,从整体架构来看,有3个阶段 客户端处理阶段:将写请求进行预处理,并根据集群元数据定位写入数据所在的RegionServer,将请求发送给对应的RegionServer Region写入阶段:RegionServer接收写入请求后将数据解析,先写入WAL,再写入对应的Region列簇(Store)的MemStore MemStore的落盘阶段:当MemStore达到

2020-08-02 21:29:03 150 1

原创 HBase—RegionServer详解

1.RegionServer概述 一个RegionServer由一个(或多个,默认只有一个)HLog,一个BlockCache以及多个Region组成: HLog保证数据写入的高可靠性 Region是HBase数据表中的一个数据分片,也是负载均衡的最小单位 BlockCache将数据块缓存在内存提升数据读取性能 2.HLog概述 HLog是为了保证数据的高可靠性,所有数据的增删改操作都会先追加到HLog中再写MemStore HLog是整个RegionSer

2020-08-02 21:07:46 3739

原创 HBase—架构篇

1.架构图2.模块说明客户端 HBase客户端提供了shell,JavaAPI,提供非Java语言的的Thrift/Rest API操作,支持常见的DDL和基本的DML操作 Zookeeper 实现Master的高可用 管理系统核心元数据 参与RegionServer的宕机恢复 HBase表操作时的分布式锁 Master 处理用户的各种管理请求,例如切分表,合并数据分片以及Compaction等 管理RegionServer,负载均衡,当即恢复,Region迁移

2020-08-02 17:40:14 156

原创 ElasticSearch—集群搭建完整流程

ES安装java环境下载解压后台启动: $ES_HOME/bin/elasticsearch -d验证: localhost:9200ES集群搭建vim $ES_HOME?config/elasticsearch.yml#集群名称cluster.name:#节点名称node.name:#是否有成为master的资格node.master:#是否是数据节点node.data:#数据存放路径path.data:#日志存放路径path.logs:#对外公开访问ne

2020-07-24 12:40:58 348

原创 ElasticSearch—文档间的关系

对象类型概述将一个对象作为文档字段的值,对象类型更适合处理一对一的关系,且简单容易使用缺点在系统内部,对象之间没有边界,因此存放对象数组(一对多)时查询多个字段可能出现意外的结果更新一个单独的对象需要重新索引整篇文档嵌套类型(nested)概述在Lucene层面将不同的对象分隔到不同的文档,解决了对象类型一对多的对象之间无边界问题ElasticSearch将根文档,文档字段的数组对象分别索引到不同的文档,并将他们放在同一个单独的分块开启跨对象的匹配incl

2020-07-24 12:30:53 262

原创 ElasticSearch—聚集检索

聚集分类度量型: 即常见的聚合操作桶型: 将匹配文档切分为多个桶,返回每个桶里面的文档数量度量聚集高级统计对查询返回的匹配文档集合进行聚合计算,是绝对准确的stats/extended_stats: 对数值型字段同时获取sum,avg,max,min,value_count等聚集结果近似统计包含百分位好人基数两种近似统计方式,牺牲一定程度的准确性换取性能提升百分位(percentiles):获取小于测量值的累计百分比,50%的百分位最不准确,越接近0或100越准确基数(ca

2020-07-24 12:19:36 118

原创 ElasticSearch—相关性

文档打分确定文档和查询相关程度的过程称为打分,ES使用了TF-IDF(词频——逆文档频率)和向量空间模型结合的算法进行打分词频(TF) : 分词出现在当前文档中的次数,次数越多得分越高逆文档频率(IDF) : 分词出现在不同文档的文档数量,文档数量越少得分越高boosting概述用来修改文档相关性,包含两种方式,可以在索引或查询时提升文档得分boots参数值不是精确的乘数,计算得分时boots值是被标准化的,更多的应该考虑和其他字段的相对值索引期间bootsing的缺点

2020-07-24 12:09:52 279

原创 ElasticSearch—分析器

分析器组成部分 字符过滤 使用字符过滤器将特定字符转变为其他字符序列,例如可以将&转为and 分词器 根据空格,换行等符号将文本切分为一个个单词 分词过滤器 对每个分词使用分词过滤器,将分词进行修改,添加或删除,例如常用的小写分词过滤器 分词索引 分词经历了分词过滤器就会被发送到Lucene进行文档的索引 使用分析器的方式 创建索引时,为特定的索引进行设置分析器 ES配置文件中设置

2020-07-24 11:53:47 207

原创 ElasticSearch—curd操作

官网描述手动创建索引curl -XPUT 'hdp01:9200/index_name'获取映射约束curl 'hdp01:9200/index_name/_mapping/type_name?pretty'检索文档curl 'hdp01:9200/index_name/_serach?q=hello&pretty'curl 'hdp01:9200/index_name/_serach?q=name:tom&pretty'更新文档curl -XPOST

2020-07-24 11:45:36 152

原创 ElasticSearch—深入理解术语

ES是构建在ApacheLucene上的开源分布式搜索引擎 逻辑设计 索引(index):类似数据库 类型(type):类似数据的表,6.0+只支持单类型,7.0删除类型 文档(document):面向文档,这也意味着索引和搜索数据的最小单位是文档,类似数据库的行 字段(field):字段的类型定义称为映射约束 物理设计——分片 一个分片就是一个Lucene索引,一个包含倒排索引的目录 ...

2020-07-24 11:12:47 99

原创 ElasticSearch—Spark整合

官网描述maven依赖<dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch-hadoop</artifactId><version>x.x.x</version></dependency>环境配置val conf = new SparkConf().setAppName("elastic")

2020-07-24 10:07:25 414

原创 ElasticSearch—Transport客户端API

官网描述添加maven依赖<dependency><groupId>org.elasticsearch.client</groupId><artifactId>transport</artifactId><version>x.x.x</version></dependency>获取客户端//集群名称如果不是"elasticsearch",则必须配置集群名称Settings settings =

2020-07-23 12:39:46 429

原创 kafka—再均衡监听器

再均衡监听器再均衡监听器用来处理发生再均衡动作前后的一些准备或收尾动作//指定主题subscribeconsumer.subscribe(Collections.singletonList(TOPIC), new ConsumerRebalanceListener() { /** * 消费者组停止消费前的后续工作,例如位移的提交 */ @Override public void onPartitionsRevoked(Collection<TopicPar

2020-07-03 18:21:05 194

原创 kafka—消费者拦截器

自定义消费者拦截器//可以在消费到消息或在提交消费位移时进行一些定制化的操作public class ConsumerInterceptor implements org.apache.kafka.clients.consumer.ConsumerInterceptor { @Override public void configure(Map<String, ?> configs) {} /** * 提交位移之后调用 */ @Override

2020-07-03 15:12:49 882

原创 kafka—反序列化

自定义反序列化public class DefineDeSerializer implements Deserializer<People> { String encode; @Override public void configure(Map<String, ?> configs, boolean isKey) { encode = "UTF-8"; } @SneakyThrows @Override

2020-07-03 15:09:42 150

空空如也

空空如也

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

TA关注的人

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