如何在Spark中打开Commoncrawl.org WARC.GZ S3数据

Phi*_*ipp 3 amazon-s3 amazon-ec2 common-crawl apache-spark

我想从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))
Run Code Online (Sandbox Code Playgroud)

我现在将实现一个函数来读取mapPartitions函数中的WARC.GZ格式.这是一个很好的方法吗?我问,因为我对Spark平台还不熟悉,并希望使用commoncrawl语料库的一小部分实现一个小型演示应用程序.我在这里看到了一个线程中使用的mapPartitions .

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

Sme*_*ity 6

"分析Web域漏洞"分析中有一个示例代码,向您展示如何从Spark访问WARC文件,因为Spark支持Hadoop InputFormat接口.代码本身托管在GitHub上.

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