scala怎么判定字符串长度 学习大数据Hadoop需要哪些基础?

[更新]
·
·
分类:互联网
1921 阅读

scala怎么判定字符串长度

学习大数据Hadoop需要哪些基础?

学习大数据Hadoop需要哪些基础?

我们都知道现在学习大数据,Hadoop是其中一个必学的技术,简单来说,Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一种方法。那Hadoop该学习哪些内容?需要了解什么呢?有Hadoop经典学习资料吗?
HDFS
HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。
MapReduce
通俗说MapReduce是一套从海量源数据提取分析元素末后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce做的事了。
MapReduce的基本原理就是:将大的数据分析分成小块逐个分析,然后再将提取出来的数据汇总分析,从而获得我们想要的内容。当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。
关于Hadoop的使用方式:
感觉现在各个公司使用Hadoop的方式都不一样,主要我觉得有两种吧。
第一种是long running cluster形式,比如Yahoo,不要小看这个好像已经没什么存在感的公司,Yahoo可是Hadoop的元老之一。这种就是建立一个Data Center,然后有几个上千Node的Hadoop Cluster一直在运行。比较早期进入Big Data领域的公司一般都在使用或者使用过这种方式。
另一种是只使用MapReduce类型。毕竟现在是Cloud时代,比如AWS的Elastic MapReduce。这种是把数据存在别的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析数据的时候开启一个Hadoop Cluster,Hive/Pig/Spark/Presto/Java分析完了就关掉。不用自己做Admin的工作,方便简洁。
所以个人如果要学Hadoop的话我也建议第二种,AWS有免费试用时间(但是EMR并不免费,所以不要建了几千个Node一个月后发现破产了),可以在这上面学习。更重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。
总的来说Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。Hadoop典型应用有:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等。
大数据产业已进入发展的“快车道”,急需大量优秀的大数据人才作为后盾。能够在大数据行业崛起的初期进入到这个行业当中来,才有机会成为时代的弄潮儿。千锋大数据开发新进企业级服务器实战教学,20周带你一站式搞定匪夷所思的大数据开发技术。

kafka数据类型多少种?

Kafka基本数据类型
(Kafka是基于Scala语言实现的,类型也是Scala中的数据类型)
定长数据类型:int8,int16,int32和int64,对应到Java中就是byte, short, int和long。
变长数据类型:bytes和string。变长的数据类型由两部分组成,分别是一个有符号整数N(表示内容的长度)和N个字节的内容。其中,N为-1表示内容为null。bytes的长度由int32表示,string的长度由int16表示。
数组:数组由两部分组成,分别是一个由int32类型的数字表示的数组长度N和N个元素。