自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 spark深度解析:调度算法

基于spark1.3.1的源码解读 不得不佩服spark源码的精炼,standalone模式中,不到100行就搞定了资源调度,spark提供两种资源调度方式,尽量打散:即我们的executor会尽量的分配更多的worker上;尽量集中:即我们的executor会尽量的分配更少的worker上;这其中是通过spreadOutApps变量来控制的,true为尽量分散。 private def sch...

2018-11-28 14:55:29 837

原创 【菜鸟系列】hbase(java)接口--基于hbase1.1.2

更多hbase简介:请查看hbase入门系列 传送门:https://blog.csdn.net/java_soldier/article/details/78776605 最近集群升级,开启kerberos认证,所有的应用都要改造,所以复习了下hbase的接口操作,代码见下方 先讲解下主要的接口类 HBaseConfiguration org.apache.hadoop.hbas...

2018-06-15 17:36:36 5250 2

原创 【菜鸟系列】spark常用算子总结(java)--union,intersection,coalesce,repartition,cartesian,distinct

/** * union * 合并 */ JavaRDD rdd1 = jsc.parallelize(Arrays.asList(1,2,3,4,5,6,7),2); JavaRDD rdd2 = jsc.parallelize(Arrays.asList(1,21,31,41,51,61,7),2); JavaRDD rdd3 = rdd1.union(rdd2); //System.o...

2018-06-08 16:03:10 2148

原创 【菜鸟系列】spark常用算子总结(scala、java)--map,flatMap,flatMapToPair

map,flatMap,flatMapToPair是最常用的算子,map算子的输入和输出是一对一的,也就是子RDD的分区与父RDD的分区时一对一的关系;flatMap是压平,输入和输出是一对多的关系;需要注意的是:scala版本的map可以将RDD转成PairRDD,但是在java版本中,这个功能是通过mapToPair函数实现的,需要实现PairFunction函数;scala版本没有flatM...

2018-06-05 16:31:52 6440 2

原创 【菜鸟系列】spark常用算子总结(scala、java)--groupByKey,reduceByKey

