1.云计算的定义和特点
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池,这些资源能够被快速提供,只需投入很少的管理工作,或与服务商进行很少的交互。
特点:资源池化、弹性伸缩、安全可靠
2.各种云
公有云
能够以低廉的价格提供有吸引力的服务给最终的客户,使拥护能够访问和共享基本的计算机基础设施;
优点:成本低、方便、易拓展;缺点:安全顾虑、性能超卖、管理复杂;
私有云
为一个客户单独使用而构建的;
优点:安全、自主可控;缺点:成本高、远程访问困难;
分为本地私有云和托管私有云;
社区云
云端资源只给两个或两个以上的特定单位组织内的员工使用;
混合云
两个或两个以上不同类型的云服务的结合;
优点:操作灵活、弹性、成本效益;
缺点:安全性不强、费用高、兼容性问题
3.RDD的特性
RDD的定义:弹性分布式数据集,不可变、可分区、里面的元素可并行计算的集合
特性一:RDD由一系列的分区组成
特性二:RDD的方法会作用在其他所有分区上
特性三:RDD之间有依赖关系
特性四:Key-Value型的RDD可以有分区器
特性五:RDD的分区规划,会尽可能靠近数据所在的服务器
4.map和flatMap的联系和区别
联系:两者都是用于对RDD中的每个元素进行处理和转换的操作,两者都是惰性求值的操作,两者都返回一个新的RDD
区别:map操作后新的RDD元素个数与原RDD相同,flatMap操作后个数可能不同;map返回的是单个值,flatMap 返回的是一个集合或迭代器
5.tfidf
某个单词在一片文章中出现多次(TF高)且在其他文章中很少出现(IDF高)
\[tf = \frac{某个词在该篇文章中出现的次数}{该篇文章总词数} \]\[idf = \log{\frac{文章总数量}{包含该词的文章数量}} \]tfidf没有考虑特征词的位置因素对文本的区分度,忽略了特征项在一个类别中和不同的类别间的分布情况,对于文档中出现次数较少的重要人名、地名信息提取效果不佳。
from pyspark import SparkConf, SparkContext
if __name__=='__main__':
conf = SparkConf().setAppName("local").setMaster("local[*]")
sc = SparkContext(conf=conf)
documents = [ ]
rdd_docs = sc.parallelize(documents)
rdd_words = rdd_docs.flatMap(lambda doc:set(doc.lower().translate(str.makefrans(",", string.punctuation)).split()))
rdd_words_counts = rdd_words.map(lambda word:(word, 1)).reduceByKey(lambda a, b:a+b)
total_docs = rdd_docs.count()
idfs = rdd_words_counts.map(lambda word_count:(word_count[0], round(math.log(total_docs/word_count[1]), 3)))
print(dict(idfs.collect()))
6.PageRank
pagerank算法起初被应用于谷歌搜索引擎,以帮助确定网页的重要性并据此对搜索结果进行排序,核心思想是一个网页的重要性科研通过其他网页链接到它的数量和质量来判断。
现在还用于社交网络分析、学术文献分析、推荐系统、网络安全、交通网络分析等领域。
标签:__,map,word,大纲,rdd,docs,RDD,计算,考试 From: https://www.cnblogs.com/wanyy-home/p/18226168