自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HiBoyljw的博客

Java/大数据

  • 博客(156)
  • 资源 (4)
  • 收藏
  • 关注

转载 git 版本回退

使用git开发的过程中,存在误提交的时候怎么办呢?不用慌张,强大的git提供了两种版本回退的方式,可以让你恢复提交之前的内容:方式一:reset(不推荐)通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了操作步骤如下:1、在gitlab上找到要恢复的版本号,如:139dcfaa558e3276b30b6b2e5cbbb9c00bbdca962、在客户端执行如下命令(执行前,先将本地代码切换到对应分支):git reset --hard 139dcfa

2022-04-08 10:04:41 9837

原创 关于在Flink批处理中数据同步的一些经验以及批处理中使用窗口函数的一些经验

在最近的项目中有使用到Flink 批处理的方式来进行数据源的数据同步。由于一些原因,并没有去使用开源的flinkx 之类的工具,而且Flink Jdbc connect 是一种基于查询数据同步,在数据同步之前必然会业务方造成查询压力的。目前在需要同步的表中,其它的表数据最高也不超过千万,但是我们源表的数据量却是达到了上亿级别。这种数据量的业务,在数据查询中一不小心就会照成查询超时,所以在大表数据同步时需要特别注意。而由于 Flink jdbc 本身设计原因,它默认是不支持条件查询的,默认均是扫描全表。所以最

2021-12-21 18:31:50 1976

原创 Flink checkpoint机制以及恢复

什么是checkpoint?checkpoint 则表示了一个 Flink Job ,在一个特定时刻的一份全局状态状态快照,即包含了一个 job 下 所有task/operator 某时刻的状态。问题九、使用checkpoint(检查点)的作用?使用Checkpoint提高程序的可靠性用户可以根据程序里面的配置将checkpoint打开,给定一个时间间隔后,框架会按照时间间隔给程序的状态进行备份。当发生故障时,Flink会将所有Task的状态一起恢复到Checkpoint的状态。从那个位置开始

2021-10-29 17:39:25 3677 1

原创 flink hive 异常以及解决办法

[ERROR] Could not execute SQL statement. Reason:java.lang.NoClassDefFoundError: Could not initialize class org.apache.flink.table.catalog.hive.factories.HiveCatalogFactoryOptions原因:缺失依赖解决办法: 新增hive-exec-3.1.0.jar 依赖[ERROR] Could not execute SQL state

2021-09-27 15:32:27 2280

原创 解决 Permission denied: user=root, access=WRITE, inode=“/user“:hdfs:supergroup:drwxr-xr-x

在使用root 账户安装完hadoop 集群后 在使用flink 使用on yarn 方式进行集群启动持续Permission denied: user=root,access=WRITE,inode="/user":hdfs:supergroup:drwxr-xr-x错误,查阅相关资料明白/user文件的所有者是HDFS 权限为755 也就是只有HDFS才能对这个文件进行操作,而root去访问hdfs上面的/user目录没有权限,那么接下来我们便可以这样操作文件,输入命令su

2021-09-10 15:08:45 8605

原创 Flinkx/Datax/Flink-CDC 优劣势对比

一、FlinkX简介FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,比如MySQL,HDFS等,也可以采集实时变化的数据,比如MySQL binlog,Kafka等。FlinkX目前包含下面这些特性:● 大部分插件支持并发读写数据,可以大幅度提高读写速度;● 部分插件支持失败恢复的功能,可以从失败的位置恢复任务,节约运行时间;失败恢复● 关系数据库的Reader插件支持间隔轮询功能,可以持续不断的采集变化的数据;间隔轮询● 部分数据库支持开启Kerberos安全认证

2021-08-02 16:48:48 16519

原创 Kafka 深入浅出——Kafka内核原理

ISR机制问题:1、当ack=all时,leader 收到数据,所有 follower 都开始同步数据, 但有一个 follower,因为某种故障,迟迟不能与 leader 进行同步,那 leader 就要一直等下去, 直到它完成同步,才能发送 ack。这个问题怎么解决呢?2光是依靠多副本机制能保证Kafka的高可用性,但是能保证数据不丢失吗?遇到上面的问题,如果follow迟迟无法进行数据同步,或者leader宕机,但是leader的数据还没同步到follower上去,此时即使选举了followe

2021-03-14 22:13:04 216

原创 Kafka 深入浅出——Kafka文件存储机制

kafka 文件存储同一个topic下有多个不同的partition,每个partition为一个目录,partition命名的规则是topic的名称加上一个序号,序号从0开始。每一个partition目录下的文件被平均切割成大小相等(默认一个文件是1G,可以手动去设置)的数据文件,每一个数据文件都被称为一个段(segment file),但每个段消息数量不一定相等,这种特性能够使得老的segment可以被快速清除。默认保留7天的数据。每次满1G后,在写入到一个新的文件中。另外每个partiti

