▲neo 8달전 | parent | favorite | on: GN⁺: 새로운 jq로서의 DuckDB(pgrs.net)Hacker News 의견 jq와 기본 쉘 도구의 조합 jq의 문법과 데이터 모델은 매우 우아하고 강력하지만, 표준 라이브러리가 부족하고 설계상의 어색함이 있어 일상적인 작업이 복잡할 수 있음. jq는 데이터를 줄 단위의 텍스트로 잘 변환하여 유닉스 쉘 도구와 결합하기 좋음. 예를 들어, 프로젝트 목록에서 OSS 라이선스를 추출하고 각각의 사용 횟수를 세는 작업은 curl ... | jq '.[].license.key' | sort | uniq -c로 간단히 처리 가능. Babashka와 Clojure Lisp과 Clojure를 좋아한다면 Babashka를 확인해 볼 것. Babashka를 사용하여 JSON 파일을 처리하고 데이터를 그룹화하고 카운트하는 예시 코드 제공. ClickHouse 로컬 CLI ClickHouse 로컬 CLI는 JSON과 CSV 등의 형식을 파싱하고 쿼리하는 데 매우 빠름. "세계에서 가장 빠른 JSON 쿼리 도구"라고 불리며, 서버리스 데이터 분석을 위한 작은 도구로 소개됨. jq와 DuckDB 및 SQL의 사용 jq는 필터링, 매핑, 연결 등의 작업에 이상적임. 예를 들어, 특정 다운로드 링크를 찾거나 Terraform 상태에서 Kubernetes 클러스터의 KUBE_CONFIG을 추출하는 등의 작업에 jq를 사용할 수 있음. Google Sheets 쿼리 공개된 Google Sheets 데이터를 SQL과 유사한 방식으로 쿼리할 수 있음. SQLite 데이터베이스를 사용한 구조화된 로깅 매일 생성되는 로그 이벤트를 JSON 객체로 저장하고, 특정 필드에 인덱스를 생성하여 SQL 쿼리로 검색할 수 있음. Benthos 데이터 변환과 메시지 버스, 웹훅, 데이터베이스로의 데이터 이동에 Benthos를 사용할 수 있음. Nushell Nushell은 임시 데이터 조작과 일반적인 쉘 작업에 유용함. pq (prql-query) DuckDB, DataFusion, PRQL을 활용하여 터미널에서 데이터 작업을 쉽고 재미있게 하기 위해 pq를 만듦. 현재 유지 관리가 어려워 아카이브 상태이지만, 협력할 사람이 있다면 상황을 바꿀 수 있음. JSON과 프로그래밍 언어의 사용 JSON을 프로그래밍 언어의 해시맵과 같은 데이터 구조로 다루는 것과 비교하여 이점이 불분명함. 대화형으로 작업하고 싶다면 노트북이나 REPL을 사용할 수 있음.
Hacker News 의견
jq와 기본 쉘 도구의 조합
curl ... | jq '.[].license.key' | sort | uniq -c
로 간단히 처리 가능.Babashka와 Clojure
ClickHouse 로컬 CLI
jq와 DuckDB 및 SQL의 사용
Google Sheets 쿼리
SQLite 데이터베이스를 사용한 구조화된 로깅
Benthos
Nushell
pq (prql-query)
JSON과 프로그래밍 언어의 사용