07 2019 档案
摘要:Shuffle 概述 影响Spark性能的大BOSS就是shuffle,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。 因此,如果要让作业的性能更上一层楼,就有必要对 shuffle 过程进行调优。 当然,影响 Spark 性能的还有代码开发、参数设置数以及数据倾斜的解决等,甚至这部分
阅读全文
摘要:什么是数据倾斜? Spark 的计算抽象如下 数据倾斜指的是:并行处理的数据集中,某一部分(如 Spark 或 Kafka 的一个 Partition)的数据显著多于其它部分,从而使得该部分的处理速度成为整个数据集处理的瓶颈。 如果数据倾斜不能解决,其他的优化手段再逆天都白搭,如同短板效应,任务完成
阅读全文
摘要:SparkContext 是什么? 1. 驱动程序使用SparkContext与集群进行连接和通信,它可以帮助执行Spark任务,并与资源管理器(如YARN 或Mesos)进行协调。 2. 使用SparkContext,可以访问其他上下文,比如SQLContext和HiveContext。 3. 使
阅读全文
摘要:Spark 版本 2.3 文中测试数据(json) 用户自定义udf 自定义udf的方式有两种 1. SQLContext.udf.register() 2. 创建UserDefinedFunction 这两种个方式 使用范围不一样 package com.test.spark import org
阅读全文
摘要:读 package com.test.spark import org.apache.spark.sql.{Dataset, Row, SaveMode, SparkSession} / @author Administrator 2019/7/22 17:09 / object TestReadD
阅读全文
摘要:本文将学习如何使用java创建Storm拓扑 Storm集群的组件 Storm集群类似于Hadoop集群,只不过 Hadoop 上运行"MapReduce jobs", Storm 上运行"topologies"。 两者最大的差别是,MapReducejobs 最终是完成的,而 topologies
阅读全文
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 表的优化 小表join大表、大表join小表 将key相对分散,并且数据量小的表放在join的左边,这样可以有效减少内存溢出错误发生的几率; 再进一步,可以使用map join让小的维度表(1
阅读全文
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 开启 map 输出阶段压缩可以减少 job 中 map 和 Reduce task 间数据传输量。 查看配置命令如下,对应的设置只要加上相关值即可,如下 当 Hive 将输出写入到表中时,输出
阅读全文
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 查询函数(Hive高级) NVL(cloumn,replace_with) 如果cloumn为NULL,则NVL函数返回 replace_with 的值; 否则返回cloumn的值; 如果两个
阅读全文
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 上传数据 1. 上传数据后执行修复 msck 命令 2. 上传数据后添加分区 3. 创建文件夹后load数据到分区(最常用) Export导出数据 like和rlike 1)使用LIKE运算选
阅读全文
摘要:定义 假设含有n个记录的序列为{r1,r2,…,rn},其相应的关键字分别为{k1,k2,…,kn},需确定1,2, 3, …, n的一种排列p1,p2,…,pn,使其相应的关键字满足kp1 ≤kp2≤…≤kpn非递减(或非递增)关系,即使得序列变成一个按关键字有序的序列{r
阅读全文
摘要:Hbase简介 "参考:Hbase技术详细学习笔记" "如何合理的设计HBase RowKey?" Hbase是分布式、面向列的开源数据库(其实准确的说是面向列族)。 HDFS为Hbase提供可靠的底层数据存储服务; MapReduce为Hbase提供高性能的计算能力; Zookeeper为Hbas
阅读全文
摘要:spark的runtime "参考:Spark:Yarn cluster和Yarn client区别与联系" 浪尖分享资料 standalone Spark可以通过部署与Yarn的架构类似的框架来提供自己的集群模式。 该集群模式的架构设计与HDFS和Yarn大相径庭,都是由一个主节点多个从节点组成。
阅读全文
摘要:YARN 组件 "参考:Spark on Yarn | Spark,从入门到精通" YARN 采用 Master/Slave结构 ,包含ResourceManager 和 NodeManager ResourceManager 是 Master; NodeManager 是 Slave。 YARN的
阅读全文
摘要:Factory Method 工厂方法 模式定义: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟(目的:解耦,手段:虚函数)到子类。 组件: 抽象工厂(AbstractFactory) :提供了创建产品的接口,调用者通过它访问具体工厂的工厂
阅读全文
摘要:单一职责模式 Decorator:装饰者模式 通常情况下,扩展一个类的功能会使用继承方式来实现。 但继承具有静态特征,耦合度高,并且随着扩展功能的增多,子类会很膨胀。 此时可以使用组合关系来创建一个包装对象(即装饰对象)来包裹真实对象,并在保持真实对象的类结构不变的前提下,为其提供额外的功能。 Go
阅读全文
摘要:典型的三种组件协作模式 Template Method:模板方法模式 在软件构建过程中,对于某项任务,常常有 稳定 的整体操作结构,但是各个子步骤却有很多 改变 的需求,或者由于固有的原因无法和任务整体结构同时实现。 定义一个算法的骨架,讲一些步骤(变化的)延迟到子类中,是的子类可以复用一个算法的结
阅读全文
摘要:类加载概述 1. 在java代码中, 类型 的 加载、连接 与 初始化 过程都是在程序运行期间完成的 类型:class、interface(object本身)、类型可在运行期间生成,如动态代理。一种runting概念 加载:最常见的方式是将已经存在的类的字节码文件(.class文件)从磁盘上加载到内
阅读全文
摘要:类加载器的父亲委托机制 在父亲委托机制中,各个类加载器按照父子关系形成了树形结构,除了根类加载器之外,其余的类加载器都有且只有一个父加载器。 先让最顶层可以加在的父加载器加栽(所有可加载的加载器中,处于最顶层的那一个加载器加载,如果都不能加载,则失败) Bootstrap ClassLoader 启
阅读全文
摘要:这篇文章主要是对官网内容学习过程的总结,大部分是原文,加上自己的学习笔记!!! spark 2.0+内存模型 调优内存使用时需要考虑三个因素: 1. 对象使用的内存数量(您可能希望您的整个数据集都能装入内存); 2. 访问这些对象的成本 3. 垃圾收集的开销(如果对象的周转率很高)。 默认情况下,J
阅读全文

浙公网安备 33010602011771号