프로젝트 소개
Miller는 이름으로 인덱싱된 키-값 쌍 데이터를 위한 명령줄 데이터 처리 도구입니다. 기존 Unix 도구처럼 위치 기반 필드를 세는 대신, CSV, TSV, JSON, JSON Lines, 위치 인덱스 입력 등의 형식을 사용하여 필드를 이름으로 참조할 수 있습니다.
README에 설명된 핵심 기능:
- 다목적 데이터 처리: 데이터 정리, 데이터 축소, 통계 보고, 데브옵스 및 시스템 관리, 로그 파일 처리, 형식 변환, 데이터베이스 쿼리 후처리.
- 이름 있는 필드 연산: 기존 필드에서 계산된 새 필드 추가, 필드 삭제, 정렬, 통계 집계, 예쁘게 출력을 실시간으로 수행.
- 형식 인식: 예를 들어 CSV 정렬과 tac은 헤더 줄을 맨 앞에 유지하며, 지원되는 형식 간 변환을 제공합니다.
- 스트리밍 설계: 대부분의 연산은 한 번에 하나의 레코드만 메모리에 있으면 되므로, 기능적으로 가능한 경우 사용 가능한 RAM보다 큰 파일도 처리할 수 있고 tail -f 상황에서도 사용할 수 있습니다. 더 깊은 보존이 필요한 연산(sort, tac, stats1)은 필요한 만큼만 데이터를 보존합니다.
- 레코드 이질성: 서로 다른 스키마(필드 이름)를 가진 레코드를 교차 배치할 수 있어 기존 Unix 도구를 뛰어넘습니다.
- 파이프 친화적: Unix 툴킷과 상호 운용됩니다.
- R, pandas 같은 데이터 분석 도구를 보완하여 데이터 정리 및 준비를 지원하고, SQL 데이터베이스를 보완하여 클라이언트 측 슬라이싱, 다이싱, 재포맷을 지원합니다.
- 이식성 높은 Go로 작성되었고 런타임 의존성이 전혀 없으며, 단일 바이너리를 다른 머신에 복사할 수 있습니다.
설치는 Linux의 apt/yum/snap, macOS의 Homebrew 및 MacPorts, Windows의 Chocolatey, WinGet, Scoop 등 다양한 패키지 관리자를 통해 가능합니다. 소스에서 빌드는 make(make, make check, make install) 또는 Go 명령을 직접 사용하여 지원됩니다. 이 프로젝트는 BSD-2-Clause 라이선스로 제공되며 방대한 문서, 튜토리얼, 커뮤니티 토론 채널을 제공합니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.