3

我想从 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 平台相当陌生,并且想使用一小部分 commoncrawl 语料库来实现一个小型演示应用程序。我看到 mapPartitions 在这里的一个线程中使用。

我第一次尝试,我尝试使用 sc.textFile("s3://....").take(1) 直接从我自己的计算机打开文件,这导致访问被拒绝错误。S3 amazon 公共存储库文件是否只能从 EC2 实例访问?

4

1 回答 1

5

“Analyzing Web Domain Vulnerabilities”分析中的示例代码向您展示了如何从 Spark 访问 WARC 文件,因为 Spark 支持 Hadoop InputFormat 接口。代码本身托管在GitHub 上

我们希望尽快在 Common Crawl GitHub 存储库中提供一个示例,就像我们为使用 Python 和 Java 的 Hadoop 所做的那样。

于 2015-01-27T11:10:50.007 回答