导航:首页 > 网络数据 > 自己动手做大数据系统

自己动手做大数据系统

发布时间:2023-06-04 20:17:23

『壹』 大数据量的系统数据库结构如何设计

1、把你表中经常查询的和不常用的分开几个表,也就是横向切分
2、把不同类型的分成几个表,纵向切分
3、常用联接的建索引
4、服务器放几个硬盘,把数据、日志、索引分盘存放,这样可以提高IO吞吐率
5、用优化器,优化你的查询
6、考虑冗余,这样可以减少连接
7、可以考虑建立统计表,就是实时生成总计表,这样可以避免每次查询都统计一次
mrzxc 等说的好,考虑你的系统,注意负载平衡,查询优化,25 万并不大,可以建一个表,然后按mrzxc 的3 4 5 7 优化。 速度,影响它的因数太多了,且数据量越大越明显。
1、存储 将硬盘分成NTFS格式,NTFS比FAT32快,并看你的数据文件大小,1G以上你可以采用多数据库文件,这样可以将存取负载分散到多个物理硬盘或磁盘阵列上。
2、tempdb tempdb也应该被单独的物理硬盘或磁盘阵列上,建议放在RAID 0上,这样它的性能最高,不要对它设置最大值让它自动增长
3、日志文件 日志文件也应该和数据文件分开在不同的理硬盘或磁盘阵列上,这样也可以提高硬盘I/O性能。
4、分区视图 就是将你的数据水平分割在集群服务器上,它适合大规模OLTP,SQL群集上,如果你数据库不是访问特别大不建议使用。
5、簇索引 你的表一定有个簇索引,在使用簇索引查询的时候,区块查询是最快的,如用between,应为他是物理连续的,你应该尽量减少对它的updaet,应为这可以使它物理不连续。
6、非簇索引 非簇索引与物理顺序无关,设计它时必须有高度的可选择性,可以提高查询速度,但对表update的时候这些非簇索引会影响速度,且占用空间大,如果你愿意用空间和修改时间换取速度可以考虑。
7、索引视图 如果在视图上建立索引,那视图的结果集就会被存储起来,对与特定的查询性能可以提高很多,但同样对update语句时它也会严重减低性能,一般用在数据相对稳定的数据仓库中。
8、维护索引 你在将索引建好后,定期维护是很重要的,用dbcc showcontig来观察页密度、扫描密度等等,及时用dbcc indexdefrag来整理表或视图的索引,在必要的时候用dbcc dbreindex来重建索引可以受到良好的效果。 不论你是用几个表1、2、3点都可以提高一定的性能,5、6、8点你是必须做的,至于4、7点看你的需求,我个人是不建议的。打了半个多小时想是在写论文,希望对你有帮助。

『贰』 想从零开始自学大数据,请问有哪些书籍推荐

在人人高呼的大数据时代,你是想继续做一个月薪6K+的码农,还是想要翻身学习成为炙手可热名企疯抢的大数据工程师呢?
随着互联网技术的发展,大数据行业前景非常被看好,有很多朋友对大数据行业心向往之,却苦于不知道该如何下手,或者说学习大数据不知道应该看些什么书。作为一个零基础大数据入门学习者该看哪些书?今天就给大家分享几本那些不容错过的大数据书籍。

1、《数据挖掘》
这是一本关于数据挖掘领域的综合概述,本书前版曾被KDnuggets的读者评选为最受欢迎的数据挖掘专著,是一本可读性极佳的教材。它从数据库角度全面系统地介绍数据挖掘的概念、方法和技术以及技术研究进展,并重点关注近年来该领域重要和最新的课题——数据仓库和数据立方体技术,流数据挖掘,社会化网络挖掘,空间、多媒体和其他复杂数据挖掘。
2、《Big Data》
这是一本在大数据的背景下,描述关于数据建模,数据层,数据处理需求分析以及数据架构和存储实现问题的书。这本书提供了令人耳目一新的全面解决方案。但不可忽略的是,它也引入了大多数开发者并不熟悉的、困扰传统架构的复杂性问题。本书将教你充分利用集群硬件优势的Lambda架构,以及专门用来捕获和分析网络规模数据的新工具,来创建这些系统。
3、《Mining of Massive Datasets》
这是一本书是关于数据挖掘的。但是本书主要关注极大规模数据的挖掘,也就是说这些数据大到无法在内存中存放。由于重点强调数据的规模,所以本书的例子大都来自Web本身或者Web上导出的数据。另外,本书从算法的角度来看待数据挖掘,即数据挖掘是将算法应用于数据,而不是使用数据来“训练”某种类型的机器学习引擎。

