自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 spark学习(二)RDD和DAG

一、sparkRDD概念RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是spark中最基本也是最重要的概念之一。它是spark中一种基本的数据抽象,有容错机制并可以被并行操作的元素集合,具有只读、分区、容错、高效、无需物化、可以缓存、RDD依赖等特征。RDD的知识较为庞杂,这里只能按我了解的做一些简单介绍。二、一些基本的熟悉和概念1、part...

2018-09-28 00:03:16 3214 1

原创 Spark学习(一)Spark介绍

一、什么是sparkspark是基于内存计算的大数据并行计算框架,也是hadoop中的mapreduce的替代方案,但和mapreduce又有许多不同。      Spark包含了大数据领域常见的各种计算框架:比如Spark Core用于离线计算,Spark SQL用于交互式查询,Spark Streaming用于实时流式计算,Spark MLlib用于机器学习,Spark GraphX用...

2018-09-27 22:13:55 3438

原创 电商大数据分析平台(三)nginx配置及flume读取日志信息

一、nginx配置在本项目中nginx的作用只是接收客户端发送的事件,并将相应的session写入日志文件中,所以配置较为简单,只需要配置写入的日志文件和写入的格式1.地址配置 server { listen 80; location = /index{ ...

2018-09-16 11:18:25 1232

原创 电商大数据分析平台(二)js sdk的编写

一、简介编写一个js的sdk,用以嵌入待分析的页面中,当用户访问到该页面上时,自动调用该段js代码,获取用户浏览器上的cookie信息,拼装成一段session信息,发送到我的nginx服务器上。二、执行流程如图,用户访问页面时,首先判断用户的会话是否过期,未过期则调用pageView方法发送到nginx服务器,若过期,则判断是否第一次访问,是则创建用户标识并创建对话发送launc...

2018-09-15 17:33:45 1341

原创 电商大数据分析平台项目(一)项目框架

一、项目简介这段时间自己从网上找了一个项目课程,学着做了一个电商大数据分析平台,不过较为简陋,知识作学习用。项目环境:windows10+hadoop2.7.7+hbase2.1.0+flume1.7.0+nginx+3台linux虚拟机(三台虚拟机搭建一个hadoop完全分布式集群,同将主节点配置nginx服务器) 项目需求:对给定时间段内登陆过某网站的用户进行统计分析,具体包括不同条...

2018-09-15 16:03:09 6784

原创 Hadoop学习(四)正式运行hadoop(自己写一个WordCount)

经过几天的学习,学好了理论,搭建好了环境,终于可以开始动手写代码了,这里为写的就是被誉为hadoop的hello world的WordCount。在这里我使用了eclipse的hadoop插件来创建hadoop项目,个人比较推荐这种方式,不仅运行测试起来简单,管理HDFS也是非常方便。这里附上一篇hadoop插件的安装教程:https://blog.csdn.net/xummgg/articl...

2018-08-25 16:50:47 1312

原创 Hadoop学习(三)Hadoop环境搭建

想要在你的电脑中运行Hadoop有三种方式:Hadoop本地模式,Hadoop伪分布模式,Hadoop完全分布模式。下面是对这三种模式的介绍:独立(本地)运行模式:无需任何守护进程,所有的程序都运行在同一个JVM上执行。在独立模式下调试MR程序非常高效方便。所以一般该模式主要是在学习或者开发阶段调试使用 。 伪分布式模式:  Hadoop守护进程运行在本地机器上,模拟一个小规模的集群,换句话...

2018-08-25 10:32:34 496

原创 Hadoop学习(二)Hadoop三大核心组件

Hadoop的三大核心组件分别是:HDFS(Hadoop Distribute File System):hadoop的数据存储工具。 YARN(Yet Another Resource Negotiator,另一种资源协调者):Hadoop 的资源管理器。 Hadoop MapReduce:分布式计算框架一.HDFS1.HDFS概述HDFS是google三大论文之一的GFS的开...

2018-08-25 00:16:30 50453

原创 Hadoop学习(一)初识hadoop

前段时间读完了谷歌的三大论文,现在开始正式学习hadoop,今天就先整理一下hadoop的一些基本要点。一.从起源开始聊起hadoop的起源也就是谷歌著名的三大论文,或者可以说是谷歌三大论文的开源实现。Hadoop的核心组件有三个:HDFS,Hadoop MapReduce,HBase,分别是谷歌的GFS,Google MapReduce和BigTable的开源实现。另外,有趣的是,H...

2018-08-24 21:05:30 821

原创 Google三大论文(三)MapReduce:一个处理和生成超大数据集的编程模型

一.什么是MapReduceMapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。所谓MapReduce,我的理解是类似于算法课上讲的分治法,先将一个超大数据集分为若干个key/value对,再对这若干个key/value对在集群的不同主机上分别进行处理生成中间key/value对,这是MapReduce中的Map部分,也可以说是分治法中“分”的阶段。所有...

2018-08-18 10:31:41 1008

原创 Google三大论文(二)GFS:大规模分布式文件系统

一.什么是GFSGFS(Google File System )是一个大规模分布式文件系统。GFS与传统的分布式文件系统有着很多相同的设计目标,比如,性能、可伸缩性、可靠性以及可用性。而不同之处主要在于一下几点:因组件数目庞大,用户访问量大,组件失效被认为是常态事件。所以,持续的监控、错误侦测、灾难冗余以及自动恢复的机制必须集成在GFS中。 以通常的标准衡量,我们的文件非常巨大。数GB的...

2018-08-16 11:33:22 1826

原创 Google三大论文(一)BigTable:一个分布式的结构化数据存储系统

最近硬着头皮读完了Google的三大论文,现在简单来聊一下自己关于BigTable的了解。一、什么是BigTableBigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服 务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、Google Earth、 Google Finance。这些应用对Bigtable...

2018-08-15 15:23:27 11182 1

原创 JAVA实现UNIX文件管理系统

       这个项目是操作系统的期末课设,正好最近在学java,于是就试着拿java写了一个,基本功能也都实现了界面效果也还可以,发出来大家让大家指点一下。另外,第一次发博客,还请各位大神轻喷。一、UNIX文件系统的基本原理       UNIX采用树型目录结构,每个目录表称为一个目录文件。一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在...

2018-07-26 11:05:16 3155 2

java实现的仿UNIX操作系统课设

一、UNIX文件系统的基本原理        UNIX采用树型目录结构,每个目录表称为一个目录文件。一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区,I节点区,数据块区。 二、基本要点思路         1、模拟磁盘块的实现:因为文件系统需要从磁盘中读取数据操作数据,在实现时是使用文件来模拟磁盘,一个文件是一块磁盘,在文件中以划分磁盘块那样划分不同的区域,主要有三个区域:位图区,inode索引节点区,磁盘块区。位图区我是使用一个512byte的数组存放,inode区和磁盘块区我采用一种自认为比较巧妙的方法,就是存放对象列表,之前说过,在本次实验的所有的结构都使用对象进行存储,而inode节点和磁盘块就是两个重要的数据结构,在初始化时我实例化32个inode对象和512个block对象(至于这些类的具体定义下面会提到),然后将这些对象加入各自对应的对象列表中,在存储时,使用java的对象序列化技术将这个对象数组存到磁盘中。当使用文件系统时,程序会先从磁盘文件中读取出位图数组,inode对象列表,block对象列表,之后的操作就是通过对这些列表进行修改来实现。使用这种方法可以减小存储的空间(对象序列话技术)而且不需要在使用时进行无用的查找,只要第一次初始化中将这些对象都读取出来。        2、界面的实现:在实现这个文件系统时使用了两种方案,一种是直接在java控制台来进行输入输出,因为原本想着UNIX文件系统原本也是使用的命令行语句,所以在控制台上实现也很接近。后来在老师的建议下又将整个程序重新修改,改成在UI界面上进行输入输出,这样确实界面美观舒服了不少,只不过两者用的技术很不一样,前者主要使用的是系统的输入输出流,后者使用java监听器。        3、权限的实现:在实现多用户的权限方面,我给文件和文件夹各定义了三级权限1、访问:在文件中是可以查看文件的内容,在文件夹中是可以进入该文件夹。2、修改:文件中是可以对文件进行编辑,文件夹中是可以在该文件夹中创建新的文件或目录。3、删除:顾名思义。文件或文件夹的创建者拥有最高级别的权限,只有拥有最高级权限的用户才可以给其他用户针对该文件或文件夹进行授权和授权操作。在每次对文件或文件夹进行访问修改删除操作时都会检查当前用户在该文件或文件夹所拥有的权限,只有拥有的权限大于想要实现的权限时才可以进行该操作。

2018-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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