Bigdata 作业第七周
作业
作业一:使用 RDD API 实现带词频的倒排索引
倒排索引(Inverted index),也被称为反向索引。它是文档检索系统中最常用的数据结构。被广泛地应用于全文搜索引擎。
例子如下,被索引的文件为(0,1,2 代表文件名)
“it is what it is”
“what is it”
“it is a banana”
我们就能得到下面的反向文件索引:
“a”: {2}
“banana”: {2}
“is”: {0, 1, 2}
“it”: {0, 1, 2}
“what”: {0, 1}
再加上词频为:
“a”: {(2,1)}
“banana”: {(2,1)}
“is”: {(0,2), (1,1), (2,1)}
“it”: {(0,2), (1,1), (2,1)}
“what”: {(0,1), (1,1)}`
作业二:Distcp 的 Spark 实现
使用 Spark 实现 Hadoop 分布式数据传输工具 DistCp (distributed copy),只要求实现最基础的 copy 功能,对于 -update、-diff、-p 不做要求。
Hadoop 使用 MapReduce 框架来实现分布式 copy,在 Spark 中应使用 RDD 来实现分布式 copy,应实现的功能为:
sparkDistCp hdfs://xxx/source hdfs://xxx/target
得到的结果为:启动多个 task/executor,将 hdfs://xxx/source 目录复制到 hdfs://xxx/target,得到 hdfs://xxx/target/source
需要支持 source 下存在多级子目录
需支持 -i Ignore failures 参数
需支持 -m max concurrence 参数,控制同时 copy 的最大并发 task 数
评论