自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Flink Cluster On Kubernetes部署

#Flink Cluster On Kubernetes部署Flink版本:1.10.1kubernetes:1.16.5Flink 在Kubernetes上部署分为Job cluster和Session cluster两种模式。Job cluster需要我们将自己的Jar打到flink镜像里一块部署,session模式可以启动cluster之后,我们再提交jar到session cluster。1 环境准备在YARN模式部署的文章里,我们是直接从官网下载编译后的包进行部署的。由

2020-11-14 13:38:29 530

转载 ThreadPoolExecutor队列满时提交任务阻塞

项目中有一个需求:给线程池提交任务的时候,如果任务队列已满,需要ThreadPoolExecutor.execute调用阻塞等待。google了相关的资料,记录在这里,供有同样需求的同行参考。https://stackoverflow.com/questions/4521983/java-executorservice-that-blocks-on-submission-after-a-certain-queue-size/4522411#4522411ThreadPoolExecutor相关的几个

2020-06-18 10:34:38 2252

转载 java并发系列:阻塞队列(1) ArrayBlockingQueue

一 阻塞队列 看了《Java并发编程的艺术》。通常只有ReentrantLock+Condition+数组。而关于迭代器的介绍很少,所在本篇补上。 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。阻...

2020-06-18 10:32:55 208

原创 sort and uniq常用参数使用

sort和uniq的常用参数使用uniq通常伴随着sort一起使用,uniq计算重复是相邻行计算,所有在使用uniqe前需要使用sort进行先排序1.sort-u 它的作用很简单,就是在输出行中去除重复行。-r sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。-n sort要以数值来排序-t 指定分割符-k 指定第几列排序2...

2020-02-20 16:08:51 482

转载 awk编程基础

转载:https://www.cnblogs.com/meitian/p/5302416.html一、awk介绍awk(名字来源于三个创始人姓氏首字母)是linux系统下文本编辑工具,是一门编程语言,有自己的基本语法和流程控制、函数。awk简单高效。二、awk的运行方法例子:使用冒号:分割/etc/passwd,打印出第一列1.通过命令行执行awk -F: '{pri...

2019-10-15 19:24:16 333

转载 使用ApacheFlink和Kafka进行大数据流处理

使用ApacheFlink和Kafka进行大数据流处理Flink是一个开源流处理框架,注意它是一个处理计算框架,类似Spark框架,Flink在数据摄取方面非常准确,在保持状态的同时能轻松地从故障中恢复。Flink内置引擎是一个分布式流数据流引擎,支持流处理和批处理,支持和使用现有存储和部署基础架构的能力,它支持多个特定于域的库,如用于机器学习的FLinkML、用于图形分析的Gelly...

2019-07-12 13:59:28 566

原创 Linux中使用 if 、for、while等循环来写脚本

这次来介绍一下Shell的基本语法:一、注释Shell中的注释标志是井号 "#",除了脚本文件第一行的#不是注释之外,其他地方出现#,则说明#开始,到本行的末尾都是注释二、指定脚本解释器一般每个Shell脚本文件的第一行都是指定脚本解释器#!/bin/bash : 指定本脚本文件使用bash脚本解释器解释执行三、if 判断语法<1>、判断大小首先Shel...

2019-07-12 13:51:02 180

原创 Kafka常用命令收录

目录 11.前言 22.Broker默认端口号 23.安装Kafka 24.启动Kafka 25.创建Topic 26.列出所有Topic 37.删除Topic 38.查看Topic 39.增加topic的partition数 410.生产消息 411.消费消息 412.查看有哪些消费者Group 413.查看新消费者详...

2019-07-12 13:47:54 305

原创 解决SimpleDateFormat的线程不安全问题的方法:ThreadLocal