『叁』 大数据学习路线是什么

主要分为 7 个阶段:入门知识 → java 基础 → Scala 基础 → Hadoop 技术模块 → Hadoop 项目实战 → Spark 技术模块 → 大数据项目实战。

阶段一:学习入门知识

这一部分主要针对的是新手,在学习之前需要先掌握基本的数据库知识。MySQL 是一个 DBMS(数据库管理系统),是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。

MongoDB 是 IT 行业非常流行的一种非关系型数据库(NoSQL),其灵活的数据存储方式备受当前 IT 从业人员的青睐。

而 Redis 是一个开源、支持网络、基于内存、键值对存储数据库。两者都非常有必要了解。

1、Linux 基础入门(新版)

2、Vim编辑器

3、Git 实战教程

4、MySQL 基础课程

5、MongoDB 基础教程

6、Redis基础教程

阶段二:Java基础

Java 是目前使用最为广泛的编程语言,它具有的众多特性,特别适合作为大数据应用的开发语言。

Java 语言具有功能强大和简单易用两个特征,跨平台应用能力比 C、C++ 更易用,更容易上手。同时还具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。最重要的一点是 Hadoop 是用 Java 编写的。

1、Java编程语言(新版)

2、Java进阶之设计模式

3、J2SE核心开发实战

4、JDK 核心 API

5、JDBC 入门教程

6、Java 8 新特性指南

阶段三:Scala基础

Scala 是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。由于 Scala 运行于 Java 平台(Java 虚拟机),并兼容现有的Java 程序,所以 Scala 可以和大数据相关的基于 JVM 的系统很好的集成。

1、Scala 开发教程

2、Scala 专题教程 - Case Class和模式匹配

3、Scala 专题教程 - 隐式变换和隐式参数

4、Scala 专题教程 - 抽象成员

5、Scala 专题教程 - Extractor

6、Scala 开发二十四点游戏

阶段四:Hadoop技术模块

Hadoop 是一款支持数据密集型分布式应用并以 Apache 2.0 许可协议发布的开源软件框架,它能搭建大型数据仓库,PB 级别数据的存储、处理、分析、统计等业务。编程语言你可以选,但 Hadoop 一定是大数据必学内容。

1、Hadoop入门进阶课程

2、Hadoop部署及管理

3、HBASE 教程

4、Hadoop 分布式文件系统--导入和导出数据

5、使用 Flume 收集数据

阶段五:Hadoop项目实战

当然,学完理论就要进行动手实战了,Hadoop 项目实战可以帮助加深对内容的理解,并锻炼动手能力。

1、Hadoop 图处理--《hadoop应用框架》

阶段六:Spark技术模块

Spark 和 Hadoop 都是大数据框架。Hadoop 提供了 Spark 所没有的功能特性,比如分布式文件系统,而 Spark 为需要它的那些数据集提供了实时内存处理。所以学习 Spark 也非常必要。

1、Spark

2、x 快速入门教程

2、Spark 大数据动手实验

3、Spark 基础之 GraphX 图计算框架学习

4、Spark 基础之 DataFrame 基本概念学习

5、Spark 基础之 DataFrame 高阶应用技巧

6、Spark 基础之 Streaming 快速上手

7、Spark 基础之 SQL 快速上手

8、Spark 基础之使用机器学习库 MLlib

9、Spark 基础之 SparkR 快速上手

10、流式实时日志分析系统--《Spark 最佳实践》

11、使用 Spark 和 D3.js 分析航班大数据

阶段七:大数据项目实战

最后阶段提供了大数据实战项目,这是对常用技能的系统运用,例如使用常用的机器学习进行建模、分析和运算,这是成为大数据工程师过程中的重要一步。

1、Ebay 在线拍卖数据分析

2、流式实时日志分析系统--《Spark 最佳实践》

3、大数据带你挖掘打车的秘籍

4、Twitter数据情感分析

