java技术圈 为您找到相关结果 88

maven手动安装远程仓库中找不到的jar到本地仓库

只需要使用一个maven命令即可: mvn install:install-file -Dfile=(jar本地地址)/root/IdeaProjects/keta-customer/lib/patchca-0.5.0.jar -DgroupId=com.github.bingoohuang(groupId) -DartifactId=(artifactId)patchca -Dversion=(version)0.5.0 -Dpackaging=jar 即可利用pom像普通情况一样使用,在项目里自由使用了 后来因需安装bairong jar 使用命令: mvn install:install-file -Dfile=/Users/daniel/Desktop/bsApi-2.3.5-sha...阅读全文

博文 2019-04-04 09:45:57 www.allocmem.com

java - log4j2 ERROR StatusLogger Unrecognized conversion specifier

I have log4j2 in my project when I run main method in intellij Idea ,it correct to print log. when i use maven-shade-plugin package project to jar file, and run jar as standalone application it shows error: java -cp package.jar com.xxx.TestMain the console output ERROR StatusLogger Unrecognized format specifier [d] ERROR StatusLogger Unrecognized c...阅读全文

博文 2020-12-11 03:23:33 Stack Overflow

ubuntu 安装本地版storm并运行WordCount

前言: 开始从apache下载的最新版1.0.3,本地安装没有问题,但是当执行example-wordcount的时候报错找不到主类,后来解压jar包发现,1.03里面没有wordcount,有一些其他的类,于是第二次去下载安装了一个早期版本0.9.6,成功执行。 关于1.0.3和0.9.6的配置异同,可参考官方文档地址http://storm.apache.org/releases/1.0.3/Setting-up-a-Storm-cluster.html 和http://storm.apache.org/releases/0.9.6/Setting-up-a-Storm-cluster.html 个人感觉在安装使用过程中,应尽量从官方文档以及FAQ等获取有用信息,否则自己容易进入一些误区...阅读全文

博文 2019-04-04 09:51:29 www.allocmem.com

[转]maven pom.xml 主要标签说明

Maven 构件工程的属性文件 本文转载自:https://my.oschina.net/u/1187481/blog/204865 自己再增加了一些东西,以供学习查阅之用,不对之处,欢迎大家不吝赐教 pom.xml文件(实践用): 4.0.0 asia.banseon banseon-maven2 jar 1.0-SNAPSHOT banseon-maven http://www.baidu.com/banseon A maven project to study maven. HELLO WORLD banseon banseon@126.com Project Manager Architect demo http://hi.baidu.com/banseon No -5 Demo b...阅读全文

博文 2019-04-04 09:47:18 www.allocmem.com

java collection Iterator的remove()方法

事情是这样的,今天在项目里用spring data jpa hibernate的SearchFilter返回一个List<Object>的时候,由于需求需要,必须再使用一定条件过滤部分元素,开始想iterator.remove()方法三下五除二就能解决,结果就悲剧了,前前后后搞了近一小时。下面上代码,同时记录一下: Specification specification = DynamicSpecifications.bySearchFilter(Lawyer.class, set); List lawyerList =lawyerService.findByExample(specification, page); 一开始使用 Iterator阅读全文

博文 2019-04-04 09:46:05 www.allocmem.com

ubuntu 16.04安装zookeeper

##搭建环境 ubuntu 16.04 LTS zookeeper-3.5.1-alpha dubbo 调用 ##搭建过程 使用官方源码包进行安装 资源准备 zookeeper-3.5.1-alpha.tar.gz 源码包 官方稳定版下载地址http://apache.fayea.com/zookeeper/ 开始安装 解压压缩包到指定目录 tar -zxvf zookeeper-3.5.1-alpha.tar.gz -C /home/zhoudazhuang/local/ 使用第一步解压的源码包路径,cd /home/zhoudazhuang/local/zookeeper-3.5.1-alpha/conf 拷贝一份zoo_sample.cfg ,并命名为zoo.cfg 编辑zoo.cfg...阅读全文

博文 2019-04-04 09:47:53 www.allocmem.com

tomcat配置https