问题我们写了个DateUtil,内部有个SimpleDateFormat,是个static,我们想全局公用此常量public class DateUtil { private static final String MESSAGE_FORMAT = "MM-dd HH:mm:ss.ms"; private static final SimpleDateFormat ...

2019-05-12 20:58:51 868

原创 各个版本的wordcount

1.shell命令 求wordcountwc.txt内容:hello worldhello sparkhello scalahello hivehello hbase regionServershell命令为:cat wc.txt|awk -F " " 'BEGIN{} {for(i=1;i<=NF;i++){wordName[$i]=$i;wc[$...

2019-03-20 14:46:23 263

转载 scala 隐式转换深入理解

摘要:通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码。使用方式:1.将方法或变量标记为implicit2.将方法的参数列表标记为implicit3.将类标记为implicitScala支持两种形式的隐式转换:隐式值:用于给方法提供参数隐式视图:用于类型间转换或使...

2018-12-17 16:38:27 159

转载 编译hadoop2.6.0-cdh5.7.0 native支持snappy & 编译中遇到的坑及解决办法

前沿使用官网自带的hadoop-2.6.0-cdh5.7.0.tar.gz所解压之后,安装部署的hadoop环境,往往在执行checknative命令的时候,发现诸如zlib、snappy、lz4、bzip2、openssl的检查不通过。而这样会对我们使用各种压缩的时候带来不便,因此我们需要自己去手动编译native,并使其支持snappy。编译准备编译前我们需要做如下几步:    ...

2018-12-01 19:34:16 471

转载 Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解

梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为I...

2018-11-06 10:33:42 3037

转载 通过 python的 __call__ 函数与元类 实现单例模式

简单一句话,当一个类实现__call__方法时,这个类的实例就会变成可调用对象。直接上测试代码class ClassA: def __call__(self, *args, **kwargs): print('call ClassA instance')if __name__ == '__main__': # ClassA实现了__call__...

2018-11-01 16:53:08 391

转载 泛型 ? extends T和? super T

&lt;? extends T&gt;和&lt;? super T&gt;是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。&lt;? extends T&gt;:是指 “上界通配符(Upper Bounds Wildcards)” &lt;? super T&gt;:是指 “下界通配符(Lower Bounds Wildcards)”为什么要用通配符和边...

2018-11-01 08:49:47 199

转载 Spark 中的宽依赖和窄依赖

Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow dependency)和宽依赖(wide dependency, 也称 shuffle dependency).宽依赖与窄依赖    窄依赖是指父RDD的每个分区只被子RDD的一个分区所使用,子RD...

2018-10-28 08:21:51 1124

原创 MapReduce2提交到yarn上工作流程

先来一副图展示MapReduce2作业提交到yarn上的流程。1.用户向yarn的RM提交应用程序,其中包括Application Master程序 启动ApplicationMaster命令等。2.RM首先为该app分配一个container,并与对应的nm通信,要求nm在这个container中启动应用程序的Application master3.application mas...

2018-10-14 11:13:46 565

原创 hdfs读流程

先来一张图展示hdfs读流程  hsdf -dfs  -ls /1.client端通过FileSystem.open(path)方法,和namenode通过rpc进行通信,namenode校验路径是否存在,用户是否有权限2.验证完成后,返回文件的部分或者全部的block列表(其实就是返回FSDataInputStream对象)3.client调用FSDataInputStream对...

2018-10-14 10:13:14 145

原创 hdfs写操作的流程

先来一张图展示hdfs写操作的流程 hdfs dfs put  ../test.log /data/步骤:1.client通过rpc协议调用filesystem.create(path)方法与namenode通信,check path路径在hdfs中是否存在,有没有权限,如果有就创建一个文件,但是不关联任何的block,返回一个FSDataOutputStream对象。如果没有就返回错...

2018-10-10 11:56:03 381

转载 concurrent.futures性能

python因为其全局解释器锁GIL而无法通过线程实现真正的平行计算。这个论断我们不展开,但是有个概念我们要说明,IO密集型 vs. 计算密集型。IO密集型:读取文件,读取网络套接字频繁。计算密集型:大量消耗CPU的数学与逻辑运算,也就是我们这里说的平行计算。而concurrent.futures模块,可以利用multiprocessing实现真正的平行计算。核心原理是:concu...