5、使用 Spark 进行流量日志分析

6、Spark流式计算电商商品关注度

7、Spark的模式挖掘-FPGrowth算法

(3)自己动手做大数据系统扩展阅读:

大数据技术的具体内容:

分布式存储计算架构(强烈推荐:Hadoop)

分布式程序设计(包含:Apache Pig或者Hive)

分布式文件系统(比如:Google GFS)

多种存储模型,主要包含文档,图,键值,时间序列这几种存储模型(比如:BigTable,Apollo,DynamoDB等)

数据收集架构(比如:Kinesis,Kafla)

集成开发环境(比如:R-Studio)

程序开发辅助工具(比如:大量的第三方开发辅助工具)

调度协调架构工具(比如:Apache Aurora)

机器学习(常用的有Apache Mahout 或 H2O)

托管管理(比如:Apache Hadoop Benchmarking)

安全管理(常用的有Gateway)

大数据系统部署(可以看下Apache Ambari)

搜索引擎架构(学习或者企业都建议使用Lucene搜索引擎)

多种数据库的演变(MySQL/Memcached)

商业智能(大力推荐:Jaspersoft)

数据可视化(这个工具就很多了,可以根据实际需要来选择)

大数据处理算法(10大经典算法)



『肆』 大数据开发难不难学

大数据开发,难点有以下4个阶段:

1、数据采集

数据采集有线上和线下两种方式,线上一般通过爬虫、通过抓取,或者通过已有应用系统的采集,在这个阶段,我们可以做一个大数据采集平台,依托自动爬虫(使用python或者nodejs制作爬虫软件),ETL工具、或者自定义的抽取转换引擎,从文件中、数据库中、网页中专项爬取数据,如果这一步通过自动化系统来做的话,可以很方便的管理所有的原始数据,并且从数据的开始对数据进行标签采集,可以规范开发人员的工作。并且目标数据源可以更方便的管理。

数据采集的难点在于多数据源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。还有本地文件、excel统计文档、甚至是doc文件。如何将他们规整的、有方案的整理进我们的大数据流程中也是必不可缺的一环。

2、数据汇聚

数据的汇聚是大数据流程关键的一步,你可以在这里加上数据标准化,你也可以在这里做数据清洗,数据合并,还可以在这一步将数据存档,将确认可用的数据经过可监控的流程进行整理归类,这里产出的所有数据就是整个公司的数据资产了,到了一定的量就是一笔固定资产。

数据汇聚的难点在于如何标准化数据,例如表名标准化,表的标签分类,表的用途,数据的量,是否有数据增量?,数据是否可用? 需要在业务上下很大的功夫,必要时还要引入智能化处理,例如根据内容训练结果自动打标签,自动分配推荐表名、表字段名等。还有如何从原始数据中导入数据等。

3、数据转换和映射

经过数据汇聚的数据资产如何提供给具体的使用方使用?在这一步,主要就是考虑数据如何应用,如何将两个?三个?数据表转换成一张能够提供服务的数据。然后定期更新增量。

经过前面的那几步,在这一步难点并不太多了,如何转换数据与如何清洗数据、标准数据无二,将两个字段的值转换成一个字段,或者根据多个可用表统计出一张图表数据等等。

4、数据应用

数据的应用方式很多,有对外的、有对内的,如果拥有了前期的大量数据资产,通过restful API提供给用户?或者提供流式引擎 KAFKA 给应用消费? 或者直接组成专题数据,供自己的应用查询?这里对数据资产的要求比较高,所以前期的工作做好了,这里的自由度很高。

大数据开发的难点主要是监控,怎么样规划开发人员的工作?开发人员随随便便采集了一堆垃圾数据,并且直连数据库。 短期来看,这些问题比较小,可以矫正。 但是在资产的量不断增加的时候,这就是一颗定时炸弹,随时会引爆,然后引发一系列对数据资产的影响,例如数据混乱带来的就是数据资产的价值下降,客户信任度变低。

『伍』 大数据如何入门

