commoncrawl源码库是用于Hadoop的自定义InputFormat配送实现。
CommonCrawl提供一个示例程序BasicArcFileReaderSample.java(位于org.commoncrawl.samples)用来配置InputFormat。
该库提供了支持代码,用于使用S3上存储的CommonCrawlCorpusRAW爬行数据(ARC文件)。有关如何访问语料库的更多信息,请参见https://commoncrawl.atlassian.net/wiki/display/CRWL/About+the+Data+Set。您可以采取两条主要途径来使用ARCFile内容:(1)您可以在EC2上运行Hadoop集群,也可以使用EMR运行Hadoop作业。在这种情况下,您可以使用ARCFileInputFormat将数据驱动到映射器/缩减器。InputFormat有两种版本:一种是为符合弃用的mapred包而编写的,位于org.commoncrawl.hadoop.io.mapred,另一种是为mapreduce包而编写的,其相应地位于org.commoncrawl.hadoop.io.mapreduce。(2)您可以通过将InputStream输入到org.commoncrawl.util.shared包中的ARCFileReader类来直接解码数据。两种路由(InputFormat或ARCFileReader直接路由)都生成一个元组,该元组由UTF-8编码的URL(文本)和原始内容(BytesWritable)(包括HTTP标头)组成,这些内容由搜寻器下载。HTTP标头是UTF-8编码的,标头和内容由一组连续的CRLF令牌定界。内容本身是文本mime类型时,将使用源文本编码进行编码。
评论