복붙노트

[HADOOP] 하둡에서 KeyValueTextInputFormat과 TextInputFormat 사이의 주요 차이점은 무엇입니까?

HADOOP

하둡에서 KeyValueTextInputFormat과 TextInputFormat 사이의 주요 차이점은 무엇입니까?

누군가가 나에게 우리가 KeyValueTextInputFormat 및 TextInputFormat를 사용할 필요 하나 개 실제 시나리오를 줄 수?

해결법

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

    1.TextInputFormat 클래스는 BytesWritable 키가 기록의 오프셋 (offset) 텍스트 값이 전체 기록 자체를 나타냄 키 / 값 형식으로 소스 파일의 모든 행을 변환합니다.

    TextInputFormat 클래스는 BytesWritable 키가 기록의 오프셋 (offset) 텍스트 값이 전체 기록 자체를 나타냄 키 / 값 형식으로 소스 파일의 모든 행을 변환합니다.

    KeyValueTextInputFormat 우리가 키 / 값이 고정 된 구분 기호로 기록을 분할하여 기록에서 채워 된 텍스트 / 텍스트 쌍으로 모든 소스 기록을 인출해야 할 때 유용합니다 TextInputFormat의 확장 된 버전입니다.

    , 아래의 파일 내용을 고려

    AL#Alabama
    AR#Arkansas
    FL#Florida
    

    TextInputFormat가 구성된 경우, 같은 키 / 값 쌍을 볼 수 있습니다

    0    AL#Alabama
    14   AR#Arkansas
    23   FL#Florida
    

    KeyvalueTextInputFormat이 conf.set ( "mapreduce.input.keyvaluelinerecordreader.key.value.separator", "#")로 구성되어있는 경우, 당신은 같은 결과를 볼 수 있습니다

    AL    Alabama
    AR    Arkansas
    FL    Florida
    
  2. ==============================

    2.keyvaluetextinputformat는 textinputfileformat으로 오프셋 바이트 고정 키가 입력 파일에서 키를 지정할 수 있습니다.

    keyvaluetextinputformat는 textinputfileformat으로 오프셋 바이트 고정 키가 입력 파일에서 키를 지정할 수 있습니다.

    keyvaluetextinputformat 사용한 세퍼레이터 설정 :

        Configuration conf = new Configuration();
    conf.set("mapreduce.input.keyvaluelinerecordreader.key.value.separator", ",");
    

    예를 들면 당신이 keyvaluetextinputformat를 사용할 수있는 장소입니다 :

    당신은 쉼표 / ​​일부 바이트 분리되어있는 파일을 얻을 첫 번째 열은 키 역할을 할 수 있습니다 알고 있습니다. 수 있습니다 급여의 CSV 이름 / 직원 ID 및 급여 등의 두 번째 열로 첫 번째 열로 말했다.

    또한이 게시물을 참조 : KeyValueTextInputFormat 구분을 지정하는 방법

  3. from https://stackoverflow.com/questions/29903987/what-are-the-main-differences-between-keyvaluetextinputformat-and-textinputforma by cc-by-sa and MIT license