搭建环境: ubuntu 16.04 LTS apache tomcat 7 java 7 搭建过程: 1. 服务端利用jdk自带的keytool生成server.keystore,命令如下: keytool -genkey -alias tomcat -keyalg RSA -keypass anteoypasswd -storepass Envisi0n -keystore server.keystore -validity 3600 部分参数说明如下 - alias 要处理的条目的别名 - keyalg 密钥算法名称 - keysize 密钥位大小 - sigalg 签名算法名称 - destalias 目标别名 - dname 唯一判别名 - startdate 证书有效期开始日期...阅读全文

博文 2019-04-04 09:47:38 www.allocmem.com

Linux之systemd服务配置及自动重启_ZONGXP的博客

0 背景 在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方法很简单,使用linux系统的systemd即可实现 1 systemd介绍 历史上,linux的启动一直采用init进程,比如 $ sudo /etc/init.d/apache2 start # 或者 $ service apache2 start 这种方法有两个缺点。 一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。 Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动...阅读全文

博文 2021-05-30 16:25:39 CSDN博客

MapReduce:实现join的几种方法_sofuzi的博客

reduce side join reduce side join是一种最简单的join方式,其主要思想如下: 在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签> (tag),比如:tag=0表示来自文件File1,tag=2表示来自文件File2。即:map阶段的主要任务是对不同文件中的数据打标签。> 在reduce阶段,reduce函数获取key相同的来自File1和File2文件的value list, 然后对于同一个key,对File1和File2中的数据进行join(笛卡尔乘积)。即:reduce阶段进行实际的连接操作。 map side join 之所以存在reduce side join,是因为在m...阅读全文

博文 2021-01-12 08:20:45 CSDN博客

使用Maven构建Web项目的目录结构 - xiaotou745

1.Web项目的目录结构 基于Java的Web项目,标准的打包方式是WAR。与JAR比较,包含更多的内容,比如JSP文件、Servlet、Java类、web.xml配置文件、依赖JAR包、静态web资源(HTML、CSS、JavaScript)等。 一个典型的WAR文件如下目录结构: File-system代码 —war/ + META-INF/ + WEB-INF/ | + classes/ | | + ServletA.class | | + config.properties | | + ... | + web.xml + img/ + css/ + js/ + index.html + sample.jsp 一个WAR包下至少包含两个子目录:META-INF和WEB-INF,前者包含...阅读全文

博文 2019-10-19 09:05:44 博客园

错误:Unable to locate Spring NamespaceHandler for XML schema_裴大帅2020_新浪博客

一、错误背景: 在java程序中加入了spring的成分,然后使用mvn clean package -Dmaven.test.skip=true进行打包,打包完毕后通过java -jar xx.jar执行程序,结果就报错了。更加详细的错误见如下: [QC] WARN [main] org.springframework.context.support.AbstractApplicationContext.refresh(546) | Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.parsing.BeanDe...阅读全文

博文 2020-12-11 03:14:35 blog.sina.com.cn

Linux下的21个ss命令使用示例详解 – 任我乐

简介: Socket Statistics(ss)命令类似于netstat,它用于显示各种有用的网络套接字信息。 长时间看,已经注意到netstat这个命令程序已经过时了。从而代替netstat的是ss命令。一个全新的ss命令使用起来必定有些陌生,不过ss许多选项与netstat使用的选项类似,但我们还会看到一些差异。 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。 一般来说,网络套接字是由IP地址,传输协议和端口来定义的。这种组合构成了双向连接的一个方面。例如:一个Web服务器可能正在侦听172.28.204.62:80上的传入TCP连接,这是套接字。不过需要说明的是套接字不是连接本身,而是连接的端点之一。 下面我讲解如何使用ss命令查看各种信息。具体...阅读全文

博文 2019-05-10 03:48:22 renwole.com

Flink Slot详解与Job Execution Graph优化 - 个人文章

TalkingData 440 Flink Slot详解与Job Execution Graph优化 flink 阅读约 18 分钟 前言 近期将Flink Job从Standalone迁移至了OnYarn,随后发现Job性能较之前有所降低:迁移前有8.3W+/S的数据消费速度,迁移到Yarn后分配同样的资源但消费速度降为7.8W+/S,且较之前的消费速度有轻微的抖动。经过原因分析和测试验证,最终采用了在保持分配给Job的资源不变的情况下将总Container数量减半、每个Container持有的资源从1C2G 1Slot变更为2C4G 2Slot的方式,使该问题得以解决。 经历该问题后,发现深入理解Slot和Flink Runtime Graph是十分必要的,于是撰写了这篇文章。本文内容分...阅读全文

