大数据技术及应用探究

深入解析Hadoop的架构设计

Hadoop 是一个存储和处理大规模数据的开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式存储计算。Hadoop 主要有以下几个优点:高扩展性。正在执行的子任务由于某种原因挂掉的话,Hadoop 可以自动让其他节点继续执行该子任务,不影响整个任务的执行。HDFS 和MapReduce 是Hadoop 的两大核心,整个Hadoop 的体系结构主要是HDFS 为海量数据提供了分布式存储,MapReduce 为海量数据的规则提取提供了并行计算。
理论教育 2023-06-14

MapReduce Java API详解

Mapper 抽象类有四个参数,分表表示输入key,输入value,输出key,输出value;其中输入key 和输入value 同Maper 类中的输出key 和输出value 对应。reduce 函数有三个参数,分别表示输入key,输入value 的集合,上下文环境。
理论教育 2023-06-14

搭建HWI:如何优雅地实现?

HWI 是通过Web 的方式执行Hive 操作,HWI 需要打包Hive 的部分源码。图6-11HWI 访问页面7.创建Create a Hive Session首先要创建一个Session,名字可以是任意,如图6-12 所示:图6-11HWI Session 创建指定结果输出文件,在Query 里面输入SQL 语句,如图6-13 所示:图6-13HWI 查询执行结果如图6-14 所示:图6-14HWI 查询结果
理论教育 2023-06-14

SparkStreaming实例:从入门到精通

Spark Streaming 的编程和Spark 的编程很相似,对于Spark 来说是对于RDD 的操作,而对于Spark Streaming 来说是对DStream 的操作。同Spark 初始化需要创建SparkContext 对象一样,使用Spark Streaming 就需要创建StreamingContext 对象。指定处理数据的时间间隔,如Seconds表示Spark Streaming 会以1s 为时间窗口进行数据处理。需要指明数据源,Spark Streaming 支持多种不同的数据源,包括Kafka,Flume,HDFS 等数据源。wordCounts.printwordCounts.saveAsHadoopFiles5.启动调用Start 操作,Spark Streaming 才开始启动监听相应的端口,然后收取数据,并进行统计。
理论教育 2023-06-14

大数据:定义与发展

目前对大数据的准确定义尚有一些争论,这就导致大数据的定义有多种。报告发布后,大数据迅速成为计算机行业的热门概念。2012 年4 月美国奥巴马政府推出大数据研究和发展倡议,并划拨2 亿美元的专项资金之后,在全球掀起了一股大数据的热潮。我国的大数据应用仍处于起步阶段。2013 年,科技部正式启动863 项目“向大数据的先进存储结构及关键技术”,启动5 个大数据课题。
理论教育 2023-06-14

if条件表达式的使用与优化

Scala 的if-else 语法结构和Java 的一样,不过,Scala 的if-else 表达式有值,这个值就是跟在if 或者else 后面的表达式的值。if-else 还可以是混合型表达式,如:scala> val a = if "hello" else 0a: Any = hello这个时候a 的数据类型是Any 类型,在7.2.1 中提到Any 是所有类型的超类;采用混合型表达式时,Scala 在编译的时候不能确定返回值类型,故定义为Any。
理论教育 2023-06-14

Yarn基本框架与组件详解

Yarn 主要由以下几个组件组成:ResourceManager,NodeManager,Container 和ApplicationMaster。它主要由两个组件构成:调度器和应用程序管理器。Scheduler调度器根据应用程序的资源需求进行资源分配,不参与应用程序具体的执行和监控等工作。Yarn 本身提供了多种直接可用的调度器,比如FIFO,Fair Scheduler 和Capacity Scheduler 等。它主要负责向ResourceManager 申请执行任务的资源容器,运行任务,监控整个任务的执行,跟踪整个任务的状态,处理任务失败等异常情况。
理论教育 2023-06-14

HBase的独特特点

HBase 作为一个典型的非关系型数据库,仅支持单行事务,通过不断增加集群中节点数据量来增加计算能力,其具有以下特点。HBase 采用了读写缓存机制,具有高并发快速读写能力;以及采用主键定位数据机制,使其查询响应在毫秒级。
理论教育 2023-06-14

