我想从 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 实例访问?