自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Apache Flink学习_容错机制

本文主要介绍Flink的检查点及故障恢复机制。了解Flink是如何提供精确一次的状态一致性保障的。另外还会介绍Flink独有的保存点机制。一、checkpointcheckpoint机制是Flink可靠性的基石,可以保证Flink集群在某个算子因为某些原因出现故障时,能够将整个应用流图的状态恢复到故障之前的某一状态,保证应用流图状态的一致性。用一个简单的实现算法来解释应用建立一致性检查点的过程,概括的将这个简单算法的步骤就是:暂停应用 --> 等待流入数据被全部处理,将全部任务状持久化存储

2021-11-20 21:10:48 1143

原创 Apache Flink学习_状态的一致性

一致性实际上是“正确性级别”的另一种说法,也就是说在成功处理故障并恢复之后得到的结果,与没有发生任何故障时得到的结果相比,前者到底有多正确。例如,要对最近一小时登录的用户计数。在系统经理故障之后,计数结果是多少?如果有偏差,是有漏掉的计数还是重复计数?在流处理中,一致性可以分为三个级别:at-most-once(最多一次): 这其实是没有正确性保障的委婉说法——故障发生之后,技术结果可能丢失。at-least-once(至少一次): 这表示计数结果可能大于正确值,但绝对不会小于正确值。也就是说,计数

2021-11-20 17:26:41 1089

原创 Apache Flink学习_状态管理

在复杂的流处理场景中都需要记录状态,然后在新流入数据的基础上不断更新状态。一、什么是状态流式计算分为无状态计算和有状态计算两种情况。无状态的计算观察每个独立事件,并根据最后一个事件输出结果。有状态的计算会基于多个事件输出结果。二、状态使用场景去重:对数据流中的重复数据进行去重;检测:如判断一个温度传感器数据流中的温度是否在持续上升;聚合:对一个事件窗口的数据进行聚合分析,比如分析一个小时内水位的情况;更新机器学习模型:在线机器学习场景下,需要根据新流入数据不断更新模型参数;三、

2021-11-20 11:55:32 1009

原创 Spark-Sumbit命令参数解析

