2023-11-10 23:10来源:m.sf1369.com作者:宇宇
数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。但从狭义上来看,我认为数据科学就是解决三个问题:
1、原始数据要经过一连串收集、提取、清洗、整理等等的预处理过程,才能形成高质量的数据;
2、我们想看看数据“长什么样”,有什么特点和规律;
3、按照自己的需要,比如要对数据贴标签分类,或者预测,或者想要从大量复杂的数据中提取有价值的且不易发现的信息,都要对数据建模,得到output。
除了这些,ITjob网也有关于大数据的介绍,或者去贴吧,论坛等地方问下。其实没有所谓的重点,主要是看学习是用来做什么的。才能找准重点。
一、Java编程
Java语言是基础,可以编写Web应用、桌面应用、分布式系统、嵌入式系统应用等。Java语言有很多优点,它的跨平台能力赢得了很多工程师的喜爱。
二、linux基础操作命令
大数据开发一般在Linux环境下进行。
大数据工程师使用的命令主要在三方面:查看进程,包括CPU、内存;排查故障,定位问题;排除系统慢的原因等。
三、hadoop
Hadoop中使用最多的是HDFS集群和MapReduce框架。
HDFS存储数据,并优化存取过程。
MapReduce方便了工程师编写应用程序。
四、HBase
HBase可以随机、实时读写大数据,更适合于非结构化数据存储,核心是分布式的、面向列的Apache HBase数据库。
HBase作为Hadoop的数据看,它的应用、架构和高级用法对大数据开发来说非常重要。
五、Hive
Hive作为Hadoop的一个数据仓库工具,方便了数据汇总和统计分析。
六、ZooKeeper
ZooKeeper是Hadoop和Hbase的重要组件,可以协调为分布式应用程序。
ZooKeeper的功能主要有:配置维护、域名服务、分布式同步、组件服务。
七、phoenix
phoenix是一种开源的sql引擎,是用Java语言编写的。
八、Avro与Protobuf
Avro、Protobuf是适合做数据存储的数据序列化系统,有较丰富的数据结构类型,可以在多种不同的语言间进行通信。
九、Cassandra
Apache Cassandra是运行在服务器或者云基础设施上的可以为数据提供完美平台的数据库,具有高性能、可扩展性、高线性。
Cassandra支持数据中心间互相复制,低延迟、不受断电影响。它的数据模型有列索引、高性能视图和内置缓存。
十、Kafka
Kafka可以通过集群来提供实时的消息的分布式发布订阅消息系统,具有很高的吞吐量,主要是利用Hadoop的并行加载来统一线上、离线的消息处理。
十一、Chukwa
Chukwa是一个分布式的数据采集监视系统,具有可伸缩性和健壮性。
Chukwa的工具包可以对结果进行显示、监测、分析,充分使用收集到的数据。
十二、Flume
Flume是海量日志处理系统,具有高可用、高可靠、分布式的特点,可以对日志进行采集、聚合和传输。
Flume可以定制数据发送方来收集数据,也可以对数据简单处理后写到数据接收方。
大数据的基础知识,科普类的,自己去买本书就行了,大数据时代这样的书很多介绍的大数据的。
另外大数据的技术,如数据采集,数据存取,基础架构,数据处理,统计分析,数据挖掘,模型预测,结果呈现。
当然一些大数据的一些基础知识,比如java和hadoop等等,这个基本得自学。大学里面最接近这些的也就是计算机类专业。
云计算的话,需要学习的知识应该包括但不限于:1、网络通信知识,包括互联网基础建设相关的所有知识;2、虚拟化知识,应该了解硬件运行原理以及虚拟化实现技术;3、数据库技术;4、网络存储技术;5、网络信息安全技术,最起码得明白什么是iso 17799;6、电子商务;7、容灾及备份技术;8、JAVA编程技术;9、分布式软件系统架构。。。
大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。