2021-03-06 16:49:52 435

转载 Flink遇到Kafka - FlinkKafkaConsumer使用详解

Flink是新一代的流处理计算引擎。通过轻量级的checkpoint,Flink可以在高吞吐量的情况下保证exactly-once(这需要数据源能够提供回溯消费的能力)。Flink支持众多的source(从中读取数据)和sink(向其写入数据),列表如下:Kafka作为目前非常流行的消息中间件,它不仅能够提供极大的吞吐量,还能够配合Flink在消费端达到exactly-once。本文将详细介绍如何配置Flink读取Kafka,运行机制和exactly-once是如何保证的,最后,还会给出监控Flink

2021-01-24 16:53:22 9226

原创 Kafka 深入浅出——offset实战

1、 offset1.1 offset介绍老版本 Consumer 的位移管理是依托于 Apache ZooKeeper 的,它会自动或手动地将位移数据提交到 ZooKeeper 中保存。当 Consumer 重启后,它能自动从 ZooKeeper 中读取位移数据,从而在上次消费截止的地方继续消费。这种设计使得 Kafka Broker 不需要保存位移数据,减少了 Broker 端需要持有的状态空间,因而有利于实现高伸缩性。新版本 Consumer 的位移管理机制其实也很简单,就是**将 Consum

2021-01-16 16:32:38 888

原创 Kafka 深入浅出——消费者组

1 消费者组的基本概念Consumer Group 是 Kafka 提供的可扩展且具有容错性的消费者机制。消费者组内必然可以有多个消费者或消费者实例(Consumer Instance),它们共享一个公共的 ID,这个 ID 被称为 Group ID。组内的所有消费者协调在一起来消费订阅主题(Subscribed Topics)的所有分区(Partition)。当然,每个分区只能由同一个消费者组内的一个 Consumer 实例来消费。1、Consumer Group 下可以有一个或多个 Consum

2021-01-09 21:28:46 282

原创 Kafka 深入浅出——消息压缩

今天为大家带来kafka中的消息压缩知识,内容比较简单,5分钟就能阅读完成。压缩就是用时间去换空间的经典 trade-off 思想,具体来说就是用 CPU 时间去换磁盘空间或网络 I/O 传输量,希望以较小的 CPU 开销带来更少的磁盘占用或更少的网络 I/O 传输。在 Kafka 中,压缩也是用来做这件事的。1 何时压缩在 Kafka 中,压缩可能发生在两个地方:生产者端和 Broker 端。生产者程序中配置 compression.type 参数即表示启用指定类型的压缩算法。比如下面这段程序代码展

2021-01-03 20:25:45 818

原创 Kafka 深入浅出——分区策略

1、 分区的概念Kafka 有主题(Topic)的概念,它是承载真实数据的逻辑容器,而在主题之下还分为若干个分区,也就是说 Kafka 的消息组织方式实际上是三级结构:主题 - 分区 - 消息。主题下的每条消息只会保存在某一个分区中,而不会在多个分区中被保存多份.对数据进行分区的主要原因,就是为了实现系统的高伸缩性(Scalability)。不同的分区能够被放置到不同节点的机器上,而数据的读写操作也都是针对分区这个粒度而进行的,这样每个节点的机器都能独立地执行各自分区的读写请求处理。并且,我们还可以通

2021-01-02 23:17:13 389

原创 Kafka 深入浅出——生产者和消费者api代码开发

上一篇文章我们说了一些kafka在命令行的时候是如何操作的,详情请看Kafka 深入浅出——Kafka的命令行的管理使用以及参数详解那今天我们讲的这是如何在Java中去实际使用我们的kafka,话不多说,直接上代码。生产者代码开发创建maven工程引入依赖 <dependencies> <dependency> <groupId>org.apache.kafka</groupId> &

2020-12-27 20:34:35 569

原创 Kafka 深入浅出——Kafka的命令行的管理使用以及参数详解

1、创建topickafka-topics.shnode01执行以下命令创建topicreplication-factor 副本数cd /ljw/install/kafka_2.11-1.1.0/bin/kafka-topics.sh --create --partitions 3 --replication-factor 2 --topic test --zookeeper node01:2181,node02:2181,node03:21812、查询所有的topic..

2020-12-27 15:21:50 538

原创 Kafka 深入浅出——集群安装部署