博文 2020-02-04 09:37:49 SegmentFault 思否

java - Maven shade unable to locate Spring NamespaceHandler for XML schema namespace

I've a small Spring project, that I've booted up with roo 1.2.2 I can run the main class just fine within Eclipse Juno. However when I try to run the JAR file built with mvn package, I get the following error: Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate...阅读全文

博文 2020-12-11 03:17:02 Stack Overflow

apache中如何调用CGI脚本

写博客 CSDN 中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。 教程 文章 帮助 视频 讨论 ManageOne运维监控数据一站式集成 Python应用篇 基于华为云Stack的云管平台开发实践 华为云专家_开发者中心-华为云 SDK_开发者中心-华为云 云创校园计划_开发者中心-华为云 编写训练代码 标准页面 配置脚本图元 一站式电商性能测试实战 应用性能管理基本操作-拓扑 应用性能管理基本操作-调用链 编译 Apache 配置错误 AH02572:无法配置至少一个证书和密钥 Apache 配置错误 AH00558:无法可靠地确定服务器完全限定的域名 最...阅读全文

博文 2021-06-14 12:49:56 华为云

在spark中使用UDF函数

spark-udf虽然spark.sql.function中的已经包含了大多数常用的函数,但是总有一些场景是内置函数无法满足要求的,此时就需要使用自定义函数了(UDF)。刚好最近用spark时,scala,java,python轮换着用,因此这里总结一下spark中自定义函数的简单用法。这里总结了scala,java,python 三种接口的DataFrame和sparkSQL的自定义函数定义和使用方法,对于比较复杂的分组自定义函数未涉及,对于这类复杂需求,应该有变通之法吧。1、pyspark接口的UDF1.1、在dataframe中使用# 定义自定义函数 import numpy as np def log_py(num): return float(np.log(num)) # 注册自定...阅读全文

博文 2020-11-19 06:49:07 知乎

图数据库基础

本文尝试以提问回答的方式来介绍笔者所理解的图数据库。包括图数据库的基本定义,图数据库如何表达数据,图数据相比关系型数据库的优势,图数据库使用场景等。Q:什么是图数据库?A:图数据库是图数据库管理系统的简称,使用图形化的模型进行查询的数据库,通过节点、边和属性等方式来表示和存储数据,支持增删改查(CRUD)等操作。图数据库一般用于OLTP系统中,提供在线事务处理能力。与图数据库对应的是图计算引擎,一般用于OLAP系统中,提供基于图的大数据分析能力。Q:图数据库如何表达数据?或者其建模方式A:图数据库使用图模型来操作数据。目前使用的图模型有3种,分别是属性图(Property Graph)、资源描述框架(RDF)三元组和超图(HyperGraph)。现在较为知名的图数据库主要是基于属性图,更确切...阅读全文

博文 2020-11-03 08:18:25 知乎

spring boot中,jar包、war包的区别 - cag2050

jar包、war包 比较(表格) 项目 jar包 war包 在开发调试完成之后,可以将应用打成JAR包的形式,可以直接使用Maven插件的package命令,最终会形成一个可运行的 JAR包。我们使用java –jar命令就可以运行这个JAR包了。 JAR包解压后的目录结构: 这个JAR包与传统JAR包的不同之处在于里面有一个名为lib的目录,在这个目录中包含了这个简单应用所依赖的其他JAR包,其中也包含内置的嵌 入式Tomcat,正是使用它,才能发布服务和访问Web资源。除了我们编写的源码所编译形成的CLASS以外,在org目录下还有许多Spring所提 供的CLASS,正是依赖这些CLASS,才能够加载位于lib目录下JAR中的类。这样的加载机制与在OSGi bundle中声明Bundl...阅读全文

博文 2019-10-19 09:06:14 博客园

HTTPS双向认证指南

HTTPS双向认证指南作者:黄湘龙 研究HTTPS的双向认证实现与原理,踩了不少坑,终于整个流程都跑通了,现在总结出一篇文档来,把一些心得,特别是容易踩坑的地方记录下来。 1.原理 双向认证,顾名思义,客户端和服务器端都需要验证对方的身份,在建立Https连接的过程中,握手的流程比单向认证多了几步。单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端的公钥证书上传到服务器端给服务器端进行验证,等双方都认证通过了,才开始建立安全通信通道进行数据传输。 1.1 单向认证流程 单向认证流程中,服务器端保存着公钥证书和私钥两个文件,整个握手过程如下: 单向认证流程 客户端发起建立HTT...阅读全文

