복붙노트

[HADOOP] HBase 쓰기 : 성능, 배치 또는 put (List <Put>) 중 어떤 것이 더 낫습니까?

HADOOP

HBase 쓰기 : 성능, 배치 또는 put (List ) 중 어떤 것이 더 낫습니까?

HBase가 데이터 스트림을 작성하는 법을 배우기 시작했습니다. HTableInterface를 사용하고 성능에 문제가 있습니다. 삽입 한 배치 목록 당 500,000 개 정도의 행을 삽입하는 데 많은 시간이 걸렸습니다.

HTableInterface를 사용하여 HTable에 일괄 적으로 쓰기위한 모든 예 또는 제안? HBase 0.94를 사용 중입니다.

감사

해결법

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

    1.그들은 본질적으로 동일합니다 : 배치 (List actions, Object [] results)는 puts뿐만 아니라 get, delete, incrementments ... put (List puts) (클라이언트 쪽에서도 유효성을 검사합니다).

    그들은 본질적으로 동일합니다 : 배치 (List actions, Object [] results)는 puts뿐만 아니라 get, delete, incrementments ... put (List puts) (클라이언트 쪽에서도 유효성을 검사합니다).

    table.setAutoFlush (false)를 비활성화하고 테이블에 표준 put을 실행 한 다음 나중에 table.flushCommits ()를 사용하여 버퍼를 플러시하여 배치를 수행 할 수도 있습니다.

    나는 당신의 행의 크기를 모른다. 그러나 그들이 거대하지 않은 한 당신은 당신의 구성 (네트워크 대기 시간은 어쩌면?)에 문제가 있다고 생각한다. 심지어 500 행을 한 행씩 수행하는 것이 훨씬 빨리 수행되어야한다.

  2. from https://stackoverflow.com/questions/28229038/hbase-write-which-one-better-on-performance-batch-or-putlistput by cc-by-sa and MIT license