自学大数据之路
文章平均质量分 96
该系列文章是自己的自学成果的提炼,希望借此一方面巩固下自己的知识体系,另一方面与“志同道合”的朋友分享交流。如有错误或不足,希望大家指出。谢谢。近期会把之前学过的东西再总结出一些文章,对于已经发表的文章也会做一些更新。确保每篇文章都能达到“干货”的等级
nobody~
这个作者很懒,什么都没留下…
展开
-
浅谈管理数据平台的一些想法
前言:对于任何使用大数据技术的公司来说,大数据平台特别是Hive来说,维护其高效快速的运行,对整个公司的运作来说至关重要。比如说:某个调度任务失败了造成业务部门的某些报表无法正常产出;hive平台最近速度下降了,造成业务跑sql,跑半天不出结果,进而发起投诉等等。对于数据平台来说任何一个小的事故轻则造成公司的运行效率降低,重则使整个公司的业务运行异常(异常可能不会被立刻发现)等等,可以夸张点的说...原创 2020-04-18 22:17:53 · 717 阅读 · 0 评论 -
SQL中基于代价的优化
还记得笔者在上篇文章无意中挖的一个坑么?如若不知,强烈建议看官先行阅读前面两文-《SparkSQL Join原理》和《Join中竟然也有谓词下推?》第一篇文章主要分析了大数据领域Join的三种基础算法以及各自的适用场景,第二篇文章在第一篇的基础上进一步深入,讨论了Join基础算法的一种优化方案 – Runtime Filter,文章最后还引申地聊了聊谓词下推技术。同时,在第二篇文章开头,笔者引...转载 2020-04-05 17:31:08 · 2050 阅读 · 0 评论 -
Spark&HiveSQL中Join操作的谓词下推?
前言:SparkSQL和HiveSQL的Join操作中也有谓词下推?今天就通过大神的文章来了解下。同样,如有冒犯,请联系。正文上文简要介绍了Join在大数据领域中的使用背景以及常用的几种算法-broadcast hash join 、shuffle hash join以及sort merge join等,对每一种算法的核心应用场景也做了相关介绍,这里再重点说明一番:大表与小表进行join会使...转载 2020-04-03 21:12:28 · 1199 阅读 · 0 评论 -
SparkSQL之Join原理
文章目录前言:Join背景介绍Join常见分类以及基本实现机制Hash JoinBroadcast Hash JoinShuffle Hash JoinSort-Merge Join总结前言:写SQL的时候很多时候都有用到join语句,但是我们真的有仔细想过数据在join的过程到底是怎么样的吗?今天借这位大神的文章来交接下sql中join的原理。同样,如有冒犯,请联系。Join背景介绍Jo...转载 2020-04-02 21:46:30 · 4821 阅读 · 1 评论 -
SparkSQL-从0到1认识Catalyst
文章目录前言正文预备知识-Tree&RuleCatalyst工作流程ParserAnalyzerOptimizerSparkSQL执行计划前言这篇文章是转载一位大神的文章,为什么要转载的,实在是因为写的太经典了,所以忍不住希望能有更多的人可以看到。如有冒犯请联系我。正文最近想来,大数据相关技术与传统型数据库技术很多都是相互融合、互相借鉴的。传统型数据库强势在于其久经考验的SQL优化...转载 2020-04-01 22:01:34 · 664 阅读 · 0 评论 -
azkaban的操作指南
前言:最近在实际工作中玩到了Azkaban,虽然之前有简单的接触,但是真正用到的时候,才能体会到这个工具的实用性有多强,总结下真个操作过程。在总结整个操作过程之前先简单描述下工作流调度系统的优势。1、工作流调度系统的优势一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序、hive脚本等各任务单元之间存在时间先后及前后依赖关系为了...原创 2019-08-03 15:10:25 · 1549 阅读 · 0 评论 -
玩Azkaban跳过的坑
文章目录一号坑:启动Azkaban报错:User xml file conf/azkaban-users.xml doesn't exist.二号坑:报错:failed SslSocketConnector@0.0.0.0:8443: java.io.FileNotFoundException: /home/hadoop/app/azkaban/azkaban-web-2.5.0/bin/keys...原创 2018-11-13 15:38:54 · 8083 阅读 · 10 评论 -
大数据面试题总结(附答案)
最近由于要准备面试就开始提早看些面试、笔试题。以下是自己总结的一些经常出现、有价值的试题,包含hadoop、hive、hbase、storm、spark等。答案仅供参考,如有错误,请指出。试题不定时更新。hadoop相关试题MapTask并行机度是由什么决定的? 由切片数量决定的。MR是干什么的? MR将用户编写的业务逻辑代码和自带的默认组件结合起来组成一个完整的分布式应用程序原创 2018-01-02 15:02:27 · 24779 阅读 · 1 评论 -
SecureCRT常用的使用技巧
目录前言:1、SecureCRT 超时自动断开连接的解决办法2、SecureCRT连接Linux时,终端显示乱码的问题。3、SecureCRT使用自动记录日志功能目录前言:由于工作需要,要经常玩SecureCRT,所以还是希望能好好了解下这个软件,以下是一些常用的功能,后续后接着补充。1、SecureCRT 超时自动断开连接的解决办法在利用Sec...原创 2018-08-31 13:32:51 · 3030 阅读 · 0 评论 -
HA机制的大数据集群的搭建过程
集群规划说明:1、在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数...原创 2018-09-21 17:29:41 · 687 阅读 · 1 评论 -
利用Sqoop在数据库和Hive、HDFS之间做ETL操作
目录:一、利用Sqoop,从Oracle到HDFS二、利用Sqoop,从Oracle到Hive目录:一、利用Sqoop,从Oracle到HDFS第一步:把Oracle驱动拷贝到Sqoop安装路径中的lib文件夹下。第二步:切换账户su hdfs第三步:执行import操作sqoop import --connect jdbc:oracle:thin:@...转载 2018-08-30 16:13:00 · 1828 阅读 · 0 评论 -
Sqoop的安装配置及工作机制
目录:1、简介2、sqoop安装2.1、下载并解压2.2、修改配置文件2.3、加入mysql或oracle的jdbc驱动包2.4、验证启动3、Sqoop的原理3.1、代码定制目录:1、简介sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、H...原创 2018-08-30 16:55:23 · 462 阅读 · 0 评论 -
Linux下快速安装MySQL教程
转自:https://blog.csdn.net/sl1992/article/details/53634674 亲测整个过程非常快捷,基本1分钟就能搞定。Linux下安装MySQL 虚拟机使用的是CentOS6.7环境1.执行yum install mysql-server进行安装Linux系统需要能进行网络连接 2.输入y进行确认 再次确认 输入y进...转载 2018-08-20 15:48:03 · 948 阅读 · 0 评论 -
Hbase2.0版本安装教程
最近由于工作需要又把HBase重装了一遍,发现还是需要自己总结下安装过程,不然等到再次装的时候,还是会碰到很多坑。由于出了新版本,所以这里自己就找的比较新的版本来玩。 我的环境:Hadoop2.6.4+Centos6.7minimal版本+Hive2.1.1+Hbase2.01. 上传将下载好的Hbase上传到Centos。2. 解压(这里就懒得改这个版本名称了。。)...原创 2018-08-21 15:23:30 · 3475 阅读 · 0 评论 -
大数据之SparkSQL简介及DataFrame的使用
前言:本文主要介绍下SparkSQL以及SparkSQL的简单使用。这里只是做了一个非常简单的介绍,后续工作中如果有用到相关的知识,我会再总结。1、Spark SQL1.1、Spark SQL概述1.1.1、什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。 ...原创 2018-04-07 20:25:41 · 646 阅读 · 0 评论 -
大数据之Spark简介及RDD说明
前言:本篇文章只是简单介绍下Spark,然后对Spark的RDD在做一个全面的介绍。由于博主知识有限,这里只是做一个简单的介绍。若有些地方有问题,请大家及时指出。后续随着深入的学习,会再进一步总结自己的学习成果。1、Spark概述1.1、什么是Spark(官网:http://spark.apache.org) Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生...原创 2018-04-07 18:01:07 · 707 阅读 · 0 评论 -
大数据之Spark集群安装及简单使用
1、Spark集群安装1.1. 安装1.1.1. 机器部署 准备两台以上Linux服务器,安装好JDK1.7 1.1.2. 下载Spark安装包 下载地址:http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz 上传解压安装包 上传spark-1....原创 2018-04-07 16:30:07 · 588 阅读 · 2 评论 -
大数据之Kafka内部原理详细介绍
前言:本篇文章所介绍的内容还是以了解为主,主要目的还是为了对Kafka有一个更深入的理解。主要介绍了以下几个知识点:Kafka的负载均衡、Producer生产数据、Kafka文件存储机制等(不过总感觉这篇文章总结的乱七八糟。。请大家多多包涵,随着后面的学习,自己会再回过头来进行修改)1、Kafka整体结构Kafka名词解释和工作方式kafka:是一个生产-消费模型。类JMS消...原创 2018-04-07 15:47:00 · 1833 阅读 · 0 评论 -
大数据之Kafka集群安装及简单使用
1、Kafka集群部署1.1、下载安装包 http://kafka.apache.org/downloads.html 在linux中使用wget命令下载安装包 wget http://mirrors.hust.edu.cn/apache/kafka/0.8.2.2/kafka_2.11-0.8.2.2.tgz 1.2、解压安装包 tar -zxvf /export/s...原创 2018-04-07 14:34:17 · 410 阅读 · 0 评论 -
大数据之Kafka入门简介
前言:作为流式计算中的一个组件,对于它的组成以及运行的原理,学习者也需要相关的了解。以下主要简单介绍了kafka是什么以及对应的组件有哪些;除此之外重点介绍了JMS,毕竟JMS也算是Kafka的核心,还是有必要了解一下。1、Kafka是什么在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。Apache Kafka是一个开源消息系统,由Sca...原创 2018-04-07 14:18:05 · 1333 阅读 · 0 评论 -
Storm任务提交过程及目录树介绍
前言:对于任何一个组件来说,了解它相关的任务提交的过程是非常有必要的(毕竟生产中遇到一些Bug时,你如果知道内部执行的过程,那么会对问题的解决会有很大的帮助)。除此之外还会对Storm相关的目录树进行一个简单的介绍,主要是为了了解下在任务提交过程中一些数据的存储过程。博主也是小菜鸟一枚,如有错误或不足,请各位及时指出,必当及时修正。1、Storm 任务提交的过程任务提交详细过程如下图所...原创 2018-04-06 22:37:12 · 1447 阅读 · 1 评论 -
Storm程序的并发机制原理总结
前言:为了在以后的实践中提高Storm程序执行的效率,我们还是有必要了解下对应的Storm程序的并发机制。(哈哈,虽然以博主小菜鸟的水平还没有接触到这种提升程序效率层面的东西(这里只是空谈理论),但是Storm的并行机制还是有必要了解下,毕竟技多不压身嘛!)1、概念并发度:用户指定的一个任务,可以被多个线程执行,并发度的数量等于线程的数量。一个任务的多个线程,会被运行在多个Wor...原创 2018-04-06 22:12:00 · 695 阅读 · 0 评论 -
Storm的通信机制
前言:这篇文章,博客主要介绍下Storm中Worker进程间和进程内部通信的原理和技术。整篇内容仅供了解,如有不足或错误请指出。 Worker间的通信经常需要通过网络跨节点进行,Storm使用ZeroMQ或Netty(0.9以后默认使用)作为进程间通信的消息框架。 Worker进程内部通信:不同worker的thread通信使用LMAX Disruptor来完成。 不同topologey...原创 2018-04-06 21:35:10 · 1064 阅读 · 0 评论 -
Storm集群的安装及简单使用
前言:这里先简单说一下Storm的安装的主要步骤,还会介绍下Storm的常用的操作指令以及各个进程对应的日志信息,之后会简单介绍下Storm的源码目录。1、集群部署的基本流程集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装包、启动集群(其他集群部署通用的流程)下载和解压安装包在这里就省略,直接进入修改配置文件 1.3、修改配置文件 vi /export/ser...原创 2018-04-06 18:23:57 · 1117 阅读 · 0 评论 -
Storm编程模型总结
前言:对于Storm的编程模型有必要做一个详细的介绍(配合WC案例来介绍)1、Storm编程模型 上图中组件的解释:DataSource:外部数据源Spout:接受外部数据源的组件,将外部数据源转化成Storm内部的数据,以Tuple为基本的传输单元下发给BoltBolt:接受Spout发送的数据,或上游的bolt的发送的数据。根据业务逻辑进行处理。发送给下一个Bolt或者...原创 2018-04-06 17:12:04 · 725 阅读 · 0 评论 -
Zookeeper的简介及命令行操作
前言作为一款第三方的协调服务框架,ZK被应用在许多地方,如:Hbase中用于存储-ROOT表的位置信息;Storm中用于保存任务分配的信息、心跳信息、元数据信息等。只要是在整个设计中需要一个第三方的组件来满足“元数据的存储、提供监听服务”的需求,ZK都可以满足。接下来就简单介绍下ZK。1、Zookeeper简介Zookeeper**是一个分布式协调服务;就是为用户的分布式应用程序提...原创 2018-03-30 10:53:00 · 318 阅读 · 0 评论 -
Zookeeper集群角色分配原理
ZK内部存在Leader和Follower两个角色,那么这两种角色是怎样划分呢?或者说是怎么样被选举出来呢?以下将详细介绍ZK内部的选举机制。 ZK是通过内部的选举算法来选出Leader。(服务器需要配置对应的ID和文件)如下图所示: 第一种情况:集群是全新的集群。以一个简单的例子来说明整个选举的过程. 假设有五台服务器组成的zookeeper集群,它们的id从1-5,同时它们都...原创 2018-03-30 11:11:39 · 1492 阅读 · 0 评论 -
Hbase读写数据的原理解析
1、体系图 针对上图的一些解释: 这里面数据分区(region)存储是为了查询方便(即因为是集群所以能充分利用磁盘的IO性)。添加数据时,数据先进入Hlog–预写日志(数据只能追加不能修改)<防止数据丢失>,数据在Hlog写完后再写到内存中。 HFile:认为是将数据进行序列化。 StoreFile:认为是一个文件。 DFS:调用HDFS的客户端API来将数据传到HDFS...原创 2018-03-29 21:44:58 · 5957 阅读 · 2 评论 -
Yarn在MapReduce中的工作机制
前言:在了解Yarn在MR中的作用的时候需要先了解Yarn是什么。1、YARN概述Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序 YARN的重要概念 1、 yarn并不清楚用户提交的程序的运行机制 2、 yarn只提供运算资源的调度(用户程序向yarn申请资源,...原创 2018-03-28 21:02:36 · 894 阅读 · 0 评论 -
Storm入门简介
前言:在介绍Storm之前,先介绍下离线计算。 离线计算:批量获取数据、批量传输数据、周期性批量计算数据、数据展示 代表技术:Sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计算数据、Hive批量计算数据、azkaban任务调度 与之对应的就是流式计算即Storm的应用场景——流式计算。那么流式计算是什么呢? 流式计算:数据实时产生、数据实时传输、数据实时计算、...原创 2018-01-11 14:23:46 · 428 阅读 · 0 评论 -
Hbase简介及常用命令相关知识总结
前言:对于Hbase来说,由于其是基于列的数据库,所以比传统的数据库快许多(每次查询只需要查询一个属性值,传统数据库则需要查询一行数据中的所有属性,因此比较慢。)以下只是对Hbase做了一个基本介绍,看完该博客后,希望能对Hbase有个基本的了解。1.Hbase简介1.1、什么是HbaseHBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可...原创 2018-01-08 14:45:13 · 624 阅读 · 0 评论 -
Hive的基本操作总结
前言:对于Hive来说最重要的一点就是能够用Hql来进行数据分析。而Hql来处理数据比MapReduce方便很多(原理是一样的,Hql底层转化为MapReduce来处理数据)。而随着技术的发展,编写MapReduce程序来处理数据也许会被慢慢淘汰,而Hql仍会保留下来(原因:1、类SQL语法,学习成本比较低。2、大数据时代对数据开发的需求,需要有这样的数据仓库来支撑。)1、Hive基本...原创 2018-03-29 14:46:47 · 1530 阅读 · 0 评论 -
Hive的相关介绍
前言:为什么使用Hive 直接使用hadoop所面临的问题 人员学习成本太高 项目周期要求太短 MapReduce实现复杂查询逻辑开发难度太大使用Hive的优点: 操作接口采用类SQL语法,提供快速开发的能力。 避免了去写MapReduce,减少开发人员的学习成本。 扩展功能很方便。1、Hive简介1.1、什么是Hive Hive是基于Hadoop的一个数据仓库工...原创 2017-12-29 17:32:02 · 628 阅读 · 0 评论 -
SparkRDD常用算子实践(附运行效果图)
SparkRDD算子分为两类:Transformation与Action. Transformation:即延迟加载数据,Transformation会记录元数据信息,当计算任务触发Action时,才会真正开始计算。 Action:即立即加载数据,开始计算。 创建RDD的方式有两种: 1、通过sc.textFile(“/root/words.txt”)从文件系统中创建 RDD。 2、#通...原创 2017-12-14 20:27:15 · 8746 阅读 · 0 评论 -
Secondary Namenode的Check point机制以及Namenode、Datanode工作机制说明
前言:在说明checkpoint机制之前,先要了解下namenode、datanode的一些功能和职责。1、NameNode的工作机制问题场景: 1、集群启动后,可以查看文件,但是上传文件时报错,打开web页面可看到namenode正处于safemode状态,怎么处理?(safemode是由于当前的namenode和大部分的datanode未建立完全的链接<即namenod...原创 2017-12-28 23:00:07 · 1135 阅读 · 0 评论 -
安装Hbase(分布式)遇到一些问题及解决方法
问题一:安装完成后执行l在Hbase shell 命令行执行list命令时,爆出如下错误:hbase(main):001:0> listTABLE原创 2017-11-17 01:19:25 · 1968 阅读 · 0 评论 -
Hive2.1.1的安装教程(元数据放在本地Mysql)
1.上传tar包 jar包地址: 2.解压 tar -zxvf hive-0.9.0.tar.gz -C /cloud/ 3.安装mysql数据库(切换到root用户) 参考:http://blog.csdn.net/qq_16633405/article/details/78255440 4.配置hive (a)配置HIVE_HOME环境变量 vi conf/hive-en原创 2017-10-18 22:52:31 · 3463 阅读 · 1 评论 -
MapTask、ReduceTask并行度决定机制
前言:MapTask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速度。那么,MapTask并行实例是否越多越好呢?其并行度又是如何决定呢?1、mapTask并行度的决定机制一个job的map阶段并行度由客户端在提交job时决定,而客户端对map阶段并行度的规划的基本逻辑为: 将待处理数据执行逻辑切片(即按照一个特定切片大小,将待处理数据划分成逻辑上的多个sp...原创 2018-03-28 16:03:47 · 2934 阅读 · 0 评论 -
MapReduce原理全剖析
MapReduce剖析图如上图所示是MR的运行详细过程首先mapTask读文件是通过InputFormat(内部是调RecordReader()–>read())来一次读一行,返回K,V值。(默认是TextInputFormat,还可以输入其他的类型如:音视频,图片等。)。mapper(map(k,v))–>context.write()即mapTask阶段。输出数据到Output...原创 2017-12-28 17:00:37 · 5151 阅读 · 2 评论 -
大数据之MapReduce详解(MR的运行机制及配合WordCount实例来说明运行机制)
今天先总体说下MapReduce的相关知识,后续将会详细说明对应的shuffle、mr与yarn的联系、以及mr的join操作的等知识。以下内容全是个人学习后的见解,如有遗漏或不足请大家多多指教。前言:为什么要MAPREDUCE (1)海量数据在单机上处理因为硬件资源限制,无法胜任 (2)而一旦将单机版程序扩展到集群来分布式运行,将极大增加程序的复杂度和开发难度 (3)引入ma...原创 2017-10-31 15:30:45 · 3932 阅读 · 0 评论