博文 2021-11-12 09:33:21 简书

都是 HBase 上的 SQL 引擎,Kylin 和 Phoenix 有什么不同?

作者 | 翟娜大数据时代,数据的价值越来越被重视,企业从海量大数据中挖掘所需要的信息,用来驱动业务决策以获得更大的商业价值。与此同时,出现了越来越多的大数据技术帮助企业进行大数据分析,例如 Apache Hadoop,Hive,Spark,Presto,Drill,以及今天我们即将介绍的 Apache Kylin 和 Apache Phoenix 项目等,都是使用 SQL 语言就可以分析大数据,极大地降低了大数据的使用门槛。这些大数据技术提供 SQL 查询接口,不只是因为 SQL 学习成本低,同时也和 SQL 拥有丰富而强大的表达能力、能满足绝大多数的分析需求的特性有关系。了解 Apache Kylin 和 Apache Phoenix 的同学都知道,它们都是使用 Apache HBase ...阅读全文

博文 2020-05-15 07:59:44 掘金

Flink 自定义触发器实现带超时时间的 CountWindow - 云+社区

Flink 的 window 有两个基本款,TimeWindow 和 CountWindow。 TimeWindow 是到时间就触发窗口,CountWindow 是到数量就触发。如果我需要到时间就触发,并且到时间之前如果已经积累了足够数量的数据;或者在限定时间内没有积累足够数量的数据,我依然希望触发窗口业务,那么就需要自定义触发器。import org.apache.flink.api.common.functions.ReduceFunction; import org.apache.flink.api.common.state.ReducingState; import org.apache.flink.api.common.state.ReducingStateDescriptor; ...阅读全文

博文 2021-10-22 03:26:02 腾讯云

深入解析String#intern

在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用双引号声明出来的String对象会直接存储在常量池中。如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法会从字符串常量池中查询当前字符串是否存在,若不存在就会将当前字符串放入常量池中接下来我们主要来谈一下String#intern方法。首先深入看一下它的实现原理。1,JAVA 代码/** * Returns a canonical representat...阅读全文

博文 2019-08-09 06:31:26 美团技术团队

Hive On HBase实战 - 哥不是小萝莉

1.概述 HBase是一款非关系型、分布式的KV存储数据库。用来存储海量的数据,用于键值对操作。目前HBase是原生是不包含SQL操作,虽然说Apache Phoenix可以用来操作HBase表,但是需要集成对应的Phoenix依赖包到HBase集群中,同时需要编写对应的Schema才能实现SQL操作HBase。 本篇博客,笔者将为大家介绍另一位一种SQL方式来操作HBase,那就是Hive。 2.内容 2.1 使用场景 熟悉大数据的同学应该都知道,Hive是一个分布式的数据仓库,它能够将海量数据,结构化存储到HDFS上,然后通过SQL的方式对这些海量数据进行业务处理。而且,Hive学习成本很低,熟悉SQL的同学,很快就能编写一个Hive应用程序。 我们通过Hive把数据加载到HBase表中...阅读全文

博文 2020-11-12 03:39:16 博客园

Apache Doris (Incubating) 原理与实践

奇技指南近日,我们邀请到百度高级研发工程师李超勇前来360,分享百度开源数据库Apache Doris 的原理与实践。Apache Doris简介Doris(原百度 Palo)是一款基于大规模并行处理技术的分布式 SQL 数据库,由百度在2017年开源,2018年8月进入 Apache 孵化器。本次将主要从以下三部分介绍Apache Doris.Doris定位:即 Doris所要面临的业务场景及解决的问题Doris关键技术Doris案例介绍01 Doris定位 实时数据仓库Doris产品定位我们首先看一下Doris整个的定位。MPP 架构的关系型分析数据库PB 级别大数据集,秒级/毫秒级查询主要用于多维分析和报表查询2018年进入 Apache 孵化器使用场景上图是整个Doris的具体使用场...阅读全文

博文 2020-05-15 10:15:00 mp.weixin.qq.com

