Apache Spark

构建实时数据仓库首选,云原生数据仓库AnalyticDB for MySQL技术解密

我只是一个虾纸丫 提交于 2020-04-11 20:09:31
阿里云分析型数据库重磅推出基础版,极大降低了用户构建数据仓库门槛。高度兼容MySQL,极低的使用成本和极高的性能,使中小企业也可以轻松的搭建一套实时数据仓库,实现企业数据价值在线化。 AnalyticDB for MySQL的产品系列包括基础版(单机版)和集群版,基础版为单个节点提供服务,极简的架构大大的降低了基础版的成本。存储计算分离架构、行列混存技术、轻量的索引构建方式和分布式混合计算引擎又保证了基础版强大的分析性能。年成本不到一万就可以构建一套实时数据仓库,无需成立专门的大数据团队,为企业节省百万成本。 1.基础版技术架构 如下为基础版架构图,整体由Coordinator和Worker组成,各自的职责如下介绍。 1.1 Coordinator: 前端控制节点,职责包括 (1)MySQL协议层接入,SQL解析 (2)认证和鉴权,提供了更完善和细化的权限体系模型,白名单和集群级别RAM控制,并审计与合规记录所有SQL操作。 (3)集群管理:成员管理、元数据、数据一致性、路由同步、备份与恢复(数据与log管理) (4)后台异步任务管理 (5)事务管理 (6)优化器,执行计划生成 (7)计算调度,负责执行任务调度 1.2 Worker: 存储和计算节点,包含 (1)计算模块 分布式MPP+DAG混合计算引擎和优化器达到了更高的复杂计算能力和混合负载管理能力

大数据 面试题 知识点

故事扮演 提交于 2020-04-11 19:44:04
目录 一.Hadoop 1.hdfs写流程 2.hdfs读流程 3.hdfs的体系结构 4.一个datanode 宕机,怎么一个流程恢复 5.hadoop 的 namenode 宕机,怎么解决 6.namenode对元数据的管理 7.元数据的checkpoint 8.yarn资源调度流程 9.hadoop中combiner和partition的作用 10.用mapreduce怎么处理数据倾斜问题? 11.shuffle 阶段,你怎么理解的 12.Mapreduce 的 map 数量 和 reduce 数量 怎么确定 ,怎么配置 13.MapReduce优化经验 14.分别举例什么情况要使用 combiner,什么情况不使用? 15.MR运行流程解析 16.简单描述一下HDFS的系统架构,怎么保证数据安全? 17.在通过客户端向hdfs中写数据的时候,如果某一台机器宕机了,会怎么处理 18.Hadoop优化有哪些方面 19.大量数据求topN(写出mapreduce的实现思路) 20.列出正常工作的hadoop集群中hadoop都分别启动哪些进程以及他们的作用 21.Hadoop总job和Tasks之间的区别是什么? 22.Hadoop高可用 23.简要描述安装配置一个hadoop集群的步骤 24.fsimage和edit的区别 二.Hive 1.hive优化 2.Udf udaf

《Spark快速大数据分析》终于搞到了,源码阅读的正确打开方式。

不羁岁月 提交于 2020-04-11 17:12:52
近年来大数据逐渐升温,经常有人问起大数据为何重要。我们处在一个数据爆炸的时代, 大量涌现的智能手机、平板、可穿戴设备及物联网设备每时每刻都在产生新的数据。 一套大数据解决方案通常包含多个重要组件,从存储、计算和网络等硬件层,到数据处理 引擎,再到利用改良的统计和计算算法、数据可视化来获得商业洞见的分析层。这中间, 数据处理引擎起到了十分重要的作用。毫不夸张地说,数据处理引擎之于大数据就像 CPU 之于计算机,或大脑之于人类。 获取资料 内 容 提 要 本书由 Spark 开发者及核心成员共同打造,讲解了网络大数据时代应运而生的、能高效迅 捷地分析处理数据的工具——Spark,它带领读者快速掌握用 Spark 收集、计算、简化和保存海 量数据的方法,学会交互、迭代和增量式分析,解决分区、数据本地化和自定义序列化等问题。 本书适合大数据时代所有需要进行数据分析的人员阅读。 本书特色 本书结构清晰,章节是按照从前到后依次阅读的顺序组织的。在每一章的开头,我们会说 明本章中的哪些小节对于数据科学家们更重要,而哪些小节则对于工程师们更为有用。话 虽如此,我们还是希望书中的所有内容对两类读者都能有一定的帮助。 前两章将会带你入门,让你在自己的电脑上搭好一个基础的 Spark,并且让你对于用 Spark 能做什么有一个基本的概念。等我们弄明白了 Spark 的目标和 Spark 的安装之后

