大数据经验分享

随着互联网的发展,尤其是近期互联网大会召开,再一次谈到大数据,大数据发展趋势已经成为一种必然。那么我们怎样去迎接这样一个新的数据时代?我们可以看到越来越多的人想学习大数据,可是却无从下手,根据自己的经验为大家分享一下大数据的知识:

一、   大数据是什么?它的特征?

大数据指一般的软件工具难以捕捉、管理和分析的大容量数据。

大数据有4V特征:Volume(大量)、Velocity(实时)、Variety(多样)、Value(价值)。

大数据(big data),或称海量资料,指的是所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。

二、大数据应用案例

Gartner的分析师Doug Laney在讲解大数据案例时提到过8个更有新意更典型的案例,可帮助更清晰的理解大数据时代的到来。

案例一,梅西百货的实时定价机制。根据需求和库存的情况,该公司基于SAS的系统对多达7300万种货品进行实时调价。

案例二,Tipp24 AG针对欧洲博彩业构建的下注和预测平台。该公司用KXEN软件来分析数十亿计的交易以及客户的特性,然后通过预测模型对特定用户进行动态的营销活动。这项举措减少了90%的预测模型构建时间。SAP公司正在试图收购KXEN。

三、专业术语

 1、Hadoop

Hadoop是一个能够对大量数据进行分布式处理的软件框架,是以一种可靠、高效、可伸缩的方式进行处理的。能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。

2、Spark

SPARK是一种安全的、经正式定义的编程语言。它被设计用来支持一些安全或商业集成为关键因素的应用软件的设计。SPARK有基于Ada 83和Ada 95的版本。最新版本RavenSPARK包含了Ravenscar Tasking Profile来支持高度集成应用中的同步。SPARK的正式和明确的定义使得多种静态分析技术在SPARK源代码的应用中成为可能。

3、Impala

Hadoop系统中的一个新成员,是一个大规模并行处理(MPP)式 SQL 大数据分析引擎,Impala像Dremel一样,其借鉴了MPP(Massively Parallel Processing,大规模并行处理)并行数据库的思想,抛弃了MapReduce这个不太适合做SQL查询的范式,从而让Hadoop支持处理交互式的工作负载。

4、ApacheHive

Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序基于Hadoop执行。

5、Pig

Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。

6、MapReduce

MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(规约)",和它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。MapReduce极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(规约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

7、HBase

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统"。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。hbase是bigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。

8、ApacheFlume

Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。

9、ApacheOozie

Oozie在英语中的释义指的是:驯象人,驭象者(多指缅甸那边的俗称),这个比喻相对与它的功能来说,还是很恰当的。

Apache Oozie是一个用来管理Hadoop任务的工作流调度系统,是基于有向无环图的模型(DAG)。Oozie支持大多数的Hadoop任务的组合,常见的有Java MapReduce,Streaming map-reduce,Pig,Hive, Sqoop , Distcp,也可以结合一些脚本如Shell,Python,Java来很灵活的完成一些事情。同时,它也是一个可伸缩的,可扩展,高可靠的的系统。

10、ApacheCrunch

是基于Google的FlumeJava库编写的Java库,用于创建MapReduce流水线。与其他用来创建MapReduce作业的高层工具(如Apache Hive、Apache Pig和Cascading等)类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库。而与其他工具不同的是,Crunch并不强制所有输入遵循同一数据类型。相反,Crunch使用了一种定制的类型系统,非常灵活,能够直接处理复杂数据类型,如时间序列、HDF5文件、Apache HBase表和序列化对象(像protocol buffer或Avro记录)等。

11、Cloudera

Cloudera公司位于美国硅谷,是全球第一也是最大一家投身于Hadoop开源软件开发和发布免费Hadoop安装包的软件公司。同时,Cloudera公司还为大中小型企业提供一系列最具权威性的、基于Hadoop的新型数据平台和服务,涵盖金融,医疗健康,数字媒体,广告,网络和电信等各行各业。目前,互联网正从数据爆炸进一步发展到海量数据分析和挖掘的时代,为适应这一发展需求,Cloudera公司基于Hadoop的解决方案为海量数据存储和处理提供了经济、高效、高安全性和高可靠性的保障,必将为中国企业迈进海量数据分析和挖掘时代的大门提供金钥匙。

12、YUM

Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

13、HDFS

Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。HDFS开始是为开源的apache项目nutch的基础结构而创建,HDFS是hadoop项目的一部分,而hadoop又曾经是是lucene的一部分。

四、经验学习

1、学习内容

(1)第一阶段:CORE JAVA

(2)第二阶段:数据结构、关系型数据库、Linux系统操作

(3)第三阶段:Hadoop阶段、离线分析阶段、实时计算阶段

在我自己平常看信息的过程中,发现很多零基础的或者一些数据从业者都在寻求大数据学习,我希望每个人都能够从自身情况出发,去寻求适合自己的学习途径,不断取得进步。尤其是很多零基础同学,刚开始看到大数据简直是一头雾水,不知道从哪里下手去学习,我建议你们可以关注一下大数据的相关资讯,如“大数据cn”和“大数据时代学习中心”这些微信服务号,了解大数据的基本知识架构及内容,然后考虑自己到底怎么去学习。

 期待每一位想学大数据的人员都能够有所收获!

 

阅读更多
个人分类: 知识学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