如何解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes_tongtong0704的博客

这个问题是在maven打包之后由于重复引用某些依赖导致生成了一些.SF等文件,运行jar时会抛出。 在遇到这个问题时,一时不知道是什么原因,上网查了很多解决方法,有的回答是: 原因:在META-INF下会有多余的以SF结尾的文件,删除后不会出现次问题 找到原因是因为引入的log4j版本有问题,当引入如下版本: log4j log4j 1.2.17 打包后不会出现如上问题 但我删除了META-INF下能看到的所有文件,打包时还是会生成还是会报错(因为是打包过程生成的); 然后又继续找答案,有说是rpc包版本冲突的,也...阅读全文

博文 2020-12-11 03:20:44 CSDN博客

一文读懂Apache Kylin

一文读懂Apache Kylin“麒麟出没,必有祥瑞。” —— 中国古谚语 Kylin思维导图 前言 随着移动互联网、物联网等技术的发展,近些年人类所积累的数据正在呈爆炸式的增长,大数据时代已经来临。但是海量数据的收集只是大数据技术的第一步,如何让数据产生价值才是大数据领域的终极目标。Hadoop的出现解决了数据存储问题,但如何对海量数据进行OLAP查询,却一直令人十分头疼。 企业中的查询大致可分为即席查询和定制查询两种。之前出现的很多OLAP引擎,包括Hive、Presto、SparkSQL等,虽然在很大程度上降低了数据分析的难度,但它们都只适用于即席查询的场景。它们的优点是查询灵活,但是随着数据量和计算复杂度的增长,响应时间不能得到保证。而定制查询多数情况下是对用户的操作做出实时反应,H...阅读全文

博文 2020-04-30 04:52:16 简书

Thrift笔记(六)--单端口 多服务 - luckygxf

