大数据技术发展到目前已经经历了几个阶段,在很多企业都已经形成了相对成熟稳定的架构,如何了解其发展中的概况。以下是小编为你整理的大数据分析如何学
大数据系统的演化历程包括:解决数据规模问题,解决使用门槛问题,解决计算延迟问题,解决复杂场景问题。
大数据的整体架构可以按以下分层:数据源、数据采集Agent、数据存储、数据计算和数据应用。
数据源从内部来讲一般来自于企业的各个数据中心,外部一般从互联网获取,也可能与其他企业或机构通过交换传输。
数据的采集通常有批处理的传送,或者基于kafka等组件的实时接口,采集要确保准确高效。
数据的存储方式也包含多种,可以基于hadoop的分布式文件系统,或者基于hbase分布式数据库,也可以基于Kafka。
数据的计算包括离线分析(Hive、Spark、MR),即席查询/多维分析(Presto、SparkSQL、Kylin)和实时计算引擎(Flink、Spark Streaming)。
数据的应用层包括数据报表和离线计算,交互式查询以及BI分析,模型训练以及针对性的广告投放。
大数据对我们有什么影响?
网络发展越来越快,当互联网形成,世界发生变化。十年前的互联网与今天的
互联网不同,今天的互联网将在未来5年陈旧。是什么原因导致的 答案是:
大数据。
什么是大数据?
大数据是一个概念,一种说法,解释就是每天海量的网络,
极大的复杂的数据集合
这些数据以什么单位呈现呢,比如9x10的18次方,大家可以想象庞大数据
为什么我要去了解大数据运营
打个比方,一个公司有生成产品,有销售人员,如果公司生产很多产品,
就像大数据一样,我们应该把这些数据转变为赚钱,
所以需要怎么卖到用户手里,这样大数据才有用
了解运营需要了解大数据从出现到实现赚钱整个过程
*需要知道哪些数据对你公司或者个人有用
第二这些数据如何获得
第三获得数据如何处理
第四如何数据如何转换成利润
大数据概念的结构
大数据就是互联网发展到现今阶段的一种表象或特征而已,没有必要神话它或对它保持敬畏之心,在以云计算为代表的技术创新大幕的衬托下,这些原本很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据会逐步为人类创造更多的价值。
其次,想要系统的认知大数据,必须要全面而细致的分解它,我着手从三个层面来展开:
*层面是理论,理论是认知的必经途径,也是被广泛认同和传播的基线。在这里从大数据的特征定义理解行业对大数据的整体描绘和定性;从对大数据价值的探讨来深入解析大数据的珍贵所在;洞悉大数据的发展趋势;从大数据隐私这个特别而重要的视角审视人和数据之间的长久博弈。
第二层面是技术,技术是大数据价值体现的手段和前进的基石。在这里分别从云计算、分布式处理技术、存储技术和感知技术的发展来说明大数据从采集、处理、存储到形成结果的整个过程。
第三层面是实践,实践是大数据的最终价值体现。在这里分别从互联网的大数据,*的大数据,企业的大数据和个人的大数据四个方面来描绘大数据已经展现的美好景象及即将实现的蓝图。
大数据需要的框架
Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。
Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。
Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。
Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。
Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。
Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是*的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。
Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。
Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。