摘要:
RDD的缓存机制(★★★★★) 什么是rdd的缓存 spark可以把一个rdd的数据缓存起来,后续有其他的job需要用到该rdd的结果数据,可以直接从缓存中获取得到,避免了重复计算。缓存是加快后续对该数据的访问操作。 如何对rdd设置缓存 可以通过persist方法或cache方法将前面的RDD的数 阅读全文
摘要:
RDD的依赖关系 依赖类型 RDD根据依赖关系,可以分为父RDD和子RDD,父RDD就是被子RDD依赖的RDD。 而父RDD与子RDD的依赖关系,可以分为两种类型: 窄依赖(narrow dependency) 宽依赖(wide dependency) 窄依赖 窄依赖:指的是每一个父RDD的Part 阅读全文
摘要:
数据倾斜原理和现象分析 数据倾斜概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。 数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。 数据倾斜发生时的现象 1、绝大多数task执行得都非常快,但个 阅读全文
摘要:
spark的shuffle原理分析 shuffle概述 Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂。 在MapReduce框架,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce;而Redu 阅读全文
摘要:
spark任务中资源参数剖析 通过开发工具开发好spark程序后达成jar包最后提交到集群中运行 提交任务脚本如下 spark-submit \ --master spark://node01:7077,node02:7077 \ --class com.kaikeba.WordCountOnSpa 阅读全文
摘要:
collect 算子操作剖析 collect算子操作的作用: 它是一个action操作,会触发任务的运行 它会把RDD的数据进行收集之后,以数组的形式返回给Driver端 总结: 默认Driver端的内存大小为1G,由参数 spark.driver.memory 设置。 如果某个rdd的数据量超过了 阅读全文
摘要:
spark on yarn spark程序可以提交到yarn中去运行,此时spark任务所需要的计算资源由yarn中的老大ResourceManager去分配 官网资料地址: http://spark.apache.org/docs/2.3.3/running-on-yarn.html 环境准备 安 阅读全文
摘要:
spark程序的序列化问题 transformation操作为什么需要序列化 spark是分布式执行引擎,其核心抽象是弹性分布式数据集RDD,其代表了分布在不同节点的数据。Spark的计算是在executor上分布式执行的,所以用户执行RDD的map,flatMap,reduceByKey等tran 阅读全文
摘要:
案例1:使用Java实现spark的wordCount 案例需求: 单词计数 第一步:创建maven工程,引入依赖 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11< 阅读全文
摘要:
🌈RDD的算子 算子可以理解成RDD的一些方法。 RDD的算子可以分为2类: 1、transformation(转换) 根据已经存在的rdd转换生成一个新的rdd, 它是延迟加载,它不会立即执行 例如: map / flatMap / reduceByKey 等 2、action (动作) 它会真 阅读全文
摘要:
🌈RDD RDD是什么 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD是spark core的底层核心。 Dataset:就是一个集合,存储很多数据. Distr 阅读全文
摘要:
通过IDEA开发spark程序 构建maven工程 创建src/main/scala 和 src/test/scala 目录 添加pom依赖 说明: 创建maven工程后,设定maven为自己安装的maven,并在确保settings.xml里面设置了镜像地址为阿里云 如果下载不下来scala-ma 阅读全文
摘要:
spark-shell使用 运行spark-shell --master local[N] 读取本地文件 选项说明: local 表示程序在本地进行计算,跟spark集群目前没有任何关系 N 它是一个正整数,表示使用N个线程参与任务计算 local[N] 表示本地采用N个线程计算任务 spark-s 阅读全文
摘要:
初识spark程序 普通模式提交 (指定活着的master地址) 指定的必须是alive状态的Master地址,否则会执行失败。 cd /kkb/install/spark bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ 阅读全文
摘要:
spark集群安装部署 搭建spark集群要事先搭建好zookeeper集群,spark会依赖zookeeper集群来实现Master的高可用。 第一步:下载安装包 下载安装包:spark-2.3.3-bin-hadoop2.7.tgz 下载地址: https://archive.apache.or 阅读全文
摘要:
spark是什么 "Apache Spark" is a unified analytics engine for large-scale data processing. spark是针对于大规模数据处理的统一分析引擎 spark是在Hadoop基础上的改进,是UC Berkeley AMP la 阅读全文
摘要:
hive的综合案例实战 案例需求 统计youtube影音视频网站的常规指标,各种TopN指标: --统计视频观看数Top10 --统计视频类别热度Top10 --统计视频观看数Top20所属类别 --统计视频观看数Top50所关联视频的所属类别Rank --统计每个类别中的视频热度Top10 --统 阅读全文
摘要:
hive的企业级调优 1、Fetch抓取 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。 例如:select * from score; 在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台 在hive-defaul 阅读全文
摘要:
Hive表的数据压缩 数据的压缩说明 可使用以下三种标准对压缩方式进行评价 1、压缩比:压缩比越高,压缩后文件越小,所以压缩比越高越好 2、压缩时间:越快越好 3、已经压缩的格式文件是否可以再分割:可以分割的格式允许单一文件由多个Mapper程序处理,可以更好的并行化。比如说,一个300M的压缩文件 阅读全文
摘要:
hive自定义函数 1、自定义函数的基本介绍 Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。 当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function) 根据用户自 阅读全文