听说你想要学大数据?你确定你搞清楚概念了吗?我们来做个小测验吧:
数据分析师在公司是干什么的?
大数据和普通数据最大的区别是什么?
你的日常工作中根本接触不到大数据,你真正想学的是大数据吗?
有点蒙圈了吧。鱼君正是要帮你在最短的时间内理清这些概念,找准自己前进的方向。
大数据之“大”数据,大家会陌生吗?不会。我们每天的日常生活都会接触到数据。淘宝购物时货比三家的价格,年终考核之后发给我们的奖金,发表在知乎上的文章的评论数量,这些都是数据。
从人们会计数开始,数据就有了,数据分析也是。那么大数据呢?
说到大数据,你就绕不开互联网。在互联网出现之前,虽然政府部门和一些公共事业单位通过日积月累获得了较大量的数据,但并没有形成足够的影响力。直到互联网产品的出现,由于它收集用户数据的便利性,通常在一天之内就能够累计其他行业可能一年才能获取的数据量。
数据量的升级造成算法和硬件都必须要升级,操作起来的技术难度也就会提高很多。这个时候,就需要专业的技术和平台来完成存储,处理和分析大数据的工作。比如说,大家都听过的Hadoop平台,MapRece算法。都是大数据时代的产物。
因此,我认为,大数据的核心,就在于大。
有一定规模的互联网公司都会成立专门的大数据部门来管理自己产品所收集到的大数据。数据量越大,处理难度就越高,相应的,可能挖掘到的内涵也会更多。于是,大数据就成了一个产业,一个火热的产业。
大数据圈子里的人在大数据行业这个圈子里,公司提供的职位大致分为三类:数据分析师,数据产品经理,数据工程师。他们紧密合作,共同驱动公司的数据决策文化。
那么,着三种职位都是做什么的?又该怎么入行呢?
数据分析师
数据分析师,是使用大数据的人。核心是掌握各种数据分析工具和数据分析技能,目标是为公司管理层和产品团队提供分析报告,帮助他们做决策。
实际工作中,数据会被处理成各种不同的类型提供给数据分析师使用,有比较原始的,有比较简单好用的。因此,数据分析师需要掌握R, SQL,Excel, Python基础编程等多种技能,以及熟练掌握常用的数据分析方法。
如果你立志于成为一个数据分析师甚至数据科学家,那么我强烈建议你进行系统的学习。
数据产品经理
数据产品经理是设计数据产品的人。核心技能是数据需求分析和数据产品的设计,和其他的互联网产品经理并没有本质的不同。实际工作中,数据产品经理需要收集不同用户的数据需求并且设计出好用的数据产品提供给大家,帮助他们“用数据做决定”。
怎么入门呢?关于具体的进阶流程,我希望你听一下我在一块听听上做的讲座《4步让你成为大数据产品经理》,会为你提供非常全面的介绍。
常见的推荐入门书籍有《人人都是产品经理》,《The DatawareHouse Toolkit》,《Lean Analytics》等等。
数据工程师
数据工程师,简单分两种,一类是数据挖掘工程师,另外一类是大数据平台工程师。工程师的基本技能当然是写代码,写高质量的代码。
数据挖掘工程师主要工作是开发大数据流水线以及和数据分析师一起完成数据挖掘项目,而数据平台工程师主要工作是维护大数据平台。
因此,理工科背景出身,掌握C, C#, Python等编程/脚本语言,熟悉各种基础算法即可以胜任。
如何用数据做决策
对于那些并不想转行进入大数据圈子的人,我们要学的究竟是什么?
我相信,在我们的日常工作中,特别是业绩不佳,找不到突破口的时候,都曾想过能否用数据来帮助自己。因为我们都曾或多或少听过一些牛逼的数据案例,比如纸尿布与啤酒之类。
举一个简单的例子,你经营的餐馆现在状况不佳。你可以自己拍脑袋想一堆的新点子来尝试改善现状。你也可以,收集整理数据,通过分析找出根本原因,并提出对应解决方案,从而扭转局面。后者听起来似乎更加靠谱一些。
那么,你该收集什么数据,做什么分析,这就是你需要学习的:“如何用数据做决策”。从这个角度讲,我认为:
人人都应该是数据分析师
学习系统的数据决策和数据分析思维,我们可以从这篇文章开始:从0到1搭建数据分析知识体系。我自己工作中常用的数据分析方法都被囊括在里面,如果趋势分析,多维分解,用户分群,漏斗分析等等。请不要小看一篇文章,知识在精不在多。
你还可以从一本简单好读的《谁说菜鸟不会数据分析》开始搭建你的数据分析思维。
关于数据分析的书籍太多了,众口难调,随便一搜就有一大堆推荐。而其中所讲的知识和理论其实都是类似的。最终要让他们发挥作用,还是要和实践结合起来。
因此,我认为,在自己的生意和工作中多实践数据分析,多思考,遇到问题多在社群中提问和大家探讨,是最好的学习办法。我自己也一直是这样践行的。
带着问题去学习,是最好的方式。
在这个过程中,随着你对数据的深入了解,掌握更多的数据分析语言和工具。从Excel到SQL,甚至到R和Python。你所能使用的数据量也会越来越大。但你大可不必一开始就扎入这些工具的学习中,那样会收效甚微。

