2009-10-16 1 views
2

큰 데이터 세트 (1GB의 순수 압축 텍스트)가 있습니다.큰 데이터 세트를 조작하기위한 언어 또는 도구를 권장하십시오.

는 지금은 예를 들어, 데이터의 정보를 기반으로 데이터 집합을 다시 작성 해요 :

  • 전원을 켜고 2009-10-16을 일이 발생 횟수와 시간을 카운트
  • 금요일
  • 에 그들이 마지막으로

지금 자바에서이 모든 작업을하고 있습니다. 나는이 유형의 일을하기 위해 실제로 설계된 도구 나 언어를 아는 사람이 있는지 궁금합니다. Java에서는 가능하지만 많은 보일러 플레이트 코드를 작성하고 있습니다.

답변

0

스트림, 텍스트 기반의 데이터를 처리하기 위해 설계된 프로그래밍 언어입니다. 나는 내가하고있는 일에 아주 강력하다고 느낍니다. 나는 그것을 내 Java 코드에 쉽게 통합 할 수 있습니다.

5

Perl입니다. 그것은 텍스트 데이터의 조작을 위해 만들어졌습니다. 문자열 데이터의 경우 조작을 설정 대용량 데이터에 대한

+0

Perl/PHP/Python 전쟁에서 어떤 위치를 차지하고 있더라도 텍스트 조작은 Perl이 실제로 두드러지는 영역입니다. – mob

3

확장 된 논의는 here를 찾을 수 있습니다. 더 많은 언어와 구체적인 이점, 그리고 대안으로 Unix/Linux 쉘 스크립팅에 대해 설명합니다.

2

파이썬을 사용하여 항상 이런 유형의 작업을합니다. 이 스크립트는 파이썬이 배우기가 쉽지 않고 라이브러리 및 핵심 언어 기능에 대한 훌륭한 문서를 제공하므로 직접 작성합니다. 커맨드 라인과 결합 된 Python은 제 마음을 편안하게합니다. 귀하의 경우에는

, 하나 개의 파일에 대해, 나는 스크립트를 작성합니다 그냥 수행

하라 zcat big_file.dat.gz을 | my_script.py

명령 줄 작업이 마음에 들지 않으면 압축 파일 처리를 위해 파이썬의 라이브러리를 사용할 수도 있습니다.

다른 사람들도 언급했듯이 Perl도 마찬가지입니다. 어느 쪽이든 그 속임수를 쓸 것입니다.

1

데이터 구조에 따라 언어에 초점을 맞추지 않아도되지만 저장 공간은 데이터베이스에 공급할 수 있고 데이터베이스가 과중한 작업을 수행 할 수있는 곳입니까?

0

AWK를 사용하는 것이 좋습니다. Wikipedia entry의 첫 번째 줄에 모두 나와 있습니다.

는 AWK 중 하나를 파일이나 데이터에 나는이 스칼라를 사용하여 종료

+0

Perl은 AWK보다 많이 사용된다면 AWK와 마찬가지로 보편적이며, AWK가 특정 작업을 수행하기에는 부족하거나 어색하기 때문에 설계되었습니다. 도구 X가 도구 Y보다 작업 Y에 더 "고안"되었다고 말하는 것은 어렵습니다. –

+0

Perl과의 비교가 제거되었습니다. 나는 너에게 동의하지 않는다. 그러나 나는 그러한 징집 적 발언을해서는 안된다. – cdiggins