hadoop入门基础知识 学习大数据需要什么基础?
学习大数据需要什么基础?
大数据需要开发功底,比如python语言,通过编程需要抓取数据。当然会前端需要比如Html,javascript,将抓取的数据整合后通过前端去展示。所以个人觉得学习一门开发语言是必须的。
学习分布式系统需要怎样的知识?
学习分布式系统需要怎样的知识
1. 硬件amp底层软件的失效与高可用性高性能的矛盾。硬盘,交换机,进程,甚至OS本身都有失败/崩溃的可能,在包含很多机器(比如gt1000)的廉价(使用非企业级硬件)集群中,这个问题表现为“你的系统总有一部分处于故障状态,如何保证高可用性?”,它的另一半是“如何在尽量少系统开销的前提下,保证此可用性?”。一个简单的例子是,为防止单点故障,数据通常都有备份。备份越多,可用性通常越好,但需要更多的磁盘空间和网络带宽,导致性能降低。那么多少备份合适?如何将这些备份分散到集群上(例如跨硬盘,跨机器,跨交换机,等等要求)?
2. 编程模型与单机不同,如何克服习惯带来的影响。一个最简单的例子是关于“锁”的。在单机上,如果进程A和进程B都想修改数据D(例如做一个D 操作),有很多种方法可以避免。但分布式系统就要面临选择:要么用单机管理数据D(并忍受由此带来的低可用性,因为单机失效将造成整个集群不可用),要么用多机共同管理数据D(并忍受复杂的协议,一大堆代码,还有性能开销)。Paxos就是以上问题的经典解决方案(分布式的),发明者即Leslie Lamport。
3. 工业级的分布式系统意味着一整套工具集,除了那些运行在生产系统上的集群软件,还有庞大的部署、运维、诊断软件群,数量巨大的硬件(服务器、交换机、机架、电源,这些都很可能是定制的),甚至包括建筑物(数据中心的规划、设计、内部结构等)。已经超出我的经验范围,作为一个引子,题主可自行了解。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。