『陆』 大数据系统体系建设规划包括哪些内容是什么

大数据系统体系建设规划包括的内容是:强化大数据技术产品研发,深化工业内大数据创新应用,促进行容业大数据应用发展,加快大数据产业主体培育,推进大数据标准体系建设,完善大数据产业支撑体系,提升大数据安全保障能力。

指以数据生产、采集、存储、加工、分析、服务为主,进行的相关经济活动称为大数据产业,目前我国的大数据产业体系已初具雏形,大数据系统体系的发展建设有利于全面提升我国大数据的资源掌控、技术支撑和价值挖掘各方面的能力,加快我国称为数据强国的步伐,同时有利支撑着我国成为制造强国、网络强国的建设工作。

(6)自己动手做大数据系统扩展阅读

大数据系统体系建设规划发展原则:

创新驱动、应用引领、开放共享、统筹协调、安全规范。

大数据系统体系建设规划发展目标:

技术产品先进可控、应用能力显著增强、生态体系繁荣发展、支撑能力不断增强、数据安全保障有力。

『柒』 大数据怎么学

大数据零基础系统学习,这里给你分享一条入门学习路线——
第一步:培养对于大数据的基本认知
大数据是什么,大数据未来的发展方向和应用场景有哪些,想要入行做大数据,先对培养其基本的行业背景知识是很有必要的。推荐可以看一些相关书籍,例如《大数据时代》、《数据之美》等。
第二步:大数据技术理论知识学习
零基础小白能不能学懂大数据,能不能形成系统的技术体系,这一步很关键。
1、Java:主要为Java的标准版JavaSE。另外,JDBC是一定要掌握的,因为它关系到Java与数据库的连接。
2、Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,大数据软件的运行环境和网络环境配置会常常用到。
3、Hadoop:这个是必学的,核心组件HDFS、MapRece和YARN,还有生态圈的常用组件。
4、Oozie:用于管理你的Hive或者MapRece、Spark脚本,还能检查你的程序是否执行正确。
5、python:用于编写网络爬虫。
6、Kafka:比较好用的消息队列工具,数据吞吐量很大。
7、Spark:用来弥补基于Hadoop中MapRece处理数据速度上的缺点,特别适合做迭代运算。
学完这些技术框架之后,最好还要有相应的项目来做实战练习,巩固对理论知识的掌握,能够实际去完成一个大数据项目周期当中的所有环节,这样才能在就业市场上获得更大的竞争优势。

『捌』 如何进行大数据分析及处理

探码科技大数据分析及处理过程


聚云化雨的处理方式

『玖』 中小企业要怎么搭建自己的大数据系统平台

中小企业自己开发大数据系统是有难度的,不过可以使用现场的大数据现场成平台,我们公司就是有的,同时也可以提供大数据系统软件开发。
搭建大数据系统平台一般的流程为:
(1)操作系统的选择。
操作系统一般使用开源版的RedHat、Centos或者Debian作为底层的构建平台,要根据大数据平台所要搭建的数据分析工具可以支持的系统,正确的选择操作系统的版本
(2)搭建Hadoop集群。
(3)选择数据接入和预处理工具面对各种来源的数据。
(4)数据存储。
(5)选择数据挖掘工具。
(6)数据的可视化以及输出。

『拾』 做大数据分析系统Hadoop需要用哪些软件

1、ApacheMesos

代码托管地址:ApacheSVN

