2012-07-08 6 views
0

색인의 목록이 100 만개까지 올라간 목록 목록이 있습니다. 목록의 각 목록이 텍스트의 문장이라고합시다. 나는 다른 스레드에서 처리를 위해이 데이터를 분할하고 싶습니다. 을 사용하여 데이터를 분할하고 처리를 위해 다른 스레드로 보냈습니다. 이것이 데이터를 분할하는 표준 접근 방식입니까? 그렇지 않다면 제게 몇 가지 표준 승인을 제안 해 주시겠습니까?데이터 세트를 분할하기위한 서브리스트

답변

2

이는 당신이하지 "structurally modify" 목록 또는 이러한 하위 목록 중 하나를 수행으로 작동합니다. 읽기 전용 처리가 좋습니다.

다른 많은 "빅 데이터는"다른 문제가 있기 때문에 당신이 히트 수, 기록의 수백만의 수백을 처리에 접근이 있습니다

  • 를 프로그램 (예 : OutOfMemoryError가)를 실패하면, 당신은 아마하지 않습니다 처음부터 다시 시작하고 싶다.
  • 하나의 JVM 메모리에서 데이터를 공유 할 수없는 상황에서 문제가 발생하면 시스템을 1 대 이상 던지기를 원할 수 있습니다.
  • 각 문장을 처리 한 후에 중간 결과를 작성한 다음 2 단계로 처리하고 있습니까? 각 단계 전에 데이터를 다시 분할하는 단계의 파이프 라인을 구성해야 할 수도 있습니다.
  • 너무 많은 문장을 모두 메모리에 넣을 수 있습니다.

이러한 종류의 작업을위한 가장 일반적인 도구는 Hadoop입니다. 당신은 HDFS에 데이터를 복사 데이터에 대한지도-감소 작업 (또는 하나 이상의 작업을) 실행이 완료되면 다음 HDFS에서 데이터를 복사 할 것입니다. 더 간단한 방법은 구현하기

데이터베이스를 사용하고 할당하는 다른 범위를 다른 스레드의 정수 sentence_id 열의와 다른 테이블에 출력을 구축하는 단지입니다.

+0

은 내가 목적으로 만 읽어 그 데이터를 사용하고 있습니다. – thetna

관련 문제