- 博客(34)
- 资源 (23)
- 收藏
- 关注
原创 flink 1.14 编译
命令,因为 编译的时候 会使用 某些 test 类型的依赖,而 -Dmaven.test.skip=true 命令是不会生成这些 test 依赖,编译出错。-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。protobuf和grpc低版本并不支持MacBook m1或m2 protobuf,需要使用。-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。指定 hadoop 版本。的protobuf。
2023-09-10 22:11:35 480
原创 wsl2 ssh localhost Permission denied, please try again.
问题描述su root输入密码之后能够成功的切换用户。ssh localhost输入上述密码之后,居然出现了问题,如图所示。解决安装ssh$ sudo apt-get install ssh生成使用SSH键值对$ ssh-keygen -t rsa复制公钥形成 id_rsa.pub 到authorized_keys 文件中$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys提供拥有者具有authorized_key
2021-10-30 00:24:51 920
原创 AutoCloseable 使用学习
介绍无论是使用文件 IO 流,还是网络 Socket 流,都免不了调用 close() 将流关闭。如果需要操作的流过多,就会导致混乱。一旦忘记将关闭方法放到 finally 中,很有可能出现流未被关闭,占用大量内存空间的问题。在try-with-resources结构中会自动调用AutoCloseable实现类的close()方法,简化了流程,提高了代码效率。Demotry-catch-finally 与 try-with-resourcetry-catch-finallyAC ac = n
2021-10-09 11:53:48 218
原创 Sublime text4 install package error问题解决
问题介绍 sublime text4 在安装 install package control 的时候,可能会遇到下述错误:an error occurred installing package control.Visit https://packagecontrol.io/installation for manual instructions问题解决 针对上述问题,可能是因为网络问题。这个时候,在h
2021-08-17 22:53:50 1448
原创 Java SPI机制在Flink SQL中的应用
Java SPI机制简介Java SPI机制,即Java Service Provider Interface,是Java提供的基于“接口编程 + 策略模式 + 配置文件”组合实现的动态加载机制。调用者可以根据实际使用需要,来启用、扩展或者替换框架的现有实现策略。在Java中,基于该SPI思想,提供了具体的实现,ServiceLoader,利用该类可以轻松实现面向服务的注册与发现,完成服务提供与使用的解耦。Java SPI机制常见的例子,如:数据库驱动接口实现类的加载:JDBC可以根据实际使用加载不
2021-05-15 18:03:28 236
原创 Flink 中 常见的clean()方法是用来干嘛的呢?
简介 阅读Flink源码的时候,经常看到如addSource、map、flatmap等方法里面都会调用clean()方法,阅读其注释给人一种抽象、触摸不到的感觉。public <OUT> DataStreamSource<OUT> addSource(SourceFunction<OUT> function, String sourceName, TypeInformation<O
2021-05-15 18:01:37 711 7
原创 从Flink集群的启动异常日志看内存计算过程
特别提醒:当前Flink版本为:1.10在一次启动Flink集群的过程中,内存参数方面采用下述配置:taskmanager.memory.process.size: 1728mtaskmanager.memory.managed.size: 0mtaskmanager.memory.task.heap.size: 1024m很遗憾,在执行start-cluster.sh脚本的时候,报错。鉴于这次错误,对Flink内存分布进行了简单理解。如果有分析不当或者片面的地方,请在评论中指出,一起学
2021-05-15 17:54:13 1197 3
转载 N的阶乘(N!)中的末尾有多少个0?(Trailing Zeros)
题目N的阶乘(N!)中的末尾有多少个0?描述Input: 11Output: 2Explanation:11! = 39916800, so the output should be 2Input: 5Output: 1Explanation:5! = 120, so the output should be 1.链接https:/...
2020-04-16 00:57:13 1164
原创 jar类名冲突?如何改包名?如何改类名?如何改class字节码中字符串?
上述的问题统统可以交由maven shade plugin中relocate标签完成。首先,我们来看如何修改包名。<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId...
2019-12-10 23:32:23 1092
原创 插入时间类型数据到数据库中,时间数据比现实数据少8个小时
当服务器的时区设置没有问题时候,看看连接url的链接是否有问题。spring.datasource.url = jdbc:mysql://xxxx:3306/xx?characterEncoding=utf8&allowMultiQueries=true&useSSL=false&&serverTimezone=UTC,我们可以看见服务时间区域设置的是UT...
2019-05-08 11:50:35 1992
原创 使用maven来Spring与Mybatis的整合及其问题的解决
所需要的jar包: <dependencies> <!-- Spring jar --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-co...
2019-05-05 14:32:53 163
原创 从一个文件夹中复制超过指定大小的文件夹或文件到另一个文件夹中
#!/bin/shfunction usage(){ echo $"usage:$0 dic size dis" echo "dic copy from directory" echo "size file size benchmark,use bytes" echo "dis copy to directory" exit 1}function cp_fileordic(){...
2019-04-23 15:48:09 353
原创 对linux系统中的/etc/profile进行多次source之后,打印PATH的值会出现重复
在安装大数据环境的时候,我们难免需要改动/etc/profile文件,将XX_HOME添加到PATH路径下,供用户在任意路径下,都可以直接输入命令来启动进程,如spark-submit。但是,在改动了配置文件,并对配置文件进行source,使得配置文件中的变量在不用退出并重新登录的情况下直接生效。如果处理不当的花,这个时候就会出现问题了。开始,我们只是想在/etc/profile里面将JA...
2019-04-23 10:49:19 6144 1
原创 HashSet 源码分析 -- java 1.8
Java8 HashSet原理概述在官方文档中是这样描述HashSet的:This class implements the Set interface, backed by a hash table (actually a HashMap instance). It makes no guarantees as to the iteration order of the set; i...
2019-04-12 10:38:32 109
转载 HashMap原理分析 -- java 1.8
Java8 HashMap原理概述在官方文档中是这样描述HashMap的:Hash table based implementationofthe Map interface. This implementation provides allofthe optional map operations,andpermitsnullvaluesandthenullk...
2019-04-11 00:02:17 174 1
原创 HBase与Hive之间的数据同步
该说明记录在有道云笔记中,不在复制到此。详情请见如下链接:http://note.youdao.com/noteshare?id=620365d94a19815750afb62692eb2953&sub=32A8081671B745879DDCBF88E31C8D78...
2019-04-10 22:01:23 399
转载 深入理解 hashcode 和 hash 算法
摘要1. 二进制计算的一些基础知识2. 为什么使用 hashcode3. String 类型的 hashcode 方法4. 为什么大部分 hashcode 方法使用 315. HashMap 的 hash 算法的实现原理(为什么右移 16 位,为什么要使用 ^ 位异或)6. HashMap 为什么使用 & 与运算代替模运算?7. HashMap 的容量为什么建议...
2019-04-08 00:06:31 657 1
原创 java设计模式 ------ 监听器模式
监听器模式包含了三个元素,即事件源,事件对象,监听器。其中,事件源,顾名思义,即时间发生的源头,是一个实体。事件对象,则强调的是一个动作,监听器想让事件源做的事情。而监听器则是监听事件源做某件事的时候出发事件对象的动作。 举一个简单的例子,小明很喜欢出去玩泥巴,常常把手弄得脏脏的。每当吃饭的时候,妈妈都会让小明在吃饭之间先把手洗赶紧了。那么,这个时候,事件源就是熊孩子小明,事件对...
2019-03-26 22:11:37 671
原创 spark源码分析:(二)2.分区与Task创建的细节
使用textFile()方法的时候,我们往往会在方法里面传入参数,用于指定分区数。那么我们传入几,就会创建几个分区么? 一开始我就是这么认为的,但是,通过阅读源码之后,才发现并不是这样的。那个参数名是minPartitions,也就是说最小的分区数,并不是指创建几个分区数。 在阅读这方面的源码的时候,我一开始认为使用textFile()进行文件读取的时候,就已经计算...
2019-03-11 14:31:40 469
原创 spark源码分析:(二)Spark 读取文件时候的思考。
当我们使用Spark读取文件的时候,感觉很容易,也很快速。但是,我们想过其中实现的内在原理没? 目前我总结了,四个小问题,作为思考。 1).RDD创建个数 2).当我们使用textFile Api的时候,指定minPartition=3的时候,为什么系统会创建四个分区,以及四个Task呢? 3).当Spark读取文件的时候,文件是怎么划分...
2019-03-11 14:17:55 471
原创 spark源码分析:(二)1.RDD个数的判断
RDD创建个数的判断。代码如下:val rdd1 = sc.textFile(input,3)val rdd2 = rdd1.map( x => x + s"(${x.length})" )println(rdd2.collect().mkString("\n"))通过debug,我们来看看rdd1,rdd2是什么类型的RDD。由于RDD之间并没有发生Shuffle,因此R...
2019-03-11 14:15:34 714
原创 更改文件夹中的所有文件中的某个字符串
在工作中,经常需要更改文件夹下面所有文件的某些内容时候,我们只需要通过sed -i 's/A/B/g' file,就可以解决了。但是,如果里面嵌套着文件夹,文件夹里面又有文件需要更改内容。这个时候,我们就需要写一个脚本来更改脚本了。代码如下:#!/bin/shfunction usage(){ echo "usage:sh $0 direc replace_before replace_...
2019-02-20 19:20:36 524 1
原创 sed ' '单引号里面应用变量问题的解决
当我们写脚本文件的时候,经常使用到sed -i 's/A/B/g' xx.log 这样的语句。为了使得代码更具有灵活性,便将更换成了sed -i 's/${1}/${2}/g' xx.log。这个时候麻烦就来了。我们通过调试发现${1},${2}并不能够正确的获得值。这个时候我们该怎么办呢?我们有两种方法可以解决这个问题:一,单引号改为双引号sed -i "s/${1}/${2}/g"...
2019-02-20 16:55:52 3712
原创 spark源码分析:(一)spark-shell启动脚本时候过程
当我们在命令行中输入spark-shell的时候,会自动转为spark shell界面。这个界面中我们可以完成spark的操作。那么,这个过程是怎么进行的呢?当我们在命令行中输入spark-shell的时候,调用的是spark/bin/spark-shell脚本。以下是spark-shell脚本中的部分代码:function main() { if $cygwin; then ...
2019-02-20 14:15:50 467
原创 jvisualvm来连接VM的时候,报无法使用错误:service:jmx:rmi:....连接到ip:port
当我们通过jvisualvm来连接VM的时候,我们需要在运行进程所在的脚本中,追加以下配置:JAVA_OPTS="-XX:MaxPermSize=128m $OUR_JAVA_OPTS-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=10207 // 端口号,可以自定义-Dcom.sun.manage...
2019-02-20 11:26:49 5671 5
原创 Spark Streaming + Flume + Kafka
这是一个综合的笔记,我们已经分别学习了spark streaming如何从Flume上面如何读取数据,以及如何从Kafka上面读取数据。现在我们来尝试将日志数据发送到Flume,Flume收集数据后实时的将数据发送到Kafka中,然后,Spark Streaming在Kafka中读取数据,并进行处理。Flume人性的给我们提供了通过log4j.properties配置,将日志产生的数据发送...
2019-02-14 00:28:59 165
原创 Spark Streaming + Kafka
pom.xmlspark streaming:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>2.1.0</version>
2019-02-14 00:24:37 497
原创 Spark Streaming + Flume
pom.xml:Spark Streaming:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>2.1.0</version&g
2019-02-14 00:19:50 137
原创 spark streaming 原理分析 -- 粗细粒度
一、粗粒度spark streaming 接收到实时数据流,把数据按照指定的时间段切成一片片小的数据块,然后把小的数据块传给spark Engine处理。二、细粒度程序提交的时候,会在Driver端启动一个Application应用。Application程序里面回启动两个进程:SparkContext,和StreamingContext。spark streaming需要处理...
2019-01-28 11:57:28 321
原创 正则表达式的findall函数和match函数比较
1.findall()函数findall函数返回的是正则表达式在字符串中所有匹配结果的列表。我们先来看一组例子,来了解这个方法在返回匹配结果的细节。import res = "abc defg hi jkl mnopq rst xyz"regex_str_1 = "((\w+)\s+(\w+))"res_1 = re.findall(regex_str_1,s)print(r...
2019-01-25 12:25:13 1839 2
原创 将A服务器上的日志实时采集到B服务器--flume
1.技术选型A服务器:exec source + memory channel + avro sinkB服务器:avro source + memory channel + logger sink 2.日志采集过程1) 服务器A上监控一个文件,当我们访问主站时会有用户行为日志记录到xx.log中2) avro sink把新产生的日志输出到对应的avro source...
2019-01-22 14:59:39 334
原创 对Text类型的数据,使用getLength()与getBytes().length获取的长度不同解析
我们先来看一个小Demo:Text t = new Text("hadoop");t.set("pig");System.out.println(t.getLength());System.out.println(t.getBytes().length);不出意外,输出的结果都是3。但是这个时候如果我们把set方法中的参数改为如下类型将会发生什么事呢?t.set(new...
2018-09-28 21:54:32 1925 3
java虚拟机学习文档 java8.rar
2020-03-07
跟老男孩学Linux运维:Shell编程实战
2018-12-15
java从入门到精通-含目录
2018-12-15
Hbase权威指南-带目录
2018-12-15
Hadoop技术内幕深入解析YARN架构设计与实现原理
2018-12-15
spark性能调优与spark SQL项目代码分享
2018-09-01
LaTeX入门 刘海洋 电子工业出版社 2013
2018-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人