11P by neo 11일전 | favorite | 댓글 2개
  • 데이터 검사, 쿼리, 조인, 가져오기 및 내보내기를 위한 오픈 소스 도구로, 데이터베이스와 문서를 다루는 데 유용
  • SLQ라는 쿼리 언어를 사용하며, 다양한 데이터 소스와 형식을 지원함

주요 기능

  • 데이터베이스 테이블 비교: diff 명령어를 사용하여 소스 메타데이터나 행 값을 비교할 수 있음.
  • Excel에서 Postgres로 데이터 가져오기: Excel XLSX 워크시트의 내용을 새로운 Postgres 테이블로 삽입할 수 있음.
  • 데이터베이스 메타데이터 보기: --json 플래그를 사용하여 스키마 및 기타 메타데이터를 JSON 형식으로 출력할 수 있음.
  • MySQL 테이블의 모든 열 이름 가져오기: 특정 테이블의 열 이름을 쉽게 추출할 수 있음.
  • SQL Server 쿼리 실행 및 SQLite로 결과 삽입: SQL Server에서 쿼리를 실행하고 결과를 SQLite에 삽입할 수 있음.
  • 모든 데이터베이스 테이블을 CSV로 내보내기: JSON 메타데이터를 사용하여 테이블 이름을 추출하고, 각 테이블을 CSV 파일로 출력할 수 있음.

소스 명령어

  • 소스 추가 및 관리: 소스를 추가, 활성화, 이동, 목록화, 그룹화, 핑 또는 제거하는 명령어를 제공함.
  • 데이터베이스 테이블 명령어: 테이블 복사, 잘라내기, 삭제와 같은 편리한 명령어를 제공함.

JSONL 쿼리

  • JSONL 형식 지원: JSON Lines 형식의 로그 파일을 쿼리할 수 있음.

SQL 소스 및 출력 형식

  • 지원되는 데이터베이스: Postgres, SQLite, MySQL, MariaDB, SQL Server, Azure SQL Edge 등을 지원함.
  • 기타 소스: Excel XLSX, CSV, TSV, JSON, JSONA, JSONL 등의 형식에서 데이터를 가져올 수 있음.
  • 출력 형식: SQL 데이터베이스로의 삽입, Excel XLSX, CSV, TSV, JSON, JSONL, JSONA, XML, HTML, Markdown, Raw 등 다양한 형식으로 출력 가능함.

GN⁺의 정리

  • sq는 데이터베이스와 문서 데이터를 다루는 데 있어 강력한 도구로, 다양한 데이터 소스와 형식을 지원하여 데이터 처리의 유연성을 제공함.
  • 데이터베이스 간의 데이터 이동, 메타데이터 관리, 다양한 형식으로의 데이터 변환 등 여러 기능을 통해 데이터 작업을 간소화할 수 있음.
  • 데이터베이스 관리 및 데이터 처리에 관심이 있는 개발자들에게 유용하며, 특히 다양한 데이터 소스를 다루는 프로젝트에서 큰 도움이 될 수 있음.
  • 유사한 기능을 제공하는 도구로는 jq, pandas, Apache Drill 등이 있음.

SQ - swiss-army knife for data

3년 반전에 소개했었는데, 그동안 기능이 많이 늘어났네요.

Hacker News 의견
  • JQ의 쿼리 언어는 특별히 매력적이지 않다고 생각함. 데이터베이스에 질문을 할 때 JQ의 XPATH 유사 언어를 선택할 이유를 이해하지 못함
  • JSON 입력을 받아 SQL 문법으로 쿼리할 수 있는 도구가 있는지 궁금함. 이는 오래된 사용자에게 더 매력적일 것임
  • Python을 단일 실행 파일로 패키징하고, Unix 스타일로 애플리케이션과 모듈을 심볼릭 링크하는 것이 어떨지 제안함
    • 많은 개발자들은 도구를 선택할 때 미적 요소를 가장 낮게 평가함. 포장이나 미적 일관성보다 다른 요소가 더 중요함
  • 데모가 너무 상태 의존적이라고 느껴짐. jq의 진정한 강점은 신뢰성과 행동을 이해할 수 있는 능력이며, 상태 의존적 도구는 이러한 점이 부족함
  • 표준 SQL과 CLI 도구로 할 수 없는 것이 보이지 않음. 표준 SQL을 배우는 것이 더 재사용 가능한 지식을 얻을 수 있을 것임
  • 새로운 도구는 항상 좋음. 주류가 되지 않더라도 데이터베이스를 다루는 새로운 방법을 탐구하는 것은 항상 좋음
  • sq를 좋아함. DB에서 간단한 작업을 빠르게 수행하고 CSV나 JSON으로 출력하는 데 유용함. 다만 sq 쿼리 언어(SLQ)가 SQL의 ... LIKE "SOME_STRING%"와 같은 부분 문자열 매칭을 지원했으면 좋겠음. SQL을 수동으로 호출할 수 있음
  • Postgres에 JSON 출력 기능이 추가될 것이라는 내용을 읽음. .wrangle | .data가 iPhone 13 mini에서 작동함
  • SQL 데이터베이스를 사용할 때 이 도구가 있었으면 좋았을 것임
  • Zeek 로그에 TSV 지원이 있으면 좋겠음