上一篇我为大家带来了Kafka的基本知识和概念,下面我们将进入实战篇,首先是Kafka的集群安装部署。1、下载安装包(http://kafka.apache.org/downloads)这里将以大家下载1.x版本的kafka 这也是目前市场上的公司用的比较多的,因为比较稳定了,而且特性和功能基本也足够使用了。2、规划linux安装目录/mysoft/install3、上传安装包到node01服务器,并解压(此处的01代表的是你的集群节点之一的代号)通过FTP工具上传安装包到n

2020-12-19 20:10:26 174 1

原创 Kafka深入浅出——初识Kafka

1、消息引擎背景根据维基百科的定义,消息引擎系统是一组规范。企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传递.即:系统 A 发送消息给消息引擎系统,系统 B 从消息引擎系统中读取 A 发送的消息。2、消息引擎的分类点对点模型:也叫消息队列模型。如果拿上面那个“民间版”的定义来说,那么系统 A 发送的消息只能被系统 B 接收,其他任何系统都不能读取 A 发送的消息。日常生活的例子比如电话客服就属于这种模型:同一个客户呼入电话只能被一位客服人员处理,第二个客服人员不能为该

2020-12-18 23:17:00 259 3

原创 Phoenix 的一次删除索引,删除表的惨痛经历

在最近的一次项目之中,我经历了一次Phoenix 的一次删除索引,删除表的惨痛经历。历时2天才找到解决方案,特此分享给大家。背景:想要在Hbase的的表中(表也是phoenix建立的)再建一个phoenix的二级索引。代码如下:-- 建表CREATE TABLE "FN1"."CHATDOC" ( ID UNSIGNED_LONG NOT NULL PRIMARY KEY, PARENTID UNSIGNED_LONG , TITLE VARCHAR

2020-12-17 22:06:39 1660 1

原创 KKfile文件预览使用以及部署

概述KKfile文件预览是一款开源的文档在线预览项目。项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等。项目特性支持word excel ppt,pdf等办公文档支持txt,java,php,py,md,js,css等所有纯文本 支持zip,rar,jar,tar,gzip等压缩包 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像) 支持mp3,mp4,flv等多

2020-05-15 14:36:50 15227 2

原创 ES超时,导致服务假死close_wait

在最近的项目中因为采用了ES的技术,在最近的很长一段时间都会出现ES超时的情况,但是无论如何都没有查出原因。最开始认为是因为我们把ES从腾讯云迁移到了微软云导致的。因为这个现象就是因为迁移的ES后才出现的,同时在客户那边也没有出现同样的现象。超时的出现让我们再开发的时候很难受,因为它时常好时常坏。我们也尝试了很多方式去排查原因,包括ES语句优化,ES配置修改等,但是都没什么用。在最近,当...

2020-04-16 16:15:34 4141 3

原创 判断一个数字是否是回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。来源:...

2020-01-28 22:45:07 3301

原创 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。class So...

2019-11-24 21:13:41 152

原创 两数相加 中等难度

给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...

2019-11-24 20:32:35 149

原创 LeetCode 两数之和

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路:直...

2019-11-23 22:01:57 155

原创 mybatis 大数据分批提交更新

在使用mybatis进行数据批量新增的时候,有时候数据过大时需要进行分批处理。这个时候就需要一些特殊的处理了,不多说,直接上代码 public void saveTemp(List<AddressBookDepartmentAllSyncTemp> allSyncTemps) { baseMapper.deleteTempTable(); i...

2019-10-08 09:18:26 1193

原创 Java异常的正确使用

在java中关于处理异常的方法基本可分为俩种,一种是try catch 捕捉 一种是throw 或throws 抛异常。那么在写Java程序的时候经常遇到需要或者抛出或者捕获异常的情况,在什么情况下抛出,什么情况下捕获应该依照一个什么样的规则呢?针对这些问题我进行了一次针对性的复习 然后下面就是我的一些想法,希望对大家有所帮助首先我们需要明白try catch与 throws的区别:...

2019-09-12 15:38:24 664

原创 工厂模式与spring 依赖注入的一些问题

我们都知道当一种接口有多个实现的时候,可以采用工厂模式来做,而spring的注解和依赖注入也是采用的工厂模式来实现的。然后在最近的一次业务中我想采用工厂模式再配合spring的业务来实现某一个功能 :工厂的实现类代码如下:public class ZwwxFactoryImpl implements WXInterfaceFactory { @Override ...

2019-09-02 12:38:57 1284

原创 算法进阶之——递归

假设你在祖母的阁楼中翻箱倒柜,发现了一个上锁的神秘手提箱。祖母告诉你,钥匙很可能在下面这个盒子里。 这个盒子里有盒子,而盒子里的盒子又有盒子。钥匙就在某个盒子中。 为找到钥匙,你将使用什么算法?先想想这个问题,再接着往下看。 下面是一种方法。(1) 创建一个要查找的盒子堆。 (2) 从盒子堆取出一个盒子,在里面找。 (3) 如果找到的是盒子,就将其加入盒子堆中,以便以后...

2019-08-26 09:41:26 319 2

原创 算法进阶之——选择排序

在介绍选择排序之前,我们有必要先说一下数组和链表的区别。简单的来说就是:数组适合查询,链表适合新增和删除。好了,下面我们开始正式进入选择排序算法。 假设你的计算机存储了很多乐曲。对于每个乐队,你都记录了其作品被 播放的次数。你要将这个列表按播放次数从多到少的顺序排列,从而将你喜欢的乐队 排序。该如何做呢? 一种办法是遍历这个列表,找出作品播放次数最多的乐队,并将该乐队...

2019-08-25 22:32:46 212

原创 算法进阶之——二分法查找

假设要在电话簿中找一个名字以K打头的人,(现在谁还用电话簿!)可以从头开始翻页,直到进入以K打头的部分。但你很可能不这样做,又假设要在字典中找一个以O打头的单词,你也将从中间附近开始。 现在假设你登录Facebook。当你这样做时,Facebook必须核实你是否有 其网站的账户,因此必须在其数据库中查找你的用户名。如果你的用户 名为karlmageddon,Facebook可从以A打头...

2019-08-05 11:38:31 445

原创 springboot +mybatisplus

在之前的项目中mybatis 也是我们常用的持久层框架了,然后今天给大家带来的是一个mybatis的增强工具mybatis-plus在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 M...

2019-07-14 20:46:56 258

原创 Mybatis-plus 多数据源结合mysql 与oracle的坑

在最近的项目中需要在一个微服务里面同时连接俩个数据库一个mysql 一个oracle,当时心里在想不就是多数据源嘛 简单!唰唰的就写好了配置如下spring: datasource: druid: first: driver-class-name: com.mysql.cj.jdbc.Driver password: ${spring....

2019-06-05 14:40:08 8364 1

原创 ElasticSearch 模糊查询 wildcard 的一些问题(模糊查询不精准问题)

我们都知道在ES中如果我们想要实现MySQL中的like查询的时候可以使用wildcard 通配符来进行操作。其中?代表任意一个字符*代表任意的一个或多个字符。操作语句如下#模糊查询,比如查询李世民GET booke/member/_search{"query": { "wildcard":{ "senderName": "李*" } } }...

2019-06-03 09:47:34 25372 9

原创 Httpclient 上传下载文件

上传文件 public String mediaUploadFile(String url, String filePath, String type) { CloseableHttpClient httpClient = HttpClients.createDefault(); String accessToken = getAccessToken(fa...

2019-05-30 10:33:15 1582

原创 haproxy安装部署以及配置详解

haproxy安装部署一、 Haproxy简介haproxy提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。haproxy特别适用于那些负载特别大的web站点,这些站点通常又需要会话保持或七层处理。haproxy运行在时下的硬件上,完全可以支持数以万计的并发连接,并且它的运行模式使得它可以很简单安全的整合进您当...

2019-05-22 17:43:36 3483

原创 ElasticSearch(一)——入门

Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用:维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能。英国卫报使用Elasticsearch结合用户日志和社交网络数据提...

2019-05-17 14:02:19 278

原创 ElasticSearch 实现数据分页(bucket_sort的使用

es版本至少6.1以上语句:GET 76/sessions/_search{ "size": 0, "query": { "bool": { "must": [ { "term": { "sid": { "value": "76e14832" }...

2019-05-13 19:35:58 7531 1

翻译 Elasticsearch - 基础介绍及索引原理分析

最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elasticsearch感兴趣/想了解的同学有所帮助。 同时也希望有发现内容不正确或者有疑问的地方,望指明,一起探讨,学习,进步。介绍Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一...

2019-05-10 22:08:15 209

原创 Elasticsearch如何实现SQL语句中 Group By 和 Limit 的功能

有 SQL 背景的同学在学习 Elasticsearch 时,面对一个查询需求,不由自主地会先思考如何用 SQL 来实现,然后再去想 Elasticsearch 的 Query DSL 如何实现。那么本篇就给大家讲一条常见的 SQL 语句如何用 Elasticsearch 的查询语言实现。1. SQL语句假设我们有一个汽车的数据集,每个汽车都有车型、颜色等字段,我希望获取颜色种类大于1个的...

2019-05-10 15:52:53 735

原创 springboot项目初始化

https://blog.csdn.net/pjmike233/article/details/81908540

2019-05-09 14:00:27 357

大规模 高负载均衡 问题解决方案

大规模 高负载均衡 问题解决方案!超级详细 有需要的朋友可以下载

2018-07-19

jsx 中文API文档

jsx 中文API文档

2017-03-21

jxl_ 2.6 jar包

jxl_ 2.6 jar包 完美支持EXCEL 2012 、2007 2003 完美支持中文

2017-03-20

图书管理系统

图书管理系统,SE版

2016-05-05

空空如也

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

TA关注的人

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