klaus_mentaki Blog

spark脚本监控任务运行状态

如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)

如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动) 业务需求 实现一个根据spark任务的appName来监控任务是否存在,及任务是否卡死的监控。 1)给定一个appName,根据appName从yarn application -list中验证任务是否存在,不存在则调用spark-submit.sh脚本来启动任务; ...

2019-05-01最新Linux安装Ruby 安装Jekyll

github自建博客 GitHub Pages + Jekyll

网上很多安装方式都有问题, 这里汇总一下并亲自试验且安装成功 我的linux环境:centos7 1.安装rvm gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s ...

编译Spark2.4.2

手动编译

环境搭建 下载安装包: 1) 官网 wget https://archive.apache.org/dist/spark/spark-2.4.2/spark-2.4.2.tgz 2) GitHub下载 3) git clone https://github.com/apache/spark.git 解压 tar -zxvf spark-2.4...

WARN spark.yarn.jars falling back to uploading

spark on yarn 提交WARN

spark yarn模式的任务在启动时会出现如下警告,表示需要上传本地的spark jar包到hdfs上,这一步肯能非常耗时。 WARN Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME 解决办法就是提前收到...

spark RDD五大特性并在源码中的体现

RDD的五大特性

RDD: Resilient Distributed Dataset 弹性分布式数据集 RDD五大特性及源码中体现: 1. A list of partitions (可分区的) 是由多个分区集合合成的列表 protected def get Partitons:Array[Partition] HadoopRdd实现: override def getPartitions: Arr...

RDD缓存及序列化缓存

JavaSerializer和KryoSerializer对比

1. MEMORY_ONLY and not Serializer 使用MEMORY_ONLY 方式缓存,RDD占用内存的大小为22.6M。 2.MEMORY_ONLY_SER and JavaSerializer 使用MEMORY_ONLY_SER 并且序列化方式为默认的JavaSerializer方式缓存,RDD占用内存的大小为5.7M。 3.MEMORY_ONLY_SER a...

scala最大堆最小堆,通过堆取TopN

使用最小堆取最大的N个元素

用scala实现一个最大堆或最小堆 并且维护一个长度为N的最小堆取,用来取TopN 定义一个HeapSort class /** * 堆排序:采用大顶堆,根节点大于两层元素,该类需要满足具备三个方法: 1.由正常数组变换为符合堆结构的方法 * 2.向堆中插入数据。3.从堆中删除数据。 * 重要特性:1.根节点索引值为i,根节点元素满足Key[i]>=Key[2i+1]&...

配置Hadoop,Hive的存储与压缩

Orc,Parquet等存储和压缩

hadoop的压缩大体分为三个步骤: 1.map阶段: 压缩文件通过split分片进入到maptask 所以压缩文件必须是支持分片的(text,lzo[index]) 2.shuffle阶段 mapshuffle落地到磁盘时,选用压缩速度快的格式。 3.reduce output阶段 分为两种场景: 一.reduce的输出作为下一个任务的输入,此时压缩文件最好采用支持分片的格式,或者保...

hadoop的压缩格式

列举了常用的hadoop压缩格式以及效率占比图

hadoop的常用压缩格式 压缩格式 | 可分割 | 算法 | 扩展名 | Linux工具 —|—|—|—|—| gzip | 否 | DEFLATE | .gz | gzip lzo | 是(加索引) | LZO | .lzo | lzop snappy | 否 | Snappy | .snappy | 无 Bzip2 | 是 | Bzip2 | .bz2 | bzip2 deflate...

shell脚本常用语法

shell脚本常用语法

1.显示行号 vim test.sh :set nu 显示行号 2.参数 echo $1 echo $2 echo "参数个数:$#" echo "参数作为一个长字符串: $*" echo "当时执行脚本PID: $$" 3.数组 数组只支持一维 #!/bin/bash arr=(aaa bbb ccc ddd eee) echo ${arr[@]} #数组全部的值 echo...