多个服务,使用监听一个端口。先上一个demo Test.thrift namespace java com.gxf.thrift enum RequestType { SAY_HELLO, //问好 QUERY_TIME, //询问时间 } struct Request { 1: required RequestType type; // 请求的类型,必选 2: required string name; // 发起请求的人的名字,必选 3: optional i32 age; // 发起请求的人的年龄,可选 } exception RequestException { 1: required i32 code; 2: optional string reason; } // 服务名 ser...阅读全文

博文 2021-05-02 16:26:40 博客园

BeanUtils对象属性copy的性能对比以及源码分析 - kancy

1. 对象属性拷贝的常见方式及其性能 在日常编码中,经常会遇到DO、DTO对象之间的转换,如果对象本身的属性比较少的时候,那么我们采用硬编码手工setter也还ok,但如果对象的属性比较多的情况下,手工setter就显得又low又效率又低。这个时候我们就考虑采用一些工具类来进行对象属性的拷贝了。 我们常用的对象属性拷贝的方式有: Hard Code net.sf.cglib.beans.BeanCopier#copy org.springframework.beans.BeanUtils.copyProperties org.apache.commons.beanutils.PropertyUtils.copyProperties org.apache.commons.beanutils.B...阅读全文

博文 2021-03-05 11:01:14 博客园

Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题_偶尔记一下 - mybatis.io

步骤2:配置Log4J 配置Log4J比较简单, 比如需要记录这个mapper接口的日志: package org.mybatis.example; public interface BlogMapper { @Select("SELECT * FROM blog WHERE id = #{id}") Blog selectBlog(int id); } 只要在应用的classpath中创建一个名称为log4j.properties的文件, 文件的具体内容如下: # Global logging configuration log4j.rootLogger=ERROR, stdout # MyBatis logging configuration... log4j.logger.org.my...阅读全文

博文 2021-01-28 12:18:21 CSDN博客

使用Java Low Level REST Client操作elasticsearch - ~冰

Java REST客户端有两种风格: Java低级别REST客户端(Java Low Level REST Client,以后都简称低级客户端算了,难得码字):Elasticsearch的官方low-level客户端。 它允许通过http与Elasticsearch集群进行通信。 不会对请求进行编码和响应解码。 它与所有Elasticsearch版本兼容。Java高级REST客户端(Java High Level REST Client,以后都简称高级客户端):Elasticsearch的官方high-level客户端。 基于low-level客户端,它公开了API特定的方法,并负责处理。 低级客户端 的功能包括: 依赖最小 所有可用节点,会负载平衡 在节点故障和响应特定状态码的情况下会进行...阅读全文

博文 2020-12-03 05:58:47 博客园

Apache Thrift系列详解(二)

前言 Thrift提供的网络服务模型:单线程、多线程、事件驱动,从另一个角度划分为:阻塞服务模型、非阻塞服务模型。 阻塞服务模型:TSimpleServer、TThreadPoolServer。 非阻塞服务模型:TNonblockingServer、THsHaServer和TThreadedSelectorServer。 TServer类的层次关系: 正文 TServer TServer定义了静态内部类Args,Args继承自抽象类AbstractServerArgs。AbstractServerArgs采用了建造者模式,向TServer提供各种工厂: 工厂属性 工厂类型 作用 ProcessorFactory TProcessorFactory 处理层工厂类,用于具体的TProcessor...阅读全文

博文 2021-08-16 07:54:29 网络服务模型

Spring 踩坑之@Transactional 神奇失效 - 个人文章

小鱼儿 18 Spring 踩坑之@Transactional 神奇失效 事务处理 事务 spring java 发布于 2018-04-26 引言 对于追求数据强一致性的系统,事务扮演者十分重要的角色.最近在项目中遇到一个事务失效的问题,在此分享给大家。 情景回放 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction ; SQL []; Lock wait timeout exceeded; try restarting transaction; nested exception ...阅读全文

博文 2020-07-21 12:57:12 SegmentFault 思否

HBase教程™

自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案。大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案。 Hadoop使用分布式文件系统,用于存储大数据,并使用MapReduce来处理。Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理。 Hadoop的限制 Hadoop只能执行批量处理,并且只以顺序方式访问数据。这意味着必须搜索整个数据集,即使是最简单的搜索工作。 当处理结果在另一个庞大的数据集,也是按顺序处理一个巨大的数据集。在这一点上,一个新的解决方案,需要访问数据中的任何点(随机访问)单元。 Hadoop随机存取数据库 应用程序,如HBase, Cassandra, couchDB, Dynamo 和 Mong...阅读全文

博文 2020-05-15 08:17:49 www.yiibai.com

Flink的窗口介绍

Flink的Watermark细节介绍一文中提到了Watermark其实主要就是解决Event Time + Window中的数据完整性问题的,本文作为那篇文章的补充,再介绍一下Window这个概念。关于这部分,我觉得官方文档已经介绍的非常详细了,如果你是Flink使用者,强烈建议好好读几遍。我这里就主要概括性的介绍一下,作为前面文章的补充,同时解决前文遗留的一个问题。What & Why什么是Window?为什么需要Window?流处理里面一般都是事件驱动的(Spark是微批),即每个事件来就会触发算子(Operator)进行计算,典型的比如map、flatmap、filter等,这些都是无状态的计算。有些时候需要在流处理里面进行有状态的计算,比如电商场景分析1分钟的访问人数、购买人数各是...阅读全文

博文 2021-10-28 10:05:35 NYC's Blog

maven全局配置文件settings.xml详解 - 静默虚空

概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径。 settings.xml文件是干什么的,为什么要配置它呢? 从settings.xml的文件名就可以看出,它是用来设置maven参数的配置文件。并且,settings.xml是maven的全局配置文件。而pom.xml文件是所在项目的局部配置。 Settings.xml中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。 settings.xml文件位置 settings.xml文件一般存在于两个位置: 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: \({user.home}/.m2/settings.x...阅读全文

博文 2020-05-27 12:10:32 博客园

Hadoop集群(第6期)_WordCount运行详解 - 虾皮

1、MapReduce理论简介 1.1 MapReduce编程模型 MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。 在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop集群中只有一台JobTracker。 在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个...阅读全文

博文 2020-08-31 02:29:33 博客园

Maven仓库理解和优先级

5 Seven 2017 前言使用 maven 也有一段时间了,有时候在配置 repository,mirror,profile的时候,总会导致 jar 拉取不到。所以认真的分析了 maven 获取 jar 包时候的优先级。 Maven 仓库的分类仓库分类:本地仓库和远程仓库。Maven根据坐标寻找构件的时候,它先会查看本地仓库,如果本地仓库存在构件,则直接使用;如果没有,则从远程仓库查找,找到后,下载到本地。 1)本地仓库默认情况下,每个用户在自己的用户目录下都有一个路径名为.m2/repository/的仓库目录。我们也可以在 settings.xml 文件配置本地仓库的地址 2)远程仓库本地仓库好比书房,而远程仓库就像是书店。对于Maven来说,每个用户只有一个本地仓库,但是可以配置多...阅读全文

