Flink 原理与项目实战 Flink是新的stream计算引擎,用java实现。既可以处理stream data也可以处理batch data,可以同时兼顾Spark以及Spark streaming的功能,与Spark不同的是,Flink本质上只有stream的概念,batch被认为是special stream。Flink在运行中主要有三个组件组成,JobClient,JobManager 和 TaskManager。主要工作原理如下图。
资源使用记录情况方案初探 在业务需求中,有时对与危险操作,比如删除需要提醒用户删除该资源可能造成的影响。特别是对于基础资源被创建后,其他业务资源有可能处于正在使用该基础资源的状态。对于该基础资源的删除,有必要提醒用户当前有哪些业务资源在使用。下面将重点介绍一种通过数据库结合AOP来维护管理基础资源使用情况的方案。其他基于事件的方案将做简要分析。 对于资源的使用情况记录,在这里只是简单的记录下当前...
Spring boot 重试机制用法与实现 在调用第三方接口或者使用mq时,会出现网络抖动,连接超时等网络异常,所以需要重试。为了使处理更加健壮并且不太容易出现故障,后续的尝试操作,有时候会帮助失败的操作最后执行成功。例如,由于网络故障或数据库更新中的DeadLockLoserException导致Web服务或RMI服务的远程调用可能会在短暂等待后自行解决。 为了自动执行这些操作的重试,Spring Batch具有RetryOperatio...
EasyExcel 集成国际化实现导入导出 1、配置文件准备1.1 pom.xml 导入EasyExcel 依赖包 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apac...
frp 内网穿透设置 下载首先到下载页面下载对应版本的服务端和客户端。我的服务器是Ubuntu 16.04 64位,客户端也是Ubuntu 16.04 64位,所以下面都以我自己的为准。大家根据自己情况配置。在linux操作系统上,执行下面的命令,下载frp服务器端。cd /optsudo mkdir frpcd frpsudo wget https://github.com/fatedier/fr...
使用Lambda和反射对两个List循环,根据条件赋值 lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作并返回这个对象的集合测试类:@Datapublic class Girl { private String id; private String name;}@Datapublic class SchoolBoy { private String girlId;...
使用LocalDateTime处理时间与前端和数据库的无缝对接 一、简介 通常与前端互相传递时间相关参数,一般为String或Date 类型,而DTO中一般用LocalDateTime处理,这样会发生多次时间格式或类型转换,产生冗余代码。故可以通过全局AOP实现前端所传String类型时间自动映射转化为LocalDateTime类型,后端处理后也自动映射LocalDateTime为String 返回前段。 其中对于PostgreSQL数...
Orika配置使用及解决LocalDateTime映射问题 一、简介Orika是java Bean映射框架,可以实现从一个对象递归拷贝数据至另一个对象。在开发多层应用程序中非常有用。在这些层之间交换数据时,通常为了适应不同API需要转换一个实例至另一个实例。有很多方法可以实现:硬代码拷贝或Dozer实现bean映射等。总之,需要简化不同层对象之间映射过程。Orika使用字节码生成器创建开销最小的快速映射,比其他基于反射方式实现(如,Dozer)...
jar文件打包瘦身与部署为Windows服务 需求: 由于spring boot 结合cloud 可以有多个微服务,可以打很多jar包,其中有很多maven库是重复的,package生成的jar中由于重复会占用大量的体积。造成在操作系统上部署时占用磁盘空间,安装过程也较慢。 同时,为了便于在操作系统上一键化部署jar服务,可以编写install.exe或install.sh来实现。在云平台上由于有install文件,也可以方便以组件的形式安装...
docker 部署java web项目 主要步骤安装docker卸载旧版本docker如果centos系统中存在老版本的docker,可以先卸载掉旧版本的docker,再安装新版本docker。yum remove docker docker-common docker-selinux docker-engine安装docker-ce版 参见上一篇安装docker: https://blog.csdn.net...
docker 安装与部署本地私人存储服务 安装dockerUbuntu 14.04 16.04 (使用apt-get进行安装)# step 1: 安装必要的一些系统工具sudo apt-get updatesudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common# step 2: 安装GPG证书curl -...
win10 搭建完整深度学习开发环境 硬件环境: win10 64位, GPU GTX1070必须安装软件: python3.6 Anaconda CUDA8.0 (不能选CUDA9.0, 目前不支持) cudnn-8.0选择安装的软件或库: Keras tensorlayer TFLearn Visual Studio 2015 JetBrains PyCharm安
数据结构与算法分析 c++ 排序 排序 外部排序不能在主存中完成而必须在磁盘或磁带上完成的排序为外部排序 内部排序 内部排序是数据记录在内存中进行排序。 几种常用的内部排序:冒泡排序,简单选择排序,直接插入排序,希尔排序,快速排序,归并排序,堆排序,基数排序。 下面将从算法思想, 时间空间复杂度和算法例程来归纳一下这八中排序:冒
散列(hashing) 散列散列表的实现常常叫做散列。散列是一直用于以常数平均时间执行插入,删除和查找的技术。一种简单的散列函数。int hash( const string & key, int tableSize){int hashVal = 0;for ( char ch : key ) hashVal += ch; /
SQL Group by SQL GROUP BY 语句参考:http://www.w3school.com.cn/sql/sql_groupby.aspSQL sum()SQL Having合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。GROUP BY 语句GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SQL join SQL JOINSQL AliasesSQL Inner JoinSQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join 和 Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,