通过Spark进行ALS离线和Stream实时推荐

我的梦境 提交于 2020-04-11 11:00:38
ALS简介 ALS是alternating least squares的缩写 , 意为交替最小二乘法;而ALS-WR是alternating-least-squares with weighted-λ -regularization的缩写,意为加权正则化交替最小二乘法。该方法常用于基于矩阵分解的推荐系统中。例如:将用户(user)对商品(item)的评分矩阵分解为两个矩阵:一个是用户对商品隐含特征的偏好矩阵,另一个是商品所包含的隐含特征的矩阵。在这个矩阵分解的过程中,评分缺失项得到了填充,也就是说我们可以基于这个填充的评分来给用户最商品推荐了。 ALS is the abbreviation of squares alternating least, meaning the alternating least squares method; and the ALS-WR is alternating-least-squares with weighted- lambda -regularization acronym, meaning weighted regularized alternating least squares method. This method is often used in recommender systems based on matrix

大数据(七十一)Spark【Spark内核_缓存策略】

耗尽温柔 提交于 2020-04-11 07:34:19
一、Spark缓存类型 Spark缓存策略类是StorageLevel,其有如下几个变量 StorageLevel有如下几个对缓存策略的定义 二、Spark算子 下图是Spark算子列表 三、Spark 算子应用(统计文件单词数量) 3.1、给node1服务器上传一个文件,待Spark统计其中单词数,这里我使用的文件是/home/zookeeper.out 3.2、启动Spark Local模式 前往node1服务器,执行如下命令 cd /home/spark-1.3.1-bin-hadoop2.4/ ./bin/spark-shell --master local 出现如下回显表示启动成功,这样我们就可以在下面scala控制台编写spark程序了。 3.3 控制台编写Spark程序 读文件: val lines = sc.textFile("file:///home/zookeeper.out"); 将每一行按空格分割为多个单词: val words = lines.flatMap { line => line.split(" ") } 将单词作为key,value默认设为1,为计数做准备 val pairs = words.map { word => (word, 1) } 将单词分组累加 val wordcounts = pairs.reduceByKey { _ + _ }

sparkSql catalyst优化器

