hadoop与数据挖掘的关系
大数据就是Hadoop吗?当然不是,但是很多人一提到大数据就会立刻想到Hadoop。现在数据科学家利用海量数据创建数据模型为企业带来的利益是以前所不可想象的,但是数据的潜力已经被完全挖掘出来了吗,它满足了人们的期待了吗?今天小编就从Hadoop项目开始为你抽丝剥茧了解hadoop。大数据技术一旦进入超级计算时代,很快便可应用于普通企业,在遍地开花的过程中,它将改变许多行业业务经营的模式。但是很多人对大数据存在误解,下面就来缕一缕大数据与Hadoop之间的关系。
Hadoop是什么?
Hadoop是一个对海量数据进行处理的分布式系统架构,可以理解为Hadoop就是一个对大量的数据进行分析的工具,和其他组件搭配使用,来完成对大量数据的收集、存储和计算。 下面就以hadoop教学实战项目为例,为hadoop做一个详细的解析:
项目说明:hadoop_storm_spark结合实验的例子,模拟双11,根据订单详细信息,汇总出总销售量,各个地区销售排行,以及后期的SQL分析,数据分析,数据挖掘等。
第一阶段(storm实时报表)
- (1)用户订单入kafka队列,
- (2)经过storm,实时计算出总销售量,和各个省份的的销售量,
- (3)将计算结果保存到hbase数据库中。
- 第二阶段(离线报表)
- (1)用户订单入oracle数据库,
- (2)通过sqoop把数据导入hadoop上。
- (3)使用mr和rdd对hadoop上的原始订单做etl清洗
- (4)建立hive表和sparkSQL内存表。为后期分析做基础
- (5)使用HQL实现业务指标分析,和用户画像分析,将结果存在mysql中。
供web前台使用
- 第三阶段(大规模订单即席查询,和多维度查询)
- (1)用户订单入oracle数据库,
- (2)通过sqoop把数据导入hadoop上。
- (3)写mr把hadoop的数据加载到hbase上
- (4)使用hbase java api实现订单的即席查询
- (5)solr绑定hbase,做多维度的条件查询 - 第四阶段(数据挖掘和图计算) - (1)用户订单入oracle数据库, - (2)通过sqoop把数据导入hadoop上。 - (3)使用mr和rdd对hadoop上的原始订单做etl清洗 总的来说Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。Hadoop典型应用有:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等。
关于大数据与Hadoop
Hadoop只是一个大数据的处理框架,是一门技术。学习门槛稍低,会JAVA,会Linux,了解JVM,知道同步,通信等一些计算机基础知识 ,然后学起来基本不会有问题。
Hadoop其实就是一个分布式的文件系统,数据会分布到 N 台服务器中,一旦需要处理数据,则 N 台服务器共同进行处理,再把各个中间结果汇总成最后的结果。当然,这需要特别的算法,不能再使用传统的算法了,这就要使用 MapReduce 框架了。我们万能的淘宝就是使用了 hadoop 的,你想想上年双十一那 一千亿交易额,其中累积起来的数据可是很惊人的。
数据挖掘的范畴非常大,这个领域非常火,但也面临着非常大的挑战,与机器学习,人工智能密切相关,想学习这个,不但需要一定的基础(比如数学功底),而且需要恒心,耐力。
关于大数据的三大误解
对于大数据是什么以及大数据能干什么存在很多误会。下面就是有关大数据的三个误解:
1、关系数据库无法大幅增容,因此不能被认为是大数据技术(不对)
2、无需考虑工作负载或具体使用情况,Hadoop或以此类推的任何MapReduce都是大数据的最佳选择。(也不对)
3、图解式管理系统时代已经结束。图解的发展只会成为大数据应用的拦路虎。(错误)
大数据走进历史舞台
适用于企业的大数据已经出现,这在部分程度上要归功于计算能耗的降低以及系统已具备执行多重处理的能力这样一个事实。而且随着主存储器成本的不断下降,和过去相比,公司可以将更多的数据存到存储器中。并且,将多台计算机连到服务器集群也变得更容易了。这三个变化加在一起成就了大数据,IDC 数据库管理分析师Carl Olofson如是说。
“我们不仅要把这些事情做好,还要能承受得起相应的开支”,他说。 “过去的某些超级计算机也具有执行系统多重处理的能力,(这些系统紧密相连,形成了一个集群)但因为要使用专门的硬件,它的成本高达几十万美元甚至更多。”现在我们可以使用普通硬件完成相同的配置。正因为这样,我们能更快更省得处理更多数据。“
大数据技术还没有在有大型数据仓库的公司中得到广泛普及。IDC认为,想让大数据技术得到认可,首先技术本身一定要足够便宜,然后,必须满足IBM称之为3V标准中的2V,即:类型(variety),量(volume)和速度(velocity)。
种类要求指的是待存储数据的类型分为结构化数据和非结构化数据。量是指存储和分析的数据量可以很庞大。 “数据量不只是几百TB,”
Olofson说: “要视具体情况而定,因为速度和时间的关系,有时几百GB可能就算很多了。如果我现在一秒能完成过去要花一小时才能完成的300GB的数据分析,那结果将大为不同。大数据就是这样一种技术,它可以满足这三个要求中的至少两个,并且普通企业也能够部署。”
技术专区
- mybatis动态sql详解
- 用VHDL语言设计数据传输系统中的HDB3编码器
- 裸机程序如何驱动硬件?看前辈是怎么说的
- 应用面向对象编程SoC原则的典型示例
- 嵌入式开发之java常用开发工具介绍