首页
学习
活动
专区
工具
TVP
发布

机器学习与统计学

专栏成员
822
文章
1167928
阅读量
97
订阅数
将Hadoop作为基于云的托管服务的优劣势分析
 Apache Hadoop是一种开源软件框架,能够对分布式集群上的大数据集进行高吞吐量处理。Apache模块包括Hadoop Common,这是一组常见的实用工具,可以通过模块来运行。这些模块还包括:Hadoop分布式文件系统(HDFS)、用于任务调度和集群资源管理的 Hadoop YARN以及Hadoop MapReduce,后者是一种基于YARN的系统,能够并行处理庞大的数据集。   Apache还提供了另外的开源软件,可以在Hadoop上运行,比如分析引擎Spark(它也能独立运行)和编程语言Pig。   Hadoop 之所以广受欢迎,就是因为它为使用大众化硬件处理大数据提供了一种几乎没有限制的环境。添加节点是个简单的过程,对这个框架没有任何负面影响。 Hadoop具有高扩展性,能够从单单一台服务器灵活扩展到成千上万台服务器,每个集群运行自己的计算和存储资源。Hadoop在应用程序层面提供了高可用性,所以集群硬件可以是现成的。   实际的使用场合包括:在线旅游(Hadoop声称它是80%的网上旅游预订业务的可靠的大数据平台)、批量分析、社交媒体应用程序提供和分析、供应链优化、移动数据管理、医疗保健及更多场合。   它有什么缺点吗? Hadoop很复杂,需要大量的员工时间和扎实的专业知识,这就阻碍了它在缺少专业IT人员的公司企业的采用速度。由于需要专家级管理员,加上广泛分布的集群方面需要庞大的成本支出,从中获得商业价值也可能是个挑战。I   集群管理也可能颇为棘手。虽然Hadoop统一了分布式计算,但是配备和管理另外的数据中心、更不用说与远程员工打交道,增添了复杂性和成本。结果就是,Hadoop集群可能显得过于孤立。
统计学家
2019-04-10
2.1K0
【大数据名词4】yarn
Yarn是Hadoop 自 0.23.0 版本后新的 map-reduce 框架(Yarn) 原理,优势,运作机制和配置方法等;着重介绍新的 yarn 框架相对于原框架的差异及改进;并通过 Demo 示例详细描述了在新的 yarn 框架下搭建和开发 hadoop 程序的方法。
统计学家
2019-04-10
2870
【大数据名词2】 HDFS
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
统计学家
2019-04-10
5190
【大数据相关名词】Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
统计学家
2019-04-10
6720
一篇文章彻底明白Hive数据存储的各种模式
Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中   Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。下面分别来介绍。 一、Hive的数据存储   在让你真正明白什么是hive 博文中我们提到Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中(如果数据是在HDFS上;但如果数据是在本地文件系统中,那么是将数据复制到表所在的目录中)。   Hive中主要包含以下几种数据模型:Table(表),External Table(外部表),Partition(分区),Bucket(桶)(本博客会专门写几篇博文来介绍分区和桶)。   1、表:Hive中的表和关系型数据库中的表在概念上很类似,每个表在HDFS中都有相应的目录用来存储表的数据,这个目录可以通过${HIVE_HOME}/conf/hive-site.xml配置文件中的 hive.metastore.warehouse.dir属性来配置,这个属性默认的值是/user/hive/warehouse(这个目录在 HDFS上),我们可以根据实际的情况来修改这个配置。如果我有一个表wyp,那么在HDFS中会创建/user/hive/warehouse/wyp 目录(这里假定hive.metastore.warehouse.dir配置为/user/hive/warehouse);wyp表所有的数据都存放在这个目录中。这个例外是外部表。   2、外部表:Hive中的外部表和表很类似,但是其数据不是放在自己表所属的目录中,而是存放到别处,这样的好处是如果你要删除这个外部表,该外部表所指向的数据是不会被删除的,它只会删除外部表对应的元数据;而如果你要删除表,该表对应的所有数据包括元数据都会被删除。   3、分区:在Hive中,表的每一个分区对应表下的相应目录,所有分区的数据都是存储在对应的目录中。比如wyp 表有dt和city两个分区,则对应dt=20131218,city=BJ对应表的目录为/user/hive/warehouse /dt=20131218/city=BJ,所有属于这个分区的数据都存放在这个目录中。   4、桶:对指定的列计算其hash,根据hash值切分数据,目的是为了并行,每一个桶对应一个文件(注意和分区的区别)。比如将wyp表id列分散至16个桶中,首先对id列的值计算hash,对应hash值为0和16的数据存储的HDFS目录为:/user /hive/warehouse/wyp/part-00000;而hash值为2的数据存储的HDFS 目录为:/user/hive/warehouse/wyp/part-00002。   来看下Hive数据抽象结构图
统计学家
2019-04-10
2.6K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档