- 博客(121)
- 收藏
- 关注
原创 kafka
kafka概述(1).概述Kafka是由LinkedIn开发的一个分布式的消息系统,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础Kafka使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成特性:1)....
2020-02-12 20:49:25
260
原创 python实现单列模式
单例模式简介所谓的单列模式就是不管什么样的情况,只能有一个对象存在。应用场景有线程池、系统配置对象。总之单列模式中只能有一个对象,而且是首次创建的对象代码:class Singleton(object): """ 单例模式 """ class _A(object): """ 真正干活的类, 对外隐藏 """...
2020-02-10 17:45:21
195
原创 Hadoop 上运行基于中文分词算法的 MapReduce 程序,进行词频分析。
首先安装分析工作sudo pip install jieba -i http://pypi.doubanio.com/simple/需求:求一本小说里面出现次数最多得人名呆萌(demo)的代码将基于 Hadoop 的 Streaming 工作模式实现,Streaming 模式下 Hadoop 可以使用非 Java 编写的 MapReduce 程序。数据:小说《天龙八部》...
2020-02-07 20:04:48
1854
原创 spark Straming介绍
目录1sparkstreaming介绍1.1背景1.2SparkStreaming设计1.3SparkStreaming与Storm的对比现在的事实是--->twitter跳槽过来的同事说,现在他们内部已经不使用storm了,转而使用SparkStreaming,可见SparkStreaming正渐渐成为主流2架构及运行流程...
2020-02-05 20:35:33
822
1
原创 理解GC-GC对spark的影响
什么是GC垃圾收集 Garbage Collection 通常被称为“GC”,回收没用的对象以释放空间。 GC 主要回收的是虚拟机堆内存的空间,因为new 的对象主要是在堆内存。垃圾收集的算法1)标记 -清除算法标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所...
2020-02-05 11:34:07
869
原创 Spark-Shuffle
Spark-Shuffle理解 对spark任务划分阶段,遇到宽依赖会断开,所以在stage 与 stage 之间会产生shuffle,大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。 负责shuffle过程的执行、计算和处理的组件主要就是ShuffleManager,也即shuffle管理器。而随着S...
2020-02-05 11:24:07
391
原创 BlockManager分析
BlockManager分析 BlockManager 是一个嵌入在 spark 中的 key-value型分布式存储系统。它分为master和slave。 Driver 端 是BlockManagermaster;Executor 节点 是BlockManagerslave; BlockManager 在一个 spark 应用中作为一个本地缓存运...
2020-02-05 11:14:23
214
原创 spark 内存管理
spark 内存管理 Spark 作为一个以擅长内存计算为优势的计算引擎,内存管理方案是其非常重要的模块; Spark的内存可以大体归为两类:execution(运行内存)和storage(存储内存),前者包括shuffles、joins、sorts和aggregations所需内存,后者包括cache和节点间数据传输所需内存; 在Spark 1.5和之前版本里,运...
2020-02-05 11:08:07
263
原创 spark 组成及运行大概 流程
spark 组成及运行大概 流程Driver:运行应用的的main函数,提交任务,下发计算任务。ClusterManager:资源管理,在独立的模式(standalone)模式下是master ,在yarn是ResouceManagerWork:计算工作节点,上报自己的资源情况,启动和管理ExecuterExecutor:执行器,是某个应用运行在work节点上的一个进程,负...
2020-02-05 10:53:55
179
原创 Spark RDD理解
RDD设计是整个Spark中最为核心的设计理念,理解了RDD的设计之后自然而然就可以理解Spark为什么要这么设计,首先呢我们要先从Spark和Hadoop的渊源说起。Spark&HadoopHadoop在之前几年是非常火的,统领了大数据分析将近十年的浪潮,但是从2015年之后,整个Hadoop市场在逐渐萎缩,取而代之的是Spark市场逐渐扩张,同样是做批处理为何Spark要比Ha...
2020-02-04 11:32:55
130
原创 spark概述
目录1spark概述1.1Spark产生的背景1.2什么是Spark1.3Spark历史1.4为什么要用Spark1.5Spark对比Hadoop1.6Spark对比MapReduce2spark生态3Spark应用场景1 spark 概述1.1 Spark产生的背景基于mapreduce的一些缺点,列如只有m...
2020-02-04 11:27:20
340
原创 网页日志分析项目
目录项目需求数据分析项目规划项目流程项目展示项目需求当用户进入公司web进行点击,会触发一系列的事件,这些事件对应着相应的日志。我们需要收集用户访问日志,进行清洗、储存、展示。根据上面一系列操作我们可以对用户的注册人数、访问人数、访问深度、以及收欢迎的一些专题进行分析。数据分析样例数据:192.168.92.34-09/Dec/2019:14:00:...
2020-02-03 20:28:31
310
原创 Hbase读写流程
Hbase读写数据流程regionserverHRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table中的一个Region,HRegion中由多个HStore组成,每个HStore对应了Table中的一个Column Family的存储,可以看出每个Column Family其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在...
2020-02-03 19:59:35
225
原创 Hbase主要组件
1.1 Hbase的架构组成HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由以下类型节点组成:HMaster节点、HRegionServer节点、ZooKeeper集群,而在底层,它将数据存储于HDFS中,因而涉及到HDFS的NameNode、DataNode等,总体结构如下:各组件说明:Client: 1)使用HBa...
2020-02-03 19:58:13
1455
原创 Hbase概述
Hbase介绍HBase 是基于Apache Hadoop 的面向列的 NoSQL 数据库,是Google 的 BigTable 的开源实现。HBase 是一个针对半结构化数据的开源的、多版本的、可伸缩的、高可靠的、高性能的、分布式的和面向列的动态模式数据库。HBase 和传统关系数据库不同,它采用了 BigTable 的数据模型增强的稀疏排序映射表(Key/Value),其中,键...
2020-02-03 19:51:12
830
原创 MapReduce概述
目录MapReduce 简介MapReduce 流程分析MapReduce 阶段划分MapReduce 工作机制剖析MapReduce 简介MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是 Google 公司,而 Google 的灵感则来自于函数式编程语言,如 LISP、Scheme、ML 等。MapRedu...
2020-02-03 09:24:47
208
原创 hdfs读写操作
读取流程流程图:1.客户端向NameNode发送读的请求2.NameNode根据客户端的请求,根据内存索引查找客户端要查的文件对应的文件块,如果没有那么告诉客户端。如果有那么将文件块在那些服务器上以及具体的位置在哪儿告诉客户端。客户端根据namenode返回的信息,读取最近的服务器的文件。1)客户端调用 DistributedFileSystem 的 Open() 方法打...
2020-02-02 17:56:26
309
原创 Hadoop概述
目录 Hadoop 简介 Hadoop 历史 Hadoop 相关项目 Hadoop 应用场景 了解 Hadoop 的概念 了解 Hadoop 的相关项目和使用场景 Hadoop 简介开源Apache Hadoop 是一款支持数据密集型分布式应用并以 Apache 2.0 许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。源...
2020-02-02 11:53:49
162
原创 linux压缩文件和解压文件
zip: 打包 :zip something.zip something (目录请加 -r 参数) 解包:unzip something.zip 指定路径:-d 参数 tar: 打包:tar -cf something.tar something 解包:tar -xf something.tar 指定路径:-C 参数 ...
2020-02-01 20:15:07
79
原创 实现《黑客帝国》滚屏代码,“数字雨”。
在linux需要先安装:sudo apt-get update; sudo apt-get install cmatrix执行命令:cmatrix效果:想要改变颜色:cmatrix -C red效果可以有如下颜色:
2020-02-01 17:09:13
2353
1
原创 linux用户和用户组的概念
目录Linux常规操纵:多用户操作1.1linux的用户与用户组理论1.1.1概述1.1.2linux的用户分类1.1.3linux的用户组1.1.4用户与组的关系1.1.5用户与组对linux的影响1.2linux的用户与用户组实战1.2.1Linux用户组的CURD操作groupaddgroupmodgroupdel...
2020-02-01 16:31:50
1274
1
原创 Linux概述
目录 linux为何物 linux历史简介 linux重要人物 linux与windows的不同 学习linux规划 linux为何物?linux就是操作系统和windows一样,linux分为系统调用和内核两层。linux简史操作系统始于二十世纪五十年代,当时的操作系统能运行批处理程序。批处理程序不需要用户的交互,它从文件或者穿孔卡片读取数据...
2020-02-01 15:55:28
176
原创 AVRO表
AVRO了解Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据。当前市场上有很多类似的序列化系统,如Google的Protocol Buffers, Facebook的Thrift。这些系统反响良好,完全可以满足普通应用的需求。针对重复开...
2019-11-26 21:19:22
363
原创 hive的索引机制
1)建立索引在指定列上建立索引,会产生一张索引表(Hive的一张物理表),里面的字段包括,索引列的值、该值对应的HDFS文件路径、该值在文件中的偏移量;hive的索引是需要手动进行维护的2)利用索引查询数据① 在执行索引字段查询时候,首先额外生成一个MR job,根据对索引列的过滤条件,从索引表中过滤出索引列的值对应的hdfs文件路径及偏移量,输出到hdfs上的一...
2019-11-26 20:39:39
727
原创 hive——DDL操作
--创建语句create DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEX--删除语句drop DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEX--清空语句truncate table--修改语句alter DATABASE/SCHEMA, TABLE, VIEW--查看创建语句...
2019-11-26 20:29:38
143
原创 hive的数据类型
1.1 基本类型数据类型 大小 范围 示例 TINYINT 1byte -128 ~ 127 100Y SMALLINT 2byte -32,768 ~ 32,767 100S INT/INTEGER 4byte -2,147,483,648 ~ 2,147,483,647 100 BIGINT 8b...
2019-11-25 00:05:47
349
原创 hive概述
目录HIVE介绍与原理分析 hive是Hadoop的数据仓储工具,用于存储和处理海量的结构话数据,使用sql解决mapreduce的编码问题,之前写了很多mapreduce,wordcout(单词统计)、排序、二次排序、最大值最小值、半连接、等等。对于传统的数据管理人员是困难的,而且耗时间facebook开源了一个数据仓储矿建。h可以通过sql解决mapreduce底层计算问题。...
2019-11-24 21:30:59
220
原创 Mapreduce之二次排序
二次排序二次排序,对第1个字段相同的数据,使用第2个字段进行排序。说白了就是我们有的时候需要先按照key进行排序 如果key相同的情况下再按val排序;通过一个程序实现两次排序的玩法我们成为是二次排序;举个例子,电商平台记录了每一用户的每一笔订单的订单金额,现在要求属于同一个用户的所有订单金额作排序,并且输出的用户名也要排序。这里涉及到了分组分组 grouping1)概念:主...
2019-11-17 23:36:31
194
原创 解决reduce拉取map数据的时候key设计的不均衡问题
什么是数据倾斜及数据倾斜是怎么产生?简单来说数据倾斜就是数据的key 的分化严重不均,造成一部分数据很多,大部分数据很少的局面。举个 word count 的入门例子,它的map 阶段就是形成 (“aaa”,1)的形式,然后在reduce 阶段进行 value 相加,得出 “aaa” 出现的次数。若进行 word count 的文本有100G,其中 80G 全部是 “aaa” 剩下 20G...
2019-11-17 21:29:44
614
原创 Mapreduce之Partition
Partition了解Partition位置Partition主要作用就是将map的结果发送到相应的reduce。这就对partition有两个要求:1)均衡负载,尽量的将工作均匀的分配给不同的reduce。2)效率,分配速度一定要快。patition类结构1.Partitioner是partitioner的基类,如果需要定制partitioner也需要继承该类。2...
2019-11-17 20:41:12
593
原创 Mapreduce之sort
正序排序:mapreduce本身自带排序,在map阶段是局部有序,在reduce阶段是全局有序的。现在我们测试单个文件使用map输出package com.hnxy.mr.Sort;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.c...
2019-11-17 16:17:40
677
原创 Mapreduce之多目录输入+Inner Join
我们完成的innerjoin实例中因为两个文件的列数不一致导致我们在map操作中必须要加入业务逻辑判断才能完成正确数据输出;那么这样的话有没有什么优化手段呢? 有! 可以使用多目录输入;package com.hnxy.mr.Multiple;import java.io.IOException;import java.util.LinkedList;import java.ut...
2019-11-16 21:44:52
184
原创 Mapreduce之InnerJoin
内连接两个文件 显示两个文件的数据根据两个文件的数据进行判断读取每一行数据数据长度==2 那么就是第一个文件长度==3那么就是第二个文件第一个文件使用a#开头第二个文件使用b#开头两个文件使用相同的key value进行合并获取以为开头a 并进行切分获取以b开头 并进行切分把切的数据封装 根据key相同聚合valuepackage com.hnxy.mr.join...
2019-11-16 17:08:25
128
原创 MapReduce之多目录输出
多目录输出:输出两个文件一个是最大值,一个最小值。主要操作reduce阶段1.在reduce阶段定义多目录输出对象private MutipleOutPuts<Text,DouWritable> outputs =null;2.在setup()创建多目录输出对象 需要context支持outputs = new MultipleOutputs(context);...
2019-11-16 15:05:37
384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人