我想从spark shell访问Amazon公共数据集存储库中的commoncrawl文件。这些文件是WARC.GZ格式的。
val filenameList = List("s3://<ID>:<SECRECT>@aws-publicdatasets.s3.amazonaws.com/common-crawl/crawl-data/CC-MAIN-2014-41/segments/1410657102753.15/warc/CC-MAIN-20140914011142-00000-ip-10-196-40-205.us-west-1.compute.internal.warc.gz")
// TODO: implement functionality to read the WARC.GZ file here
val loadedFiles = sc.parallelize(filenameList, filenameList.length).mapPartitions(i => i)
loadedFiles.foreach(f => f.take(1))现在,我将在mapPartitions函数中实现一个读取WARC.GZ格式的函数。这是做这件事的好方法吗?我问这个问题是因为我是Spark平台的新手,我想使用普通爬虫语料库的一小部分来实现一个小的演示应用程序。我看到在线程here中使用mapPartitions。
在第一次尝试时,我尝试使用sc.textFile("s3://....").take(1)直接从我自己的计算机打开该文件,这导致am访问被拒绝错误。是否只能从EC2实例访问S3亚马逊公共存储库文件?
发布于 2015-01-27 19:10:50
这里有一个来自"Analyzing Web Domain Vulnerabilities"分析的示例代码,它向您展示了如何从Spark访问WARC文件,因为Spark支持Hadoop接口。代码本身托管在GitHub上。
我们希望尽快在Common CrawlHadoop库中提供一个示例,就像我们使用GitHub和Java为Hadoop所做的那样。
https://stackoverflow.com/questions/26957857
复制相似问题