博文 2020-05-27 12:27:37 ShenWenFang

使用 Checkstyle 检查代码风格

"一千个读者眼中有一千个哈姆雷特". "一千个开发者键盘之下, 可能有一千零一种代码风格". 背景 本文所有代码可以从 GitHub 获得. 每个开发者都会有自己喜欢的代码风格, 但当多个开发者需要协作开发一个项目的时候, 如何避免产生图中这样的"圣战"呢. Checkstyle 是一款能够帮助开发者编写遵循一定规范的 Java 代码的工具. 它默认支持 Google 的代码风格规范和 Sun 的代码风格规范, 这两种风格规范和大多数开发者平时使用的代码风格比较相近, 因此通常能够被大多数开发者接受. Checkstyle 也是高度可定制的, 可以根据自己/公司/组织的情况进行配置. 目标 通过本文, 你将了解到: 如何通过 Maven 插件, 在打包(或测试)期间自动检查代码风格; 如何配...阅读全文

博文 2020-07-02 09:57:00 掘金

Storm、Spark与Flink详细比较

TIP 本文主要是介绍 Storm、Spark与Flink详细比较 。 Storm,Spark和Flink简介 联系与区别1、Apache Storm2、Spark Streaming3、Flink4、三者对比参考文章 # Storm,Spark和Flink简介 联系与区别 storm、spark streaming、flink是三个最著名的分布式流处理框架,并且都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。 # 1、Apache Storm Storm是一个免费并开源的分布式实时计算系统。利用Storm可以很容易做到可靠地处理无限的数据流,像Hadoop批量...阅读全文

博文 2021-12-24 14:07:04 智能后端和架构

关于log4j root logger 标签 以及additivity 属性_大鑫不列迭的博客