Mesos提供了高效、跨分布式应用程序和框架的资源隔离和共享,支持Hadoop、MPI、Hypertable、Spark等。

Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实现容错复制,使用LinuxContainers来隔离任务,支持多种资源计划分配(内存和CPU)。提供Java、Python和C++APIs来开发新的并行应用程序,提供基于Web的用户界面来提查看集群状态。

2、HadoopYARN

代码托管地址:ApacheSVN

YARN又被称为MapRece2.0,借鉴Mesos,YARN提出了资源隔离解决方案Container,但是目前尚未成熟,仅仅提供Java虚拟机内存的隔离。

对比MapRece1.x,YARN架构在客户端上并未做太大的改变,在调用API及接口上还保持大部分的兼容,然而在YARN中,开发人员使用ResourceManager、ApplicationMaster与NodeManager代替了原框架中核心的JobTracker和TaskTracker。其中ResourceManager是一个中心的服务,负责调度、启动每一个Job所属的ApplicationMaster,另外还监控ApplicationMaster的存在情况;NodeManager负责Container状态的维护,并向RM保持心跳。ApplicationMaster负责一个Job生命周期内的所有工作,类似老的框架中JobTracker。

Hadoop上的实时解决方案

前面我们有说过,在互联网公司中基于业务逻辑需求,企业往往会采用多种计算框架,比如从事搜索业务的公司:网页索引建立用MapRece,自然语言处理用Spark等。

3、ClouderaImpala

代码托管地址:GitHub

Impala是由Cloudera开发,一个开源的MassivelyParallelProcessing(MPP)查询引擎。与Hive相同的元数据、SQL语法、ODBC驱动程序和用户接口(HueBeeswax),可以直接在HDFS或HBase上提供快速、交互式SQL查询。Impala是在Dremel的启发下开发的,第一个版本发布于2012年末。

Impala不再使用缓慢的Hive+MapRece批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎(由QueryPlanner、QueryCoordinator和QueryExecEngine三部分组成),可以直接从HDFS或者HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。

4、Spark

代码托管地址:Apache

Spark是个开源的数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使用Scala作为应用框架。

Spark采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。与Hadoop不同的是,Spark和Scala紧密集成,Scala像管理本地collective对象那样管理分布式数据集。Spark支持分布式数据集上的迭代式任务,实际上可以在Hadoop文件系统上与Hadoop一起运行(通过YARN、Mesos等实现)。

5、Storm

代码托管地址:GitHub

