随笔分类 -  技术

技术文档
摘要:jstat 用于查看服务器上某个服务的GC情况。 一般使用方式 或``jstat –utilpid`` 时间间隔—每个一定时间(指定的时间间隔)输出一次进程pid的内存情况及gc情况。 1. 类加载统计( class) Loaded | Bytes|Unloaded|Bytes|Time : :|: 阅读全文
posted @ 2019-10-22 11:42 lillcol 阅读(269) 评论(0) 推荐(0)
摘要:背景 之前的博客: "Spark:DataFrame写HFile (Hbase)一个列族、一个列扩展一个列族、多个列" 用spark 1.6.0 和 hbase 1.2.0 版本实现过spark BulkLoad Hbase的功能,并且扩展了其只能操作单列的不便性。 现在要用spark 2.3.2 阅读全文
posted @ 2019-09-18 15:36 lillcol 阅读(2355) 评论(0) 推荐(0)
摘要:0. 添加一块磁盘 参考上一篇博文 "VMware Workstation 添加磁盘 挂载目录(centos)" 1. 查看当前磁盘挂载情况 2. 磁盘分区 [root@node1 ~] fdisk /dev/sdc //选择操作的磁盘 Welcome to fdisk (util linux 2. 阅读全文
posted @ 2019-09-03 14:41 lillcol 阅读(4484) 评论(0) 推荐(0)
摘要:组建信息 组件 | 版本|下载地址 : :|: :|: : maven | 3.6.1 | https://maven.apache.org/ jdk | jdk1.8.0 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8 阅读全文
posted @ 2019-08-13 14:42 lillcol 阅读(833) 评论(0) 推荐(0)
摘要:Shuffle 概述 影响Spark性能的大BOSS就是shuffle,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。 因此,如果要让作业的性能更上一层楼,就有必要对 shuffle 过程进行调优。 当然,影响 Spark 性能的还有代码开发、参数设置数以及数据倾斜的解决等,甚至这部分 阅读全文
posted @ 2019-07-26 15:06 lillcol 阅读(3387) 评论(0) 推荐(1)
摘要:什么是数据倾斜? Spark 的计算抽象如下 数据倾斜指的是:并行处理的数据集中,某一部分(如 Spark 或 Kafka 的一个 Partition)的数据显著多于其它部分,从而使得该部分的处理速度成为整个数据集处理的瓶颈。 如果数据倾斜不能解决,其他的优化手段再逆天都白搭,如同短板效应,任务完成 阅读全文
posted @ 2019-07-25 18:51 lillcol 阅读(885) 评论(0) 推荐(0)
摘要:SparkContext 是什么? 1. 驱动程序使用SparkContext与集群进行连接和通信,它可以帮助执行Spark任务,并与资源管理器(如YARN 或Mesos)进行协调。 2. 使用SparkContext,可以访问其他上下文,比如SQLContext和HiveContext。 3. 使 阅读全文
posted @ 2019-07-23 17:59 lillcol 阅读(11058) 评论(1) 推荐(0)
摘要:Spark 版本 2.3 文中测试数据(json) 用户自定义udf 自定义udf的方式有两种 1. SQLContext.udf.register() 2. 创建UserDefinedFunction 这两种个方式 使用范围不一样 package com.test.spark import org 阅读全文
posted @ 2019-07-22 22:52 lillcol 阅读(1291) 评论(0) 推荐(0)
摘要:读 package com.test.spark import org.apache.spark.sql.{Dataset, Row, SaveMode, SparkSession} / @author Administrator 2019/7/22 17:09 / object TestReadD 阅读全文
posted @ 2019-07-22 22:51 lillcol 阅读(530) 评论(0) 推荐(0)
摘要:本文将学习如何使用java创建Storm拓扑 Storm集群的组件 Storm集群类似于Hadoop集群,只不过 Hadoop 上运行"MapReduce jobs", Storm 上运行"topologies"。 两者最大的差别是,MapReducejobs 最终是完成的,而 topologies 阅读全文
posted @ 2019-07-19 11:48 lillcol 阅读(745) 评论(0) 推荐(0)
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 表的优化 小表join大表、大表join小表 将key相对分散,并且数据量小的表放在join的左边,这样可以有效减少内存溢出错误发生的几率; 再进一步,可以使用map join让小的维度表(1 阅读全文
posted @ 2019-07-16 22:43 lillcol 阅读(726) 评论(0) 推荐(0)
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 开启 map 输出阶段压缩可以减少 job 中 map 和 Reduce task 间数据传输量。 查看配置命令如下,对应的设置只要加上相关值即可,如下 当 Hive 将输出写入到表中时,输出 阅读全文
posted @ 2019-07-16 22:30 lillcol 阅读(4001) 评论(0) 推荐(0)
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 查询函数(Hive高级) NVL(cloumn,replace_with) 如果cloumn为NULL,则NVL函数返回 replace_with 的值; 否则返回cloumn的值; 如果两个 阅读全文
posted @ 2019-07-15 21:52 lillcol 阅读(566) 评论(0) 推荐(1)
摘要:本文参考: "黑泽君相关博客" 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取、补充了部分内容。 上传数据 1. 上传数据后执行修复 msck 命令 2. 上传数据后添加分区 3. 创建文件夹后load数据到分区(最常用) Export导出数据 like和rlike 1)使用LIKE运算选 阅读全文
posted @ 2019-07-15 21:50 lillcol 阅读(361) 评论(0) 推荐(0)
摘要:定义 假设含有n个记录的序列为{r1​,r2​,…,rn​},其相应的关键字分别为{k1​,k2​,…,kn​},需确定1,2, 3, …, n的一种排列p1​,p2​,…,pn​,使其相应的关键字满足kp1​ ≤kp2​≤…≤kpn​非递减(或非递增)关系,即使得序列变成一个按关键字有序的序列{r 阅读全文
posted @ 2019-07-11 19:02 lillcol 阅读(191) 评论(0) 推荐(0)
摘要:Hbase简介 "参考:Hbase技术详细学习笔记" "如何合理的设计HBase RowKey?" Hbase是分布式、面向列的开源数据库(其实准确的说是面向列族)。 HDFS为Hbase提供可靠的底层数据存储服务; MapReduce为Hbase提供高性能的计算能力; Zookeeper为Hbas 阅读全文
posted @ 2019-07-10 22:07 lillcol 阅读(424) 评论(0) 推荐(0)
摘要:spark的runtime "参考:Spark:Yarn cluster和Yarn client区别与联系" 浪尖分享资料 standalone Spark可以通过部署与Yarn的架构类似的框架来提供自己的集群模式。 该集群模式的架构设计与HDFS和Yarn大相径庭,都是由一个主节点多个从节点组成。 阅读全文
posted @ 2019-07-09 18:05 lillcol 阅读(5310) 评论(1) 推荐(0)
摘要:YARN 组件 "参考:Spark on Yarn | Spark,从入门到精通" YARN 采用 Master/Slave结构 ,包含ResourceManager 和 NodeManager ResourceManager 是 Master; NodeManager 是 Slave。 YARN的 阅读全文
posted @ 2019-07-09 15:16 lillcol 阅读(1250) 评论(0) 推荐(0)
摘要:单一职责模式 Decorator:装饰者模式 通常情况下,扩展一个类的功能会使用继承方式来实现。 但继承具有静态特征,耦合度高,并且随着扩展功能的增多,子类会很膨胀。 此时可以使用组合关系来创建一个包装对象(即装饰对象)来包裹真实对象,并在保持真实对象的类结构不变的前提下,为其提供额外的功能。 Go 阅读全文
posted @ 2019-07-04 00:18 lillcol 阅读(242) 评论(0) 推荐(0)
摘要:类加载概述 1. 在java代码中, 类型 的 加载、连接 与 初始化 过程都是在程序运行期间完成的 类型:class、interface(object本身)、类型可在运行期间生成,如动态代理。一种runting概念 加载:最常见的方式是将已经存在的类的字节码文件(.class文件)从磁盘上加载到内 阅读全文
posted @ 2019-07-04 00:16 lillcol 阅读(422) 评论(0) 推荐(0)