自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨鑫newlife的专栏

算法就是我的灵魂

原创 大数据之路、阿里巴巴大数据实践读书笔记 --- 第七章、数据挖掘

一、阿里巴巴算法平台框架和原理 算法平台计算框架MaxCompute MPI; 伏羲为阿里云飞天系统的分布式调度系统; 女娲为阿里云飞天系统的分布式一致性协同服务; 盘古为阿里云飞天喜听的分布式文件存储系统; 基于MaxCompute MPI...

2020-03-31 21:01:53 316 0

原创 LeetCode --- 563. Binary Tree Tilt 解题报告

Given a binary tree, return the tilt of thewhole tree. The tilt of atree nodeis defined as theabsolute differencebetween the sum of all left subtree...

2020-03-26 22:44:41 121 0

原创 Kafka学习笔记 ---Kafka是怎么实现高性能的?

其实这里的内容与Kafka的高吞吐有些交集,可以结合着看。 Kafka学习笔记 --- Kafka是如何实现高吞吐率的? 高性能主要从两个方面来剖析: 一、架构层次 分区 我们知道Kafka是个分布式集群的系统,整个系统可以包含多个broker,每个topic会有多个分区。Kafk...

2020-03-26 17:46:20 195 0

原创 Kafka学习笔记 --- Kafka是如何实现高吞吐率的?

Kafka的高吞吐率是一个使用起来很不错的性能,其中有如下几点原因: 一、Broker NIO异步消息处理,实现了IO线程与业务线程分离 Kafka的网络通信模型是基于NIO的Reactor多线程模型来设计的,这里先引入Kafka源码中注释。 An NIO socket server. ...

2020-03-26 16:32:28 423 0

原创 Sqoop export 数据导出覆盖与更新

sqoop-export xxxxxx --table xxxxxxxxx --columns xxx,xxxx --fields-terminated-by ',' --input-null-string '' --input-null-non-strin...

2020-03-26 12:29:58 917 0

原创 Scala实现单例模式

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。 通过单例模式可以保证系统中一个类只有一个实例。 对于系统中的某些类来说,只有一个实例很重要,例如, 一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务; 一个系统中只能有一个窗口管理器或文件系统; ...

2020-03-26 00:38:30 396 0

原创 Hive学习笔记 --- Hive外部表和内部表的关系

1.默认情况下是内部表(MANAGED_TABLE); 2.外部表(External Table)创建的时候需要加上External关键字,并指定位置存储位置; 3.删除内部表会直接删除元数据(METADATA)以及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会删...

2020-03-25 22:47:47 157 0

原创 Scala的可变集合与不可变集合

一、简述 Scala语言中的集合可以分为可变与不可变集合。但是主要来自三个包: scala.collection scala.collection.immutable scala.collection.mutable 可变集合可以在适当的时候被更新或被扩展,这意味着...

2020-03-25 21:15:48 1064 0

原创 Spark实现对年级、班级、学生、分数求TopN

最近面试遇到一个问题就是,Spark实现对统计 “年级, 班级, 学生, 分数” 的Top3; 除了此外问题还有: 每个班级分数前三名同学的名字以及分数; 各省指标数量前三的市的名字; 测试数据: 一年级、一班、yy、99 一年级、二班、xx、98 二年级、二班、y...

2020-03-25 16:08:01 578 0

原创 Scala实现单链表的反转

