[HADOOP] hadoop은 어떻게 입력 파일을 읽습니까?
HADOOPhadoop은 어떻게 입력 파일을 읽습니까?
hadoop mapreduce로 분석 할 CSV 파일이 있습니다. 만약 hadoop이 줄 단위로 그것을 파싱하는지 궁금합니다. 그렇다면 필드를 분석하려면 쉼표로 문자열 분할을 사용하고 싶습니다. 아니면 csv를 구문 분석하고 그것을 hadoop에 공급하는 다른 더 좋은 방법이 있습니까? 파일은 쉼표로 구분 된 10GB입니다. 내가 hadoop와 자바를 사용하고 싶습니다. 아래 map () 메소드의 Tex 유형의 "value"매개 변수에는 Map / Reduce?가 구문 분석 한 각 행이 들어 있습니다. -이게 내가 가장 혼란스러워하는 곳이야.
이것은 내 코드입니다.
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
try {
String[] tokens = value.toString().split(",");
String crimeType = tokens[5].trim();
int year = Integer.parseInt(tokens[17].trim());
context.write(crimeType, year);
} catch (Exception e) {...}
}
해결법
-
==============================
1.예, 기본적으로 Hadoop은 입력 파일의 라인별로 매퍼를 공급하는 텍스트 입력 판독기를 사용합니다. 매퍼의 키는 읽은 행의 오프셋입니다. CSV 파일은 단일 열 / 필드에 줄 바꿈이 포함될 수 있으므로주의하십시오. 다음과 같은 CSV 입력 리더를 찾아 볼 수도 있습니다. https://github.com/mvallebr/CSVInputFormat/blob/master/src/main/java/org/apache/hadoop/mapreduce/lib/input/CSVNLineInputFormat. 자바
예, 기본적으로 Hadoop은 입력 파일의 라인별로 매퍼를 공급하는 텍스트 입력 판독기를 사용합니다. 매퍼의 키는 읽은 행의 오프셋입니다. CSV 파일은 단일 열 / 필드에 줄 바꿈이 포함될 수 있으므로주의하십시오. 다음과 같은 CSV 입력 리더를 찾아 볼 수도 있습니다. https://github.com/mvallebr/CSVInputFormat/blob/master/src/main/java/org/apache/hadoop/mapreduce/lib/input/CSVNLineInputFormat. 자바
-
==============================
2.이게 니가 필요한거야?
이게 니가 필요한거야?
-
==============================
3.hadoop은 이미 csv 파일을 구문 분석하고 처리 할 때 사용할 수 있습니다. Hadoop은 맵 작업을 위해 키 - 값 쌍을 필요로합니다.
hadoop은 이미 csv 파일을 구문 분석하고 처리 할 때 사용할 수 있습니다. Hadoop은 맵 작업을 위해 키 - 값 쌍을 필요로합니다.
따라서 파일에서 데이터를 가져와 키 / 값 측면에서 Hadoop의 mapper 클래스에 제공하려면 opencsv API와 같은 것을 사용하십시오.
자세한 설명은이 링크를보십시오.
from https://stackoverflow.com/questions/19470453/how-does-hadoop-read-input-file by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 매퍼가 여러 개의 키를 출력 할 수 있습니까? (0) | 2019.07.27 |
---|---|
[HADOOP] Hadoop 및 Bash : 파일 이름 일치 범위 삭제 (0) | 2019.07.27 |
[HADOOP] Java Hadoop : 입력 파일로 가져와 각 파일의 줄 수를 출력하는 매퍼를 어떻게 만들 수 있습니까? (0) | 2019.07.27 |
[HADOOP] Hadoop Map Reduce에서 PDF 파일 파싱 (0) | 2019.07.27 |
[HADOOP] Hadoop을 Google Cloud Storage에 연결할 수 없습니다. (0) | 2019.07.27 |