Storm是一个分布式的、容错的实时计算系统,由BackType开发,后被Twitter捕获。Storm属于流处理平台,多用于实时计算并更新数据库。Storm也可被用于“连续计算”(continuouscomputation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。

Hadoop上的其它解决方案

就像前文说,基于业务对实时的需求,各个实验室发明了Storm、Impala、Spark、Samza等流实时处理工具。而本节我们将分享的是实验室基于性能、兼容性、数据类型研究的开源解决方案,其中包括Shark、Phoenix、ApacheAccumulo、ApacheDrill、ApacheGiraph、ApacheHama、ApacheTez、ApacheAmbari。

6、Shark

代码托管地址:GitHub

Shark,代表了“HiveonSpark”,一个专为Spark打造的大规模数据仓库系统,兼容ApacheHive。无需修改现有的数据或者查询,就可以用100倍的速度执行HiveQL。

Shark支持Hive查询语言、元存储、序列化格式及自定义函数,与现有Hive部署无缝集成,是一个更快、更强大的替代方案。

7、Phoenix

代码托管地址:GitHub

Phoenix是构建在ApacheHBase之上的一个SQL中间层,完全使用Java编写,提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBasescan,并编排执行以生成标准的JDBC结果集。直接使用HBaseAPI、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。Phoenix完全托管在GitHub之上。

Phoenix值得关注的特性包括:1,嵌入式的JDBC驱动,实现了大部分的java.sql接口,包括元数据API;2,可以通过多个行键或是键/值单元对列进行建模;3,DDL支持;4,版本化的模式仓库;5,DML支持;5,通过客户端的批处理实现的有限的事务支持;6,紧跟ANSISQL标准。

8、ApacheAccumulo

代码托管地址:ApacheSVN

ApacheAccumulo是一个可靠的、可伸缩的、高性能、排序分布式的键值存储解决方案,基于单元访问控制以及可定制的服务器端处理。使用GoogleBigTable设计思路,基于ApacheHadoop、Zookeeper和Thrift构建。Accumulo最早由NSA开发,后被捐献给了Apache基金会。

对比GoogleBigTable,Accumulo主要提升在基于单元的访问及服务器端的编程机制,后一处修改让Accumulo可以在数据处理过程中任意点修改键值对。

9、ApacheDrill

代码托管地址:GitHub

本质上,ApacheDrill是GoogleDremel的开源实现,本质是一个分布式的mpp查询层,支持SQL及一些用于NoSQL和Hadoop数据存储系统上的语言,将有助于Hadoop用户实现更快查询海量数据集的目的。当下Drill还只能算上一个框架,只包含了Drill愿景中的初始功能。

Drill的目的在于支持更广泛的数据源、数据格式及查询语言,可以通过对PB字节数据的快速扫描(大约几秒内)完成相关分析,将是一个专为互动分析大型数据集的分布式系统。

10、ApacheGiraph

代码托管地址:GitHub

ApacheGiraph是一个可伸缩的分布式迭代图处理系统,灵感来自BSP(bulksynchronousparallel)和Google的Pregel,与它们区别于则是是开源、基于Hadoop的架构等。

Giraph处理平台适用于运行大规模的逻辑计算,比如页面排行、共享链接、基于个性化排行等。Giraph专注于社交图计算,被Facebook作为其OpenGraph工具的核心,几分钟内处理数万亿次用户及其行为之间的连接。

11、ApacheHama

代码托管地址:GitHub

ApacheHama是一个建立在Hadoop上基于BSP(BulkSynchronousParallel)的计算框架,模仿了Google的Pregel。用来处理大规模的科学计算,特别是矩阵和图计算。集群环境中的系统架构由BSPMaster/GroomServer(ComputationEngine)、Zookeeper(DistributedLocking)、HDFS/HBase(StorageSystems)这3大块组成。

12、ApacheTez

代码托管地址:GitHub

ApacheTez是基于HadoopYarn之上的DAG(有向无环图,DirectedAcyclicGraph)计算框架。它把Map/Rece过程拆分成若干个子过程,同时可以把多个Map/Rece任务组合成一个较大的DAG任务,减少了Map/Rece之间的文件存储。同时合理组合其子过程,减少任务的运行时间。由Hortonworks开发并提供主要支持。

13、ApacheAmbari

代码托管地址:ApacheSVN

ApacheAmbari是一个供应、管理和监视ApacheHadoop集群的开源框架,它提供一个直观的操作工具和一个健壮的HadoopAPI,可以隐藏复杂的Hadoop操作,使集群操作大大简化,首个版本发布于2012年6月。

ApacheAmbari现在是一个Apache的顶级项目,早在2011年8月,Hortonworks引进Ambari作为ApacheIncubator项目,制定了Hadoop集群极致简单管理的愿景。在两年多的开发社区显着成长,从一个小团队,成长为Hortonworks各种组织的贡献者。Ambari用户群一直在稳步增长,许多机构依靠Ambari在其大型数据中心大规模部署和管理Hadoop集群。

目前ApacheAmbari支持的Hadoop组件包括:HDFS、MapRece、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig及Sqoop。

阅读全文

与自己动手做大数据系统相关的资料

热点内容
win7升级到专业版 浏览:282
qq飞车s车排行榜2017 浏览:671
揭示板网站怎么看 浏览:202
ps文件转换为ai文件吗 浏览:695
苹果升级到一半不动了 浏览:715
w7网络图标怎么设置 浏览:773
2016中国app应用创新峰会 浏览:680
用python写聊天程序 浏览:818
安装win10后是英文版 浏览:509
安卓支付宝停止运行怎么办 浏览:214
如何让文件整理的好 浏览:58
电脑评标专家库网站进不去怎么办 浏览:661
word怎么删除所有标点符号 浏览:423
86版本漫游带战神套 浏览:477
GT编程软件怎么下载和上传 浏览:356
泰坦之旅配置文件 浏览:606
文件柜批发价格如何计算 浏览:118
在北京学java哪里好 浏览:825
视频文件夹怎么起名 浏览:505
mac显示文件夹 浏览:651

友情链接