Hive中的数据存储方式及数据模型解析

Hive 中所有的数据都存储在HDFS 中,共包含4 种数据模型:Table(表)、ExternalTable(外部表)、Partition(分区)和Bucket(桶)。Hive 表在逻辑上有两部分组成,第一部分是真实数据,第二部分为描述表格中数据形式的元数据。在物理实现上,Hive 的每个表的数据将存储在一个HDFS 文件目录下,而描述表数据形式的元数据,Hive 将其存储在关系型数据库中。
理论教育 2023-06-14

高阶函数在 Scala 中的应用及常用函数

scala> def add:Int = {return x + y}add: Intscala> var fun = add(_,_)fun: => Int = $$Lambda$1134/2002903874@51f68849scala> fun(4,5)res1: Int = 9二、高阶函数函数字面量可以作为参数或返回值,接受函数字面量作为参数的函数称为高阶函数。scala> def add2 = => x * yadd2: Int => Intscala> add2res21: Int => Int = $$Lambda$1247/1373579841@517bdce0scala> res21res22: Int = 24也可以采用如下方式直接调用:scala> add2res23: Int = 24三、Scala 中常用的高阶函数scala 内置一些高阶函数,用于定义集合操作,常用的有map,flatmap,filter 和reduce。
理论教育 2023-06-14

Scala数据类型介绍和定义方法

Scala 一共提供了9 种数据类型,Scala 的基本数据类型与Java 中的基本数据类型是一一对应的,但是Scala 的数据类型全是类,并且首字母大写。表7-2 列出了Scala所支持的数据类型。scala> val x = 0x15x: Int = 21十进制定义法scala> val x = 15x: Int = 15八进制定义法八进制定义是在数值前面加上0 修饰,但在新版本中会报错。
理论教育 2023-06-14

Spark简介与特点

Spark 能够在内存中完成运算,除非特殊要求中间结果均保存在内存中,减少磁盘IO 操作。Spark 的作业都是由进程内部的线程池执行,能极大减少JVM 开销。Spark 能够使用Yarn 或Mesos 作为资源管理框架。对文件系统的读取和写入功能是Spark 自己提供的,借助Mesos 分布式实现。
理论教育 2023-06-14

Hive体系架构解析

Hive 通过给用户提供的一系列交互接口,将用户提交的SQL 语句,通过其Driver 和元数据将其翻译成MapReduce 程序并将其提交到Hadoop 中执行,最后将执行的结果输出到交互接口。如图6-2 所示,Hive 的体系结构可以分为以下几部分:图6-2Hive 的体系结构1.用户接口用户接口主要有三个:CLI,Client 和HWI。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性,表的数据所在目录等。
理论教育 2023-06-14

HDFS工作流程简介

fsimage 镜像文件包含了整个HDFS 文件系统的所有目录、文件的indoe 信息和文件块到文件的映射。edits 文件主要是在NameNode 已经启动情况下对HDFS 进行的各种更新操作进行记录,HDFS 客户端执行所有的写操作都会被记录到edits 文件中。
理论教育 2023-06-14

ZooKeeper的安装指南

在Zookeeper 集群环境下只要一半以上的机器正常启动了,那么Zookeeper 服务将是可用的。在目前的实际生产环境中,一个Hadoop 集群最多有三台节点做备用master,即并不是所有节点都安装ZooKeeper;如果以实验为目的,可以将所有节点都安装ZooKeeper 并作为master 使用。
理论教育 2023-06-14

元组:Python中的不可变序列数据类型

Tuple 是n 个对象的聚集,这n 个对象不必相同数据类型,Tuple 对应到数学的矢量概念。Tuple 可以包含不同类型的数据,而List 只能包含同类型的数据,映射不过是一个n=2 的元组特例。在创建两个元素的元组时,可以使用特殊语法->:scala> val tuple4 = "1" -> "one"tuple4: = 二、Tuple 的基本操作1. Tuple 元素的访问Tuple 元素的访问可以通过“_下标”,也可以通过模式匹配来访问元组中的值。
理论教育 2023-06-14
-已经加载完成-