groupByKey和reduceByKey是常用的聚合函数,作用的数据集为PairRDD scala reduceByKey函数原型 def reduceByKey(partitioner: Partitioner, func: (V, V) => V): RDD[(K, V)] = self.withScope { combineByKeyWithClassTa...

2018-06-05 15:41:41 4708

原创 spark优化思路

最近发现spark作业运行速度很慢,发现executor实例数设置的太低,所以对job进行了优化 优化前:800G压缩文件 30分钟 优化后:800G压缩文件 2分钟 ======================== 参数优化: task的执行速度是跟每个Executor进程的CPU core数量有直接关系的。一个CPU core同一时间只能执行一个线程。而每个Executor进程上分...

2018-05-24 09:07:42 1636

原创 基于java api的spark常用算子

基于java api的spark常用算子

2018-03-26 14:41:42 522

原创 kafka性能分析

来自《kafka高性能解析》的整理,很好,很全面

2017-12-25 17:06:07 9254

原创 好久没来了

好久没来了 工作真的很充实,笔记的习惯没有停,但是整理的习惯却有些怠慢

2019-12-11 17:06:53 324

原创 inux shell脚本攻略06-循环结构、选择结构、算术比较、字符串比较

for 循环 for var in list do commands done echo {1…50}能够生成一个数字列表,echo{a…z}生成小写字母列表 for var in {A..Z} do commands done 也可以采用c语言的写法 for((i=0;i<10;i++)) { command } while循环 while condition do...

2018-10-27 15:28:22 393

原创 linux shell脚本攻略05-字段分隔符

内部字段分隔符(Internal Field Separator,IFS)存储定界符的环境变量,IFS默认符为空白字符(换行符,制表符,或者空格) 比如一个数据为逗号分隔 data="name,age,rollno,location" 如果直接输出 for item in $data do echo $item done 将输出 name,age,rollno,location 如果修改了I...

2018-10-27 15:23:55 824

原创 linux shell脚本攻略04-将命令序列的输出读入变量,管道

ls | cat -n > out.txt ①子shell的方式 output=$(ls |cat -n) ②反引用 output=`ls | cat -n` 第一种方式是子shell的这种方式,利用子shell生成一个独立的进程,可以使用()操作符来定义一个子shell;注意:命令在子shell中执行不会对当前shell有任何影响,所有的改变仅限于子shell pwd; (cd /b...

2018-10-27 15:21:48 820

原创 linux shell脚本攻略03-数组与关联数组

定义数组 ①单行中使用一列值来定义一个索引 array_var=(1 2 3 4 5 6),这些值会被存储在以0为起始索引的连续位置上 ②还可以将数组定义成一组“索引-值” array_var[0]="test1" array_var[1]="test2" 数组的打印 echo ${array_var[0]} 打印数组清单,数组内所有的值 echo ${array_var[*]} 或者 ec...

2018-10-27 15:20:09 339

原创 linux shell脚本攻略02-算术运算

bash shell环境中,可以使用let 、(()) 、[]执行基本的算术运算,而在进行高级操作时,也可以用expr、bc两个工具 (1)let命令,当使用let的时候,变量前面不需要加$ let result=no1+no2 echo ${result} 自加自减操作 let no1++ let no2-- 简写形式 let no1+=6 (2)[]使用方法与let相似 result=$...

2018-10-27 15:18:01 302

原创 linux shell脚本攻略01-文件描述符和重定向

文件描述符是与某个打开的文件或数据流相关联的整数,文件描述符0、1、2是系统预留的 标准输入(stdin)----------0 标准输出(stdout)---------1 标准错误(stderr)----------2 覆盖 echo “hello world” > a.txt 重定向覆盖,a.txt的内容首先被清空 追加 echo “hello world” >> a....

2018-10-27 15:07:44 343

原创 sparkstreaming控制消费速率

反压机制: spark1.5以后,通过动态收集系统的一些数据来自动的适配集群数据处理能力 在默认情况下,Spark Streaming 通过 receivers (或者是 Direct 方式) 以生产者生产数据的速率接收数据。当 batch processing time > batch interval 的时候,也就是每个批次数据处理的时间要比 Spark Streaming 批处理间隔时...

2018-10-25 18:19:01 4557

原创 记一次Kafka生产问题

最近北京电信的生产服务器突然间磁盘报警,发现是kafka-log的__consumer__offsets–55数据量过大导致,这个topic是kafka记录偏移量的主题,这个分区的数据量达到3.1个T; 默认配置server.conf里的核心配置项 #最大日志保留大小 log.retention.bytes=1073741824 #日志保留时间长度 log.retention.minutes=10...

2018-10-16 11:13:15 1113 1

原创 反射小结

1.简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 2. 通过类的class文件获取类或者类对象 常用方法: 获取类的class文件:①peopleClass = Class.forName(People); ②peopleClass = People.class; 通过类文件创建一个实例:(底层调用的是这个类...

2018-09-18 18:01:10 251

原创 hive sql注意事项

如果是按时间分区的表,查询时一定要使用分区限制,如果没有分区限制,会从该表的所有数据里面遍历。 注意sql中or的使用,or 这个逻辑必须单独括起来,否则可能引起无分区限制,下面举个例子,想查询到的是gd或gx的某天的数据。 Select x from t where ds=d1 and province=’gd’ or province=’gx’ 该语句会从所有的分区里面查询!也没有得到自...

2018-08-04 14:37:19 856

原创 shell特殊变量-$?,$@,$*,$$,$n等

$0 : 输出函数或脚本的名字 $n : 输出函数或脚本的第n个参数 $$ :输出当前shell所属的pid ,可通过这个命令获取shell运行时的pid $# :输出函数或脚本的输入参数个数 $@ :输出函数或脚本的输入参数 $* :输出函数或脚本的输入参数 $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式...

2018-06-20 13:40:28 2142

原创 linux常用命令-文件编辑类(cat,vim,more)

cat 描述: 将数据显示到基本输出中 参数: -n:显示行号(包括空行) -b:显示行号(不包括空行) -s:将两个及以上空行合并为一个空行 样例: cat -sb a.txt b.txt >> c.txt 将a.txt,b.txt的数据加上行号,追加到c.txt中,将两个及以上空行合并为一个空行 [jiangt@BDI10 command]$ cat -sb 1....

2018-06-20 10:42:58 8352

原创 hbase快速入门文章传送门

归纳hbase文章入口 hbase快速入门之—简介 https://blog.csdn.net/java_soldier/article/details/78776605 hbase快速入门之—逻辑视图 https://blog.csdn.net/java_soldier/article/details/78776647 hbase快速入门之—物理存储 https://blog.csd...

2018-06-15 17:43:25 1062

原创 redis事务

redis的事务不同于关系型数据库的事务,不完全遵从ACID的4个特点;redis事务是指可以一次执行多个命令。 ● 批量操作在发送 EXEC 命令前被放入队列缓存。 ● 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。 ● 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。 一个redis事务从开始到结束经过三个过程: ...

2018-06-08 11:47:49 1735

原创 sparkStreaming连接kafka(Direct)

http://blog.csdn.net/erfucun/article/details/52275369 //创建JavaStreamingContext JavaStreamingContext jsc = createJavaStreamingContext(null, appName, batchDurationWithSeconds); //kafkaParams 封装了kafka...

2018-06-04 09:26:00 2286

原创 spark-streaming连接kafka(receiver)

package com.asiainfo.spark.streaming import org.apache.spark.{HashPartitioner, SparkConf} import org.apache.spark.storage.StorageLevel import org.apache.spark.streaming.kafka.KafkaUtils import org...

2018-06-04 09:25:16 1831

原创 sparkEnv的初始化

SparkEnv的方法createDriverEnv最终调用create创建SparkEnv。SparkEnv的构造步骤如下: 1) 创建安全管理器SecurityManager; 2) 创建基于Akka的分布式消息系统ActorSystem; 3) 创建Map任务输出跟踪器mapOutputTracker; 4) 实例化Shuffl...