二次信任 提交于 2020-04-10 17:43:58
相关概念 AST树 SQL语法树是编译后被解析的树状结构,树包括很多对象,每个节点都有特定的数据类型,同事有孩子节点(TreeNode对象)。 规则 等价规则转化将规则用于语法树。任何一个SQL优化器中,都会定义大量的Rule,SQL优化器遍历所有节点。匹配所有给定规则,如果匹配成功进行相应转换;失败则继续遍历下一个节点。 Catalyst工作流程 Parser,利用 ANTLR 将sparkSql字符串解析为抽象语法树AST,称为unresolved logical plan/ULP Analyzer,借助于数据元数据catalog将ULP解析为logical plan/LP Optimizer,根据各种RBO,CBO优化策略得到optimized logical plan/OLP,主要是对Logical Plan进行剪枝,合并等操作,进而删除掉一些无用计算,或对一些计算的多个步骤进行合并 优化分类 基于规则优化 /Rule Based Optimizer/RBO 一种经验式、启发式优化思路,基于已知的优化方法定义具体的规则进行优化。 对于核心优化算子join有点力不从心,如两张表执行join,到底使用broadcaseHashJoin还是sortMergeJoin,目前sparkSql是通过手工设定参数来确定的,如果一个表的数据量小于某个阈值(默认10M

sparksql 累加历史

拜拜、爱过 提交于 2020-04-10 16:21:38
spark 累加历史主要用到了窗口函数,而进行全部统计,则需要用到rollup函数 select type , if( sum(cnt) > max(allsum)*0.8,1,0) condition from ( select imsi,type,cnt , row_number() over (partition by type order by cnt desc ) as rn ,sum(cnt) over (partition by type ) as allsum ,count(1) over (partition by type ) as allcnt from lte_attach_suc_temp ) t where rn < allcnt*0.3 group by type 1 应用场景:   1、我们需要统计用户的总使用时长(累加历史)   2、前台展现页面需要对多个维度进行查询,如:产品、地区等等   3、需要展现的表格头如: 产品、2015-04、2015-05、2015-06 2 原始数据: product_code |event_date |duration | -------------|-----------|---------| 1438 |2016-05-13 |165 | 1438 |2016-05-14 |595 | 1438 |2016

面试题汇总

扶醉桌前 提交于 2020-04-10 10:47:04
基础问题 linux和网络基础 (1)linux系统内核态和用户态是什么,有什么区别? (2)BIO、NIO、AIO都是什么,有什么区别? (3)TCP和UDP的区别? (4)详细叙述TCP3次握手,TCP和HTTP的区别,其中字节面试官问的最细,他会具体问TCP底层的3次握手的具体实现逻辑,第三次握手如果失败会怎样。 建议把TCP关闭时的4次挥手也看看,敖丙的文章就有,看了至少表面的东西难不倒你们,由于这个是最基础的问题,如果回答不好,面试官的印象分就你懂得。 (5)rpc和http的区别,你知道有什么rpc框架。 (6)https相对http都实现了什么加密方式,是对称加密还是非对称加密? (7)用linux命令怎么做分组求和,怎么把字符串根据分隔符变成数组(这里建议大家读读敖丙的linux命令篇) JVM基础 (1)简要介绍一下JVM虚拟机(这个问题不是把JVM分成JMM,类加载和GC来问,一定要想好怎么描述JVM) (2)简述一次GC的过程(Minor gc和Major gc过程还记得么) (3)JMM是什么? (4)JVM共享内存都有什么,什么是堆外内存? (5)GC区域,垃圾回收算法,垃圾回收器,G1、CMS、ParNew等垃圾回收器的简介和之间的区别。 (6)类加载过程(5个过程最好能研究明白,因为还涉及到栈帧、局部表量表、操作数栈、动态链接和方法出口等知识

构建实时数据仓库首选,云原生数据仓库技术解密

你离开我真会死。 提交于 2020-04-10 10:07:30
阿里云分析型数据库重磅推出基础版,极大降低了用户构建数据仓库门槛。高度兼容MySQL,极低的使用成本和极高的性能,使中小企业也可以轻松的搭建一套实时数据仓库,实现企业数据价值在线化。 AnalyticDB for MySQL的产品系列包括基础版(单机版)和集群版,基础版为单个节点提供服务,极简的架构大大的降低了基础版的成本。存储计算分离架构、行列混存技术、轻量的索引构建方式和分布式混合计算引擎又保证了基础版强大的分析性能。年成本不到一万就可以构建一套实时数据仓库,无需成立专门的大数据团队,为企业节省百万成本。 1.基础版技术架构 如下为基础版架构图,整体由Coordinator和Worker组成,各自的职责如下介绍。 1.1 Coordinator: 前端控制节点,职责包括 (1)MySQL协议层接入,SQL解析 (2)认证和鉴权,提供了更完善和细化的权限体系模型,白名单和集群级别RAM控制,并审计与合规记录所有SQL操作。 (3)集群管理:成员管理、元数据、数据一致性、路由同步、备份与恢复(数据与log管理) (4)后台异步任务管理 (5)事务管理 (6)优化器,执行计划生成 (7)计算调度,负责执行任务调度 1.2 Worker: 存储和计算节点,包含 (1)计算模块 分布式MPP+DAG混合计算引擎和优化器达到了更高的复杂计算能力和混合负载管理能力

HBase生产环境配置与使用优化不完全指南

六月ゝ 毕业季﹏ 提交于 2020-04-10 09:37:35
HBase上线至今,承载了线上所有实时交易量,虽然大部分请求都能够保证服务稳定(99.56%响应时间毫秒级),但是一旦HBase出现问题就是鸡飞狗跳的灾难。 从老机器到新集群,从老机房到新机房,期间经历过各种问题和生产故障,总结一番以备不时之需。 HBase使用定位: 大规模数据+高并发+毫秒级响应的OLTP实时系统(数据库)。 集群部署架构 HBase集群一旦部署使用,再想对其作出调整需要付出惨痛代价,所以 如何部署HBase集群是使用的第一个关键步骤。 以下是HBase集群使用以来的部署架构变化以及对应的分析。 第一阶段 硬件混合型+软件混合型集群 集群规模:20 部署服务:HBase、Spark、Hive、Impala、Kafka、Zookeeper、Flume、HDFS、Yarn等 硬件情况:内存、CPU、磁盘等参差不齐,有高配有低配,混搭结构 硬件混合型指的是该集群机器配置参差不齐,混搭结构。 软件混合型指的是该集群部署了一套CDH全家桶套餐。 这个集群不管是规模、还是服务部署方式相信都是很多都有公司的”标准“配置。 那么这样的集群有什么问题呢? 如果仅仅HBase是一个非“线上”的系统,或者充当一个历史冷数据存储的大数据库,这样的集群其实一点问题也没有,因为对其没有任何苛刻的性能要求。 但是如果希望HBase作为一个 线上能够承载海量并发、实时响应的系统