2018-09-28 09:40:02 319

转载 正则表达式详解(贪婪与懒惰、前瞻与后顾、后向引用等)

之前嫌正则麻烦,一直没有深入去了解过正则,能不用的地方就不使用。最近项目中遇到了不可避免的正则使用,所以花了点时间去了解并整理了一下,理解不一定完全准确,如有不对欢迎指出,希望对大家有所帮助。一、名词解释首先我们了解几个名词:元字符 、 普通字符、打印字符、非打印字符、 限定符 、定位符、非打印字符元字符:可以简单理解为变成语言中的关键字,在正则匹配时会有特殊的语义,不能当做普通字符直...

2018-09-25 11:59:52 398

转载 正则表达式-- (?:pattern)与(?=pattern)的区别

正则表达式-- (?:pattern)与(?=pattern)的区别2018年04月20日 13:48:44 shashagcsdn 阅读数:115 标签: 正则表达式 非获取匹配 更多个人分类: 学习笔记 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shashagcsdn/article/details/80017678学习...

2018-09-25 11:42:54 5537

转载 sed命令

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反...

2018-09-18 19:43:44 104

原创 mysql一键创建从库脚本

#!/bin/shmyuser=rootmypass="root123"mysock=/data/3306/mysql.sock#main_path=/server/backupdata_path=/server/backup[ ! -f $data_path ] &amp;&amp; mkdir -p $data_pathlog_file="$data_path"/mysqllo...

2018-09-17 21:15:24 1185

原创 mysql的备份和恢复

mysqdump -uroot -p database名 &gt;备份的文件名 for example mysqldump -uroot -p test &gt;/u01/backup/test.sqlmysql -uroot -p test &lt;/u01/backup/mysql_o2.sql  #test数据库恢复mysql -uroot -p -e "use test;show...

2018-09-17 21:13:23 131

原创 mysql常用运维命令及权限管理

1. /etc/init.d/mysqld start和mysql_safe --user=mysql &amp;的启动实质是一样的2. /etc/init.d/mysqld stop   一般不用的停止数据库的方法     killall mysqld     pkill mysqld     killall -9 mysqld     kill pid   优雅关闭数据库   ...

2018-09-17 21:11:32 1145

原创 mysql编译安装及常用操作

1.3 安装相关包1.3.1 cmake软件cd /home/oldboy/tools/tar xf cmake-2.8.8.tar.gzcd cmake-2.8.8./configure#CMake has bootstrapped.  Now run gmake.gmakegmake installcd ../1.3.2 依赖包yum install ncurses-d...

2018-09-17 21:06:42 939

原创 oracle数据库打PSU补丁过程

数据库版本:oracle11g单机库 11.2.0.4.0重要步骤:1. oracle官网上下载相关PSU补丁包及Opatch工具,由于我下载的是Gi补丁包,里面包含了grid和database的补丁,所以得摘出oracle数据库的PSU补丁包,这个很烦人,摘得时候阅读官方文档区分,如果是下载的database数据库补丁包就直接用即可。2.阅读PSU readme文档,下载打PSU补丁...

2018-09-13 10:29:41 6038

原创 linux几个基本命令的用法

一. vim命令.1.删除当前光标所在行到文件结尾所以内容  dG。2.删除一行  删除一整行内容使用"dd"命令。删除后下面的行会移上来填补空缺。3.删除换行符  在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是"J"。4.撤销  如果你误删了过多的内容。显然你可以再输入一遍,但是命令"u" 更简便,它可以撤消上一次的操作。5.重做  如果你撤消了...

2018-09-13 09:21:46 339

Python数据分析与挖掘实战

Python数据分析与挖掘实战_张良均.pdf,学习python数据分析不错的一本书,书中图片已经转成文本,便于复制粘贴,避免手动输入出错!

2018-04-12

空空如也

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

TA关注的人

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