복붙노트

[HADOOP] 커스텀 InputFormat으로 WARC 파일 읽기

HADOOP

커스텀 InputFormat으로 WARC 파일 읽기

Spark를 통해 .warc 파일을 처리해야하지만 그렇게하는 간단한 방법을 찾을 수없는 것 같습니다. 파이썬을 사용하고 wholeTextFiles ()를 통해 전체 파일을 RDD로 읽는 것을 선호합니다 (전체 파일이 단일 노드에서 처리되기 때문에 (?)) 따라서 유일한 / 가장 좋은 방법은 사용자 정의 하둡을 사용하는 것 같습니다 Python에서 .hadoopFile ()과 함께 사용되는 InputFormat.

그러나, 나는 이것을하는 쉬운 방법을 찾을 수 없었다. .warc 파일을 항목으로 분할하는 것은 \ n \ n \ n에서 분할하는 것만 큼 간단합니다. 그래서 어떻게하면 다양한 "튜토리얼"온라인에서 보여지는 것처럼 엄청난 양의 쓸데없는 코드를 작성하지 않고도 이것을 얻을 수 있습니까? 파이썬으로 모두 할 수 있습니까?

즉, wholeTextFiles로 전체 내용을 읽지 않고 warc 파일을 항목으로 분할하는 방법은 무엇입니까?

해결법

  1. ==============================

    1.구분 기호가 \ n \ n \ n이면 textinputformat.record.delimiter를 사용할 수 있습니다.

    구분 기호가 \ n \ n \ n이면 textinputformat.record.delimiter를 사용할 수 있습니다.

    sc.newAPIHadoopFile(
      path ,
      'org.apache.hadoop.mapreduce.lib.input.TextInputFormat',
      'org.apache.hadoop.io.LongWritable',
      'org.apache.hadoop.io.Text',
      conf={'textinputformat.record.delimiter': '\n\n\n'}
    )
    
  2. from https://stackoverflow.com/questions/40586177/spark-reading-warc-file-with-custom-inputformat by cc-by-sa and MIT license