我刚开始学习接触编程时,是接触的C语言,然后是C++,后来就是Java。当我第一次接触Java时,就深深地爱上了它,因为它简单,易懂。之后接触JavaWeb,开始学些开发后端的技术。那时大数据也比较火热,再加上自己本身就是数学出生,大数据对我来说就是一个很好的选择啦。
慢慢地我就开始接触大数据,从JavaSE学起,接着学习Linux系统,其中Linux中有CentOS和ubuntu,这两者个人觉得都好用。接着学习地就是Hadoop,它包括两大块HDFS(分布式文件系统)和MapReduce(并行计算框架),虽说MapReduce现在用的少了,但是学习它之后,对你以后学习更好的并行计算框架来说有很多的好处。接着就可以学习数据仓库Hive,Hive的底层实现其实就是MapReduce,它使用的SQL语言叫做HQL,之前学过MySQL数据库的话,很容易上手,但是想更深的了解Hive的话,还需学习MapReduce,Hive它用于OLAP,不支持事务性。接着再学习HBase面向列族的分布式数据库,它支持事务操作,但是在实践中个人感觉不太好使。它是架在Hadoop之上的数据库,适用于随机访问,实时读写。然而有了大量的数据之后,如何更好的把来源不同的数据导入到自己想要用的数据库中呢,可以使用Sqoop,个人认为它简单好用,方便。
接下来就可以学习Flume,它是一个分布式的收集日志的框架,可以处理很多种类型的文件。接着就学习Kafka,它是一个消息发布订阅实时处理系统。具有高吞吐量的能力。接着可以学习Strom ,实时的流计算框架。可以高速的攫取数据,可以执行各种数据的并行计算。接下来就可以学习Spark,Spark由SparkSQL、Spark Streaming、MLlib、Graph等组成,可以解决Batch Processing、Stream Processing、Ad-hocQuery(即席查询)等三大核心问题。Spark确实相比于MapReduce来说要快很多,毕竟它是基于内存计算的框架。
接下来还可以学习数据分析,数据挖掘,机器学习等相关的知识。
现在我就开始解读一下什么是大数据?
大数据顾名思义就是数据量很大,大到什么级别吗?它不是几兆,不是几个GB,而是几百GB,几个TB,几个PB,达到传统的数据库根本承受不了,现在一般都是用Hadoop技术,Hive技术,Spark技术等处理。
那么大数据的特征有哪些呢?有4点
1.数据在体量方面很大,比如说文字,有各种各样的来源,有电子书|实体书|杂志|报刊等,它们的数据大吧。
2.数据的类型多种多样,有些是结构化的数据,像存在Oracle,MySQL这些传统的数据库里的数据,一般都是结构化,可 以是还有非结构化,比如HTML,WORD,execl等格式。
3.它们的价值密度低,这样说吧,你比如说观看一条数据好像价值也不大,但是分析所有的数据之后呢?总会挖掘出一些 重要的东西。
大数据的特征
4.处理这些数据的速度要快。比如像Hadoop技术的MapReduce计算框架,相比传统的数据库处理速度要快,它的吞吐量 特别的大,再比如Spark,Spark在内存方面计算比Hadoop快100倍,在磁盘方面计算快10倍。
大数据的处理与传统的数据处理的区别是什么呢?
就是使用全部的数据来分析,得出结论,想想就知道它的好处啦。
大数据的应用???
可以做推荐系统的,想电商、影视类的app,你平时关注什么商品,或者浏览什么类型的商品,或者看什么类型的影视,或者看谁主要的影视,经过大数据分析处理之后,这些app就会推荐想类似的商品或者影视
在销售方面,我想一个例子大家都听说过,就是尿片和啤酒的捆绑销售
银行方面的反欺诈应用。经过大量的数据分析,可以得出欺诈的行为特征,根据这些特征就可以更大概率的确定是不是欺诈行为
人工智能方面,想Google的阿尔法狗,无人汽车驾驶等,这些都在使用大数据。
......
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有