用法spark-submit [选项] <app jar | python file> [app arguments]spark-submit --kill [submission ID] --master [spark://...]spark-submit --status [submission ID] --master [spark://...]选项说明选项说明--master MASTER_URLspark://host:port,mesos://hos

2021-11-19 16:13:52 685

原创 Spark问题与解决:java.netBindException:Address alreday in use

java.netBindException:地址已在使用问题:FAILED [email protected]:4040: java.net.BindException: Address already in use...ERROR SparkUI: Failed to bind SparkUIjava.net.BindException:Address already in use:Service 'SparkUI' failed after 16 retries!原

2021-11-11 16:14:04 2036 1

原创 使用java API操作hbase增删改查的几个示例

使用java代码来实现Hbase数据库对数据的增删改查操作,总结示例如下:首先创建一个Maven工程,需要导入的包如下:org.apache.hbaseh,base-client,1.2.1org.apache.hbase,hbase-server,1.2.1junit,junit,4.12org.testng,testng,6.14.3org.testng,testng,7.0.0junit,junit,4.12创建表创建一张myuser表,带有两个列族f1,f2public voi

2021-08-05 09:11:07 727

原创 Mysql导出表结构及表数据 mysqldump用法

语法:mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名;常用示例:导出数据库为dbname的表结构(其中用户名为root,密码为dbpasswd,生成的脚本名为db.sql);mysqldump -uroot -pdbpasswd -d dbname >db.sql;导出数据库为dbname某张表(test)结构;mysqldump -uroot -pdbpasswd -d dbname test>db.sql;导出数据库为dbname所有表

2021-07-09 14:49:23 105

原创 Scala基础知识总结

scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程。早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。Scala语言主要用于开发大数据应用程序,如:Spark程序、Flink程序;它具有表达能力强,一行代码抵得上多行java代码,开发速度快;它也兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker、act

2021-05-26 22:31:06 1466 4

原创 Hadoop基础知识:分布式文件系统

分布式文件系统,英文全称为Hadoop Distribute File System;简称:HDFS。是hadoop核心组件之一,作为最底层的分布式存储服务而存在。分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。一、应用场景1 适合场景存储超大文件: 这里超大指的是几百MB、GB、或者TB级别,需要高吞吐量,对延时没有要求;采用流式数据访问方式: 即一次写入、多次读取。数据集经

2021-05-24 15:32:10 1471

原创 Hive基础知识总结

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储;通俗来讲,hive就是将SQL转换为MapReduce的任务的工具,或者可以说hive就是一个MapReduce的客户端。尽管hive具有sql数据库的外表,但它不是一个完整的数据库,首先hive不支持记录级别的更新、插入或者删除操作,而且查询延时也比较严重,还不支持事务。因此,hive最适合于数据仓库应用程

2021-05-20 14:41:44 2424

原创 linux常用命令总结

一、显示文件ls #查看当前目录内容 (缺点: 隐藏文件看不到)ls -a #查看当前目录内容 ,包括隐藏文件ls -al #查看目录内容的详细信息(查看文件类型、权限、大小等)ls -lh #查看目录内容的详细信息,以K,M,G方式显示文件大小ls /root #查看/root目录下内容ll ## 等价于 ls -l选项含义-a显示指定目录下所有子目录与文件,包含隐藏文件-l以列表方式显示文件的详细信息-h配合-l使用,显示更人性化二、目录查看、

2021-05-14 22:57:55 1121 15

原创 使用各种条件进行SELECT查询

执行要显示的列####显示所有列SELECT * FROM 表名;显示指定列SELECT 列名1,列名2,... FROM 表名;使用别名SELECT 列名1 AS 别名1,列名2 AS 别名2,... FROM 表名;计算列值或处理字符串对列值进行计算在查询表的时候,可以对列中的数据进行计算,如下运算符运算符使用示例+a + b-a - b*a * b/a / bDIVa DIV b (结果取整)%、MODa % b

2020-07-08 22:04:22 2370 1

原创 超基础MySQL常用知识,总有一个知识点你不常想起

客户端操作查看mysql字符编码的设置情况方式一:status方式二:show variables like 'char%';修改mysql的用户密码set password for root@localhost=password('1234');创建用户与设置用户权限## 创建用户:## 用户名格式: 用户名@主机名CREATE USER 新用户名 IDENTIFIED BY '密码';## 为用户赋予相应的权限:## 所有权限:ALL;如果仅允许SELECT

2020-07-07 23:45:19 207

原创 IDEA如何绑定Tomcat

步骤一:打开IEDA开发工具;步骤二:点击菜单栏RUN,然后选择Edit Configurations进入 Run/Debug Configurations页面;步骤三:点击Run/Debug Configurations页面左上角的 + 号,然后选择Tomcat Server, 选择Local;步骤四:设置添加的Tomcat名字,自定义; 然后点击Configure配置按钮;步骤五:添加Tomcat的安装路径;步骤六:添加VM options设置,可以选择不填写;-Xms128 -Xm

2020-07-06 22:52:28 2041 1

原创 BackboneJs笔记之视图

Backbone框架中的视图(View)主要功能是处理数据业务逻辑、绑定DOM元素事件、渲染模型或集合数据。具有很强的可扩展性。视图基础定义视图对象var testview = Backbone.View.extend({ // 构建类的逻辑结构 ...});//实例化一个视图对象var test = new testview();通过视图对象添加DOM元素var testview = Backbone.View.extend({ id: 'show',

2020-07-06 22:28:38 198

原创 BackboneJs笔记之模型集合

Backbone的模型集合主要是管理和存储由模型衍生的数据集合,可以类比数据库中的表,实例化后的Model就好像是表中的一条记录,而实例化后的Collection对象则像是一张数据集合表。创建集合对象创建模型集合的方法有两种:先自定义集合类,再实例化集合对象// 定义数据模型类var student = Backbone.Model.extend({ defaults: { Code:"", Name:"", Score:""

2020-07-06 22:25:00 148

原创 BackboneJS笔记之数据模型

Backbone中的数据模型(Model),主要用于原始数据、底层方法的封装和定义。创建数据模型定义一个模型对象var student = Backbone.Model.extend({ initialize: function(){ intNum++; console.log("您构建了 " + intNum + " 个对象。"); }});var intNum = 0;var stuA = new student();var stuB =

2020-07-06 22:23:52 192

原创 BackboneJs笔记之事件管理

Backbone.Events模块的事件管理是通过提供对应的API来实现的。接下来逐一总结Backnone提供的API。基本事件方法on给一个对象的自定义事件绑定触发该事件时执行的函数。监听默认事件 var person = Backbone.Model.extend({ defaults: { name: '', sex: '' } }); var man = new person(); man.on("chang

2020-07-06 22:16:29 151

原创 BackboneJs笔记之依赖库Underscore.js

Underscore.js是一个简洁、实用的JavaScript库,包含了多个独立的函数在开发中提供调用。Underscore没有对原生JavaScript对象进行扩展,而是通过调用 _()方法进行封装,封装后的原生js对象便成为了Underscore对象;用value()方法可以获取原生js对象中的数据。var data = { name: "栖溪阁晓生", email: "[email protected]"}var object = _(data);console.log(

2020-07-06 22:09:25 135

原创 总结MySQL常用的基本操作

归纳一下常用的MySQL操作,年纪大了好多东西要是搁置了一段时间没用,基本就跟我没啥关系了;所以,好记性不如烂笔头,写下来以后需要再来查验。查看MySQL服务win+R打开windows的运行窗口;输入 services.msc, 回车打开windows服务管理器找到服务名称为 MySQL 的服务,查看状态是否已启动;如果显示未启动,点击启动服务即刻。启动/停止服务通过服务管理器可以启动停止MySQL服务,也可以通过命令行的方式启动停止服务。net stop MySQL

2020-07-02 10:49:28 147

原创 整理常用的MySQL查询命令

单表查询主要是针对一张表的数据查询操作,以下是单表查询中的各种查询方式的总结:查询所有字段SELECT * FROM 表名;查询指定字段SELECT 列名1,列名2,...,列名n FROM 表名;查询指定记录通过WHERE子句来对数据进行过滤,以获得过滤后的数据SELECT 列名1,列名2,...,列名n FROM 表名 WHERE 查询条件IN关键字IN关键字用于查询满足指定范围内的条件的记录,在使用时,将检索条件用括号括起来,多个检索条件之间用逗号分隔,当满足其中一个条件即可

2020-07-02 10:44:20 226

原创 MySQL在dos命令行中输入中文时报错

情景:在DOS命令行中操作中文时报错insert into category(cid,cname) values('c010','中文');ERROR 1366 (HY000): Incorrect string value:'\xB7\xFE\XD7\xB0' for colum 'cname' at row 1原因:mysql的客户端设置编码是utf8,而系统的cmd窗口编码是gbk解决:查看mysql内部设置的编码修改client、connection、results的编码一致

2020-07-02 10:31:11 319

原创 MySQL数据库密码重置

停止mysql服务器运行输入services.msc停止mysql服务在cmd下,输入mysqld --console --skip-grant-tables启动服务器,出现以下页面,不要关闭该窗口新打开cmd,输入mysql -uroot 不需要输入密码;登录后,使用下面两个命令更改密码: use mysql; update user set password=password('abc') where user='root';关闭两个cmd窗口...

2020-07-02 10:22:18 101

原创 MySQL服务器启动与停止命令

net start mysqlnet stop mysql遇到的问题win10系统启动/停止mysql服务报错原因:当前用户的操作权限太低解决:以管理员身份来运行cmd程序启动mysql;如果需要经常启停mysql服务,可以按照如下设置:右键cmd找到其所在的位置右键选择属性 --> 选择快捷方式 --> 选择高级 --> 选择以管理员身份运行 --> 点击确定选择以管理员身份运行 --> 点击确定...

2020-07-02 10:05:31 638

原创 javaScript语句详解

语句通常按照从上往下的顺序被执行。JavaScript可以通过条件语句(if和switch)、循环语句(while、for和do/while)、跳转语句(break、continue、return和throw)和函数调用来改变执行序列。下面将阐述JavaScript(下文简称JS)中的语句。表达式语句**定义:**表达式加上分号";"组成。语法:表达式;执行表达式语句就是计算表达式的值x = y + z; //赋值语句Math.cos(x); //函数调用计算余弦值,计算结果不能保留,无实际意义;

2020-07-01 16:04:26 208

原创 说一说JavaScript的五种基本数据类型

在ECMAScript中存在六种数据类型,其中有五种是基本数据类型(Number、String、Boolean、Undefined、Null),一种复杂数据类型(Object)。因为JavaScript数据类型具有动态性, 所以六种数据类型足以表示所有的数据,也因此ECMAScript不支持任何创建自定义类型的机制。Number在JavaScript中Number类型是不区分整数值和浮点数值的,所有的数值都是用浮点数来进行表示。对于整型直接量,我们知道有十进制、八进制和十六进制,这里需要注意的是在EC

2020-07-01 16:01:25 371

原创 记录我与kafka的一次邂逅_kafka的命令行工具

kafka提供了一些命令行工具,用于管理集群的变更。主题操作创建主题创建一个主题需要用到3个参数:主题名字:想要创建主题的名字,名字可以包含字母、数字、下划线以及英文状态下的破折号和句号复制系数:主题的副本数量分区:主题的分区数量命令行格式:kafka-topic.sh --zookeeper <zookeeper connect> --create --topic <String> --replication-factor <integer> --p

2020-06-27 21:35:37 190

原创 记录我与kafka的一次邂逅_消费者-从kafka中读取数据

在kafka中,消费者从属于消费者群组,想要知道如何从kafka中读取消息,需要先了解消费者和消费者群组的概念。假设主题T1有四个分区,我们创建一个消费者群组1,群组中有一个消费者;用这个消费者订阅主题T1,则该消费者会收到四个分区中的全部消息。但是kafka消费者经常会做一个高延迟的操作,比如把数据写到数据库或HDFS,或者使用数据进行比较耗时的计算。在这些情况下,单个消费者无法跟上数据生成的速度,所以我们可以增加群组中的消费者来分担负载。当增加一个消费者后,主题T1就被群组1中的两个消费者消费;

2020-06-27 21:31:19 199

原创 记录我与kafka的一次邂逅_生产者-往kafka中写入数据

kafka生产者是一个向kafka集群发布记录的客户端。下图为kafka生产者组件图,图中展示了kafka发送消息的主要步骤:发送消息之前,首先创建一个ProducerRecord对象,该对象包含目标主题、指定键和分区以及要发送的内容;在发送ProducerRecord对象前,生产者要把键和值对象序列化成字节数组,才能在网络上传输;然后数据传送到分区器;如果在ProducerRecord对象中指定了分区,那么分区器将什么也不做;如果没有指定分区,那么分区器将会根据ProducerRecord对象中

2020-06-27 21:26:11 191

原创 记录我与kafka的一次邂逅_初识

故事就从什么是kafka开始,我从官方文档上面翻译了这句话:Apache Kafka是一个分布式的流处理平台。我们知道作为一个流处理平台,它拥有三个关键的功能:可以发布和订阅流;可以以容错的方式存储流;还可以实时的处理流。kafka作为一个分布式的流处理平台,它有两大应用:一是能够构建实时流数据管道,在系统和应用之间可靠地获取数据;另一个应用是能够构建转换或响应数据流的实时流应用程序。kafka作为一个集群运行在一个或多个服务器上,这些服务器可以跨越多个数据中心,根据topic的不同来分类存储记录流;每个

2020-06-27 20:53:02 138

原创 赶紧收藏吧,常用的IDEA快捷键都收纳到这里了

常用快捷键快捷键说明psvmmain方法sout输出语句Shift Shift全文搜索Ctrl+Y删除光标所在行Ctrl+D复制光标所在行并把,复制的内容插入光标位置下面Ctrl+Alt+L格式化代码Alt+Enter导入包,自动修正代码Ctrl+/单行注释Ctrl+Shift+/选中代码注释,多行注释,再按取消注释Alt+Ins自动生成代码,toString,get,set等方法Alt+Shift+上下箭

2020-06-24 00:43:33 230

原创 浅谈大数据技术

现如今,大数据技术已经渗透到我们生活的方方面面,人们也很乐于谈及大数据。但是,什么是大数据?大数据是如何产生的?大数据涉及哪些技术?大数据给我们带来了什么好处?对我们产生了什么影响? 也许并不是所有人都能讲的很清楚明白,本文将针对大数据时代的发展,大数据的概念,影响和应用等方面来讲述大数据,希望你对大数据能够产生新的认识。一、大数据的发展截至目前,我们正在经历第三次信息化浪潮。第一次是在1980年左右,个人计算机时代的来临,比较有代表的企业有Inter、AMD、IBM、苹果、微软、联想等,主要解决的是

2020-06-24 00:24:23 4557

原创 使用行为参数化传递代码

在软件开发过程中,有一个比较头疼的问题,就是用户的需求会经常改变,这也使得我们总是要不断的去修改代码,从而浪费了不少时间和精力。如何应对不断变化的需求?如何降低软件开发的工作量?java8提出了一种新的软件开发模式:行为参数化;这能有效的帮助你处理频繁变更的需求。那么,如何编写能够应对变化的需求的代码呢?下面我们通过不断改进一个示例代码来理解行为参数化传递的思想。有这样一个问题:农场主要在农场库存中选出绿色的苹果。对于这个问题,我们很容易的可以得到以下的解决方案:public static Lis

2020-06-24 00:07:18 217

原创 如何让超出宽度的文字显示省略号

.contact { overflow: hidden; /* 溢出宽度的内容进行隐藏 */ width: 100px; white-space: nowrap; /* 文本不换行,直到遇到<br/>为止 */ text-overflow: ellipsis; /* 显示省略符号来代表被修剪的文本 */}...

2020-06-21 00:06:27 304

原创 如何利用css+html实现一个左右固定,中间自适应的三栏布局?

这个问题可以采用很多种方法解决,以下提供一种简单的实现方式:<body> <div class="container"> <div class="left"></div> <div class="main"></div> <div class="right"></div> </div></body>.container di

2020-06-19 23:44:25 247

原创 实现多个node.js版本的管理办法

Node.js版本更新快,有时需要在多个版本之间切换,就要安装多个版本的Node.js。1 下载windows版本nvmMac和linux用户:nvm :https://github.com/nvm-sh/nvmn : https://github.com/tj/nwindows用户可以使用: nvm-windows,下载地址:git地址: https://github.com/coreybutler/nvm-windows/releases网盘地址: 链接:https://pan.ba

2020-06-18 23:00:06 285

原创 清除浮动的方法有哪些?

在前端页面开发过程中,经常会遇到父元素中的子元素因为浮动而导致父元素高度为0的情况,如何解决这种问题,使得父元素能够撑起高度,以下提供四种解决方法:方法一:额外标签法在最后一个浮动标签后面添加一个新的标签,其CSS设置为clear:both。这种方式的缺点是额外增加了标签元素,而且语义化较差。方法二:父元素添加overflow属性.father { ... overflow: hidden;}采用这种方式在内容增多的情况下, 超出的内容会被隐藏掉,无法显示溢出的内容。方法三:

2020-06-18 22:42:12 154

原创 快速上手Git,看这篇就可以了

Git简介Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git的三种状态在git中,文件是处于以下三种状态之一:已提交(committed):表示数据已经被安全地存入本地数据库中已修改(modified):表示已经改动了文件,但未提

2020-06-17 21:37:37 123

原创 如何计算字符串中字符出现的个数?

实现思路:输入一个字符串;创建一个map集合;将字符串转换为一个字符数组;遍历字符数组:如果map集合的key值包含该字符,则value自增;如果map集合的key值不包含该字符,则value为1;输出结果代码实现:public static void main(String[] arg){ // 1.输入一个字符串 System.out.println("请输入一个字符串: "); Scanner sc = new Scanner(System.in);

2020-06-17 20:41:58 1422

原创 每日一问_如何解决Mysql不支持中文存储问题

alter table 表名 change 字段名 字段名 varchar(512) character set utf8 collate utf8_general_ci;

2020-06-16 22:21:16 126

win10去除快捷方式小箭头.zip

清除win10桌面小图标的小插件,压缩包中含有四个文件,分别为恢复小箭头.bat、恢复小箭头源码.txt、删除图标箭头.bat、删除图标箭头源码.txt。

2020-07-08

空空如也

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

TA关注的人

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