class ListNode(value:Int) { val node_v = value // 设置每个节点存储的值 var next:ListNode = null // 设置每个节点的指针 } def rever...

2020-03-25 14:28:35 236 0

原创 Spark学习笔记 --- ReduceByKey与GroupByKey的区别

一、功能对比: reduceByKey(func)的功能是,使用func函数合并具有相同键的值。 比如,reduceByKey((a,b) => a+b),有四个键值对(“spark”,1)、(“spark”,2)、(“hadoop”,3)和(“hadoop”,5) gr...

2020-03-24 21:49:14 176 0

原创 MapReduce与Spark的异同

Spark是借鉴了MapReduce并在其基础之上发展起来的,继承了分布式计算的优点并改进了MapReduce的劣势; 1.Spark把运算的中间数据存放在内存,迭代计算效率更高,Spark中除了基于内存计算外,还有执行任务的DAG有向无环图; MapReduce的中间结果需要保存到磁盘,...

2020-03-24 20:30:36 634 0

原创 数据仓库学习笔记 --- 数据仓库入门知识(业务数据矩阵、数据集市与主体域名、数据治理、数据中台、实时数仓、传统与互联网对比)

一、主题域划分规则(业务数据矩阵) 下图是以某电商业务为背景做的划分 主题 通用行为主题 曝光 点击 下载 安装 注册 登陆 ...

2020-03-22 23:39:58 436 0

原创 大数据之路、阿里巴巴大数据实践读书笔记 --- 第六章、数据服务

— 题外话: 阿里巴巴数据服务基本从2010年开始开发,到现在刚好十年,但是我读完了这一章的感觉是很多公司数据服务技术依旧停留在2010年… — 版本迭代: DWSOA(2010) 一个需求一个接口 编码实现接口 接口数量5000/年...

2020-03-22 01:26:53 231 0

原创 数据仓库学习笔记 --- 数据仓库入门知识(痛点、模型、规范、系统建设)

主要内容: 数据仓库痛点 痛点一:临时获取数据需求占用数据仓库大部分时间(自助获取数据工具 + OLAP系统); 痛点二:数仓规范和流程不一致,跨部门合作困难(建模规范和开发规范); 痛点三:指标口径不一致导致数据数据可信度下降(指标字典); ...

2020-03-20 22:06:52 386 0

原创 HBase学习笔记 --- 如何优雅的设计RowKey

Rowkey的作用 — RowKey在查询中的作用 HBase中RowKey可以唯一标识一行记录,在HBase中检索数据有一下三种方式: 1.通过get方式,指定RowKey获取唯一一条记录; 2.通过Scan方式,设置startRow和stopRow参数进行范围匹配; ...

2020-03-20 16:52:27 144 0

原创 LeetCode --- 561. Array Partition I 解题报告

Given an array of2nintegers, your task is to group these integers intonpairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min...

2020-03-20 10:32:52 114 0

原创 大数据之路、阿里巴巴大数据实践读书笔记 --- 第五章、实时技术

— 数据的分类 根据实效性对数据分三大类: 离线:在今天(T)处理N天前(T-N, N >= 1)的数据延迟时间粒度为天; 准实时:在当前小时(H)处理N小时前(H - N, N > 0, 如 0.5 小时、1 小时等)的数据,延时时间粒度为小时; 实时:在...

2020-03-19 21:00:36 175 0

原创 Hive学习笔记 ---- 支持Update和Delete以及Merge

在最早2013年接触Hive的时候就总看到各种材料说着Hive有一个很大的弊端,就是分布式系统依托底层HDFS存储系统 没法对行级别的数据进行update更新和delete行级别的删除和merge行级别合并操作。 但是后来隐约的听说Hive又可以支持update和delete了,我就去做了...

2020-03-18 20:33:11 347 0

原创 Hive学习笔记 --- 文件存储格式梳理汇总

Hive支持的文件存储格式如下: Text File SequenceFile RCFile Avro Files ORC Files Parquet Custom INPUTFORMAT and OUTPUTFORMAT ...

2020-03-17 20:59:41 122 0

原创 Hive学习笔记 --- 动态分区与静态分区

一、简述动态分区与静态分区 Dynamic Partition 动态分区:每次运行时是通过数据来自动判断生成,自动生成写入的分区内; Static Partition 静态分区:每次运行时是通过用户手动指定分区,然后数据写入指定的分区下面哪; 二、动态分区与静态分区使用的差...

2020-03-16 19:25:55 172 0

原创 Hive中小文件如何产生?会产生哪些影响?解决Hive小文件过多方案?什么导致速度慢&性能差的呢?

问题一:Hive中小文件如何产生的? 动态分区插入数据,产生大量的小文件,从而导致map数据剧增; Reduce数据量越多,小文件也就越多(Reduce的个数和输出文件是对应的); 数据源本身就包含大量的小文件; 问题二:会产生哪些影响? 从Hive角度来看...

2020-03-16 18:54:18 759 0

原创 Spark学习笔记 --- 架构原理和工作原理和执行流程

一、架构原理和工作原理 Driver: 一个进程,我们编写Spark程序运行在Driver上,由Driver进行执行,Driver是作业的主进程,具有Main函数,是程序的入口点,Driver进程启动后,向Master发送请求,进行注册,申请资源,在后面的Executor启动后,...

2020-03-13 21:04:08 141 0

原创 Hive学习笔记 --- Hive架构原理 与 执行流程 与 工作原理

一、简述: HIve数据仓库可以使用类SQL(HQL)查询读取、写入和管理存储在分布式中的大型数据集。 Hive建立在Hadoop之上,提供以下功能: 通过SQL轻松访问数据的工具,从而实现数据仓库的任务,例如提取/转换/加载(ETL),报告和数据分析; 一种将强结构用于各...

2020-03-13 15:10:03 155 0

原创 Hadoop学习笔记 --- HDFS执行流程与工作原理

一、简述 Hadoop分布式文件系统(HDFS - Hadoop Distributed File System)是一种旨在硬件上运行的分布式系统。它与现有的分布式分拣系统有许多相似之处。 但是与其他文件系统的区别很明显。HDFS具有高度的容错能力,旨在部署在低成本的硬件上。 HDFS提供对...

2020-03-13 11:31:09 152 0

原创 Hadoop学习笔记 --- YARN执行流程与工作原理

一、YARN简述 首先介绍一下YARN 在Hadoop2.0版本引进的资源管理系统,直接从MapReduce V1演化而来(由于引擎的功能缺陷); 原因是将MapReduce1中的Job Tracker的资源管理和作业调度两个功能分开,分别由ResourceManager和Applicati...

2020-03-11 20:56:41 144 0

原创 在浏览器输入域名之后,浏览器的处理过程

我们在地址栏输入www.baidu.com的时候,是什么反应呢? 1.浏览器查找该域名的IP地址 2.浏览器根据解析得到的IP地址向web服务器发器HTTP请求 3.服务器收到请求并进行处理 4.服务器返回一个响应 5.浏览器对该响应进行解码 6.根据返回的数据显示Web页面,后续点击...

2020-03-11 00:31:31 142 0

原创 Hadoop学习笔记 --- MapReduce执行流程与工作原理

首先MapReduce是面向大数据的并行处理计算模型、离线计算框架。 一、执行流程如下: Job Client:运行于Client node,负责将MapReduce程序打包成Jar包上传到HDFS,并把Jar路径传递给Job Tracker, 由于Jobtracker...

2020-03-10 20:43:23 131 0

原创 Azkaban源码学习笔记 --- 分布式Azkaban如何选择Executor

最近一直在想一个问题,就是当Azkaban是分布式部署的时候,Azkaban-Web-Server究竟是怎么选择哪个Executor来执行的呢? 这里面我们找到了对应的筛选方法:selectExecutor 定位到目录:/azkaban/azkaban-common/src/main/...

2020-03-10 01:17:14 525 0

原创 Hadoop学习笔记 --- 解析MapReduce运行原理

MapReduce是一种编程模型,用于大规模数据集的并行计算。MapReduce采用分而治之的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点完成,然后通过整合各个节点的中间结果,得到最终结果。简单的说MapReduce就是任务的分解与结果的汇总。 分层解析: 1.Sp...

2020-03-07 14:39:17 123 0

原创 Hive中sql partition by 、Group by、Over 、Rank、Dense_Rank()、Row_number()区别

我们如何统计一个班级考试的课程的前三名? 已知表: Lesson(no,course, score) 实例一:对比Partition by 与Group by Select a.course, a.score from ( Select course, score, row_n...

2020-03-07 13:04:48 859 0

原创 数据仓库 --- 范式建模与维度建模

一、维度建模源于 Kimball 提出的总线式的 自下而上(DM-DW-ODS)的数据仓库架构。 根据应用推宽表形式。 特点: 1.模型结构简单,星型模型为主; 2.开发周期短,能够快速迭代; 3.维护成本较高; 4.根据应用频繁更新; 二、范式建模源于Inmon提出的集...

2020-03-07 11:23:39 1288 0

原创 脚本自动定时启动/停止Cloudera版本的Hue

我们可以利用基于Cloudera的Hue的API接口 停止命令: curl -X POST -u 'admin:admin' http://ip:7180/api/v18/clusters/cluster/services/hue/commands/stop 启动命...

2020-03-06 11:17:19 330 0

原创 Hive-SQL获取表中复杂结构数据

数据格式基本如下: col1 "{""couponSetting"":[{""amount"":""xxxxx"",""type"&q...

2020-03-04 20:02:58 938 0

原创 Celery命令选项操作

Celery 命令 选项 Show help screen and exit 显示帮助信息并退出 Options(选项): -A APP, --app=APPapp instance to use (e.g. module.attr_name)-本次操作使用的App实例。 -b BRO...

2020-03-03 20:58:49 335 0

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