2018-06-04 09:22:54 1646

转载 redis与Memcached

近期公司项目在使用Redis,这几年Redis很火,Redis也常常被当作Memcached的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcached吗? •You should not care too much about performances. Redis is faster per cor...

2018-05-28 18:57:43 1797

原创 redis管理命令-info

server : 一般 Redis 服务器信息,包含以下域: redis_version : Redis 服务器版本 redis_git_sha1 : Git SHA1 redis_git_dirty : Git dirty flag os : Redis 服务器的宿主操作系统 arch_bits : 架构(32 或 64 位) multiplexing_api : Redis 所使用...

2018-05-27 17:34:02 593

原创 spark杂记-初识spark

1.rdd 弹性分布式数据集 分区;一个函数处理一个分区;sparkContext; transformation(转换):延迟加载,算子中并不加载数据,如flatMap,map; action(动作):真正开始计算数据 ,之前会记录转换rdd的路径,DAG,在执行action的时候会开始真正的计算,加载数据,这就是spark跟mr的区别,mr是分步骤处理数据,处理的中间结果是保存在磁盘中的...

2018-05-21 17:44:00 1714

原创 spark运行模式全解析

1.local 本地模式:不需要hadoop(除非用到),不需要启动Master,Worker spark-shell(spark-shell –master local[n]) spark-submit (spark-submit –master local[n]) 2.local cluster 模式:不需要hadoop(除非用到),不需要启动Master,Worker spark-s...

2018-05-21 17:29:36 1873

原创 sparkEnv初始化流程

SparkEnv的方法createDriverEnv最终调用create创建SparkEnv。SparkEnv的构造步骤如下: 1) 创建安全管理器SecurityManager; 2) 创建基于Akka的分布式消息系统ActorSystem; 3) 创建Map任务输出跟踪器mapOutputTracker; 4) 实例化Shuffl...

2018-05-21 17:28:46 1818

原创 电信数据分类

运营商的数据各式各样,大体分为以下几类 业务支持系统(BSS)主要实现了对电信业务、电信资费、电信营销的管理,以及对客户的管理和服务的过程,它所包含的主要系统包括:计费系统、客服系统、帐务系统、结算系统以及经营分析系统等。 管理支持系统(MSS),包括为支撑企业所需的所有非核心业务流程,内容涵盖制订公司战略和发展方向、企业风险管理、审计管理、公众宣传与形象管理、财务与资产管理、人力

2018-04-27 15:22:34 2146 1

原创 row_number()函数

row_number() over(partition by col1 order by col2 desc) rank 按照col1分组,col2字段组内排序 语法:row_number() over (partition by 字段a order by 计算项b desc ) rank  --这里rank是别名 partition by:类似hive的建表,分区的意思;

2018-04-27 15:19:24 2884

原创 负载预警脚本

检查主机负载的脚本

2018-04-16 14:39:48 4726

原创 hive与hbase的区别

共同点: 1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储 区别: 2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。 3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。 4

2018-04-16 10:21:36 4266

原创 spark streaming整合kafka的两种机制比较分析

sparkstreaming消费kafka数据

2018-04-13 11:39:02 5274

原创 kafka常用命令

kafka常用命令汇总,工作总结

2018-04-08 14:12:13 4627

原创 为什么重写equals方法也要重写hashcode方法

转https://blog.csdn.net/wusuopubupt/article/details/77162126 为什么在覆盖equals时一定也要覆盖hashCode? 因为先hashmap, 后equals ! 下面用HashMap来阐述原因,首先假设key1和key2的值在业务逻辑领域是相等的,即它们应该是同一个对象,HashMap已经存储了key1,现在要查找key2是否存在,

2018-03-27 17:52:51 1795

原创 hive配置详解

hive的配置: hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置; hive.exec.script.wrapper:hive调用脚本时的包装器,默认是null,如果设置为python的话,那么在做脚本调用操作时语句会变为python ,null的话就是直接执行; hive.exec.pl

2017-12-30 15:51:10 2498

原创 hive MapJoin优化

1、Hive本地MR   如果在hive中运行的sql本身数据量很小,那么使用本地mr的效率要比分布式的快很多。但是hive本地MR对内存使用很敏感,查询的数据不能太大,否则本地内存是吃不消的。 So the query processor will launch this task in a child jvm, which has the same heap size as the Map

2017-12-30 15:50:07 2609

空空如也

空空如也

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

TA关注的人

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