今天和两个同事讨论Log4j,他们都需要解决一个问题,怎么分开输出Logger。这么讲不清楚,举个例子: Java代码 package com.gmail.at.ankyhe.log4jtest; import org.apache.log4j.Logger; public class ClassA { private static Logger logger = Logger.getLogger(ClassA.class.getName()); public ClassA() { logger.info("ENTER ClassA()"); } public void foo() { logger.info("foo()"); bar(); } public void bar() { Lo...阅读全文

博文 2022-04-25 03:30:24 CSDN博客_log4j root

hadoop中MapReduce多种join实现实例分析-蚂蚁

一、概述 对于RDBMS中的join操作大伙一定非常熟悉,写sql的时候要十分注意细节,稍有差池就会耗时巨久造成很大的性能瓶颈,而在Hadoop中使用MapReduce框架进行join的操作时同样耗时,但是由于hadoop的分布式设计理念的特殊性,因此对于这种join操作同样也具备了一定的特殊性。本文主要对MapReduce框架对表之间的join操作的几种实现方式进行详细分析,并且根据我在实际开发过程中遇到的实际例子来进行进一步的说明。二、实现原理1、在Reudce端进行连接。 在Reudce端进行连接是MapReduce框架进行表之间join操作最为常见的模式,其具体的实现原理如下:Map端的主要工作:为来自不同表(文件)的key/value对打标签以区别不同来源的记录。然后用连接字段作为...阅读全文

博文 2020-08-31 02:28:56 51CTO博客

双亲委派模型与 Flink 的类加载策略

我们知道,在 JVM 中,一个类加载的过程大致分为加载、链接(验证、准备、解析)、初始化5个阶段。而我们通常提到类的加载,就是指利用类加载器(ClassLoader)通过类的全限定名来获取定义此类的二进制字节码流,进而构造出类的定义。Flink 作为基于 JVM 的框架,在 flink-conf.yaml 中提供了控制类加载策略的参数 classloader.resolve-order,可选项有 child-first(默认)和 parent-first。本文来简单分析一下这个参数背后的含义。parent-first 类加载策略ParentFirstClassLoader 和 ChildFirstClassLoader 类的父类均为 FlinkUserCodeClassLoader 抽象类,...阅读全文

博文 2021-10-22 03:09:33 知乎

Flink task和subTask_大数据私房菜的博客

Flink-Task、SubTask、并行度 ldc2013的博客 08-01 292 Task与SubTask 一个算子就是一个Task. 一个算子的并行度是几,这个Task就有几个SubTask 对应关系: 算子=Task 并行度=SubTask task是抽象概念,subtask是物力概念 Parallelism并行度 默认并行度--cpu核数 关键点 不同的并行度(subtask),肯定在不同的slot,但也可能在不同的taskmanager 一个流程序的并行度,可以认为就是其所有算子中算子并行度最大的并行度 数据传输模式: One-to-one:. 【白话Flink基础理论】Flink运行时(Runtime)架构(三)并行度&Task&SubTask&Slot&Flink中的并行剖...阅读全文

博文 2022-08-04 06:54:20 CSDN博客_flink subtask

大数据实用组件Hudi--实现管理大型分析数据集在HDFS上的存储 - 云+社区

问题导读 1.什么是Hudi? 2.Hudi对HDFS可以实现哪些操作? 3.Hudi与其它组件对比有哪些特点? 前两天我们About云群大佬公司想了解Hudi ,并上线使用。Hudi 或许大家了解的比较少,这里给大家介绍下Hudi这个非常实用和有潜力的组件。 Hudi是在HDFS的基础上,对HDFS的管理和操作。支持在Hadoop上执行upserts/insert/delete操作。这里大家可能觉得比较抽象,那么它到底解决了哪些问题? Hudi解决了我们那些痛点 1.实时获取新增数据 你是否遇到过这样的问题,使用Sqoop获取Mysql日志或则数据,然后将新增数据迁移到Hive或则HDFS。对于新增的数据,有不少公司确实是这么做的,比较高级点的,通过Shell调用Sqoop迁移数据实现自动...阅读全文

博文 2022-03-23 12:52:09 腾讯云

简单分析Flink算子返回NULL导致的异常

假设我们作业中有这样一段逻辑stream.map(xxx).filter(_ != null).xxx,并且map算子有可能返回NULL,你觉得作业运行会抛NPE吗?明明下游有filter not null,不应该出错才对?但实际情况是运行中有可能抛出异常。1.异常信息可能抛出的异常信息大致如下: // 1. 如果map算子返回值类型为Java Tuple Caused by: java.lang.NullPointerException at org.apache.flink.api.java.typeutils.runtime.TupleSerializer.copy(TupleSerializer.java:111) at org.apache.flink.api.java.typeu...阅读全文

博文 2022-03-29 06:13:47 知乎

什么是FastJson中AutoType反序列化漏洞?_hosaos的博客

文章目录 频繁出现的反序列化漏洞parse()及parseObject()AutoType及安全校验AutoType安全校验AutoType黑名单机制SafeMode安全机制攻击思路 反序列化攻击模拟TemplatesImpl攻击调用链路攻击类Translet生成构造攻击JSON串攻击模拟 写在最后 频繁出现的反序列化漏洞 最近公司的小伙伴们收到了一波安全工单,因为FastJson存在高危漏洞,要求将FastJson版本号升级到1.2.69及以上 漏洞描述如下 在Fastjson<=1.2.68的版本中,通过新的Gadgets链绕过autoType开关,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,实现了反序列化漏洞利用的远程代码执行效果,同时,此次修复补丁也补充了auto...阅读全文

博文 2022-05-23 08:07:38 CSDN博客_fastjson的autotype属性

Flink

TIP 本文主要是介绍 Flink-SpringBoot结合案例 。 Spring Boot整合Flink【----------------------------】Flink与Spring Boot的集成Spring容器的集成点依赖jar包注意点maven打包注意点注意包冲突目前方案的缺陷与解决思路参考文章 # Spring Boot整合Flink 使用spring boot整合flink可以快速的构建起整个应用,将关注点重点放在业务逻辑的实现上。在整合的过程中遇到许多问题,最大的问题是flink流无法访问spring容器中的类,从而导致空指针异常,解决思路是在流中进行spring bean的初始化以获得ApplicationContext,进而使用其getBean方法获取类实例。 软件版...阅读全文

博文 2022-07-25 02:23:25 SpringBoot结合案例 | 智能后端和架构