12 ポイント 投稿者 GN⁺ 2024-10-07 | 2件のコメント | WhatsAppで共有
  • データの検査、クエリ、結合、インポートおよびエクスポートのためのオープンソースツールで、データベースやドキュメントを扱う際に有用
  • SLQ というクエリ言語を使用し、さまざまなデータソースと形式をサポート

主な機能

  • データベーステーブルの比較: diff コマンドを使って、ソースメタデータや行の値を比較可能。
  • Excel から Postgres へデータを取り込む: Excel XLSX ワークシートの内容を新しい Postgres テーブルに挿入可能。
  • データベースメタデータの表示: --json フラグを使って、スキーマやその他のメタデータを JSON 形式で出力可能。
  • MySQL テーブルのすべての列名を取得: 特定のテーブルの列名を簡単に抽出可能。
  • SQL Server クエリを実行して SQLite に結果を挿入: SQL Server でクエリを実行し、その結果を SQLite に挿入可能。
  • すべてのデータベーステーブルを CSV にエクスポート: JSON メタデータを使ってテーブル名を抽出し、各テーブルを CSV ファイルとして出力可能。

ソースコマンド

  • ソースの追加と管理: ソースの追加、有効化、移動、一覧化、グループ化、ping、削除を行うコマンドを提供。
  • データベーステーブルコマンド: テーブルのコピー、切り取り、削除などの便利なコマンドを提供。

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 はデータベースとドキュメントデータを扱ううえで強力なツールであり、多様なデータソースと形式をサポートすることで、データ処理の柔軟性を提供。
  • データベース間のデータ移動、メタデータ管理、多様な形式へのデータ変換などの機能を通じて、データ作業を簡素化可能。
  • データベース管理やデータ処理に関心のある開発者にとって有用で、とくに多様なデータソースを扱うプロジェクトで大いに役立つ可能性がある。
  • 類似の機能を提供するツールとしては、jqpandasApache Drill などがある。

2件のコメント

 
xguru 2024-10-08

SQ - データベースやその他の機能のための jq 代替

3年半前に紹介しましたが、その間に機能がかなり増えましたね。

 
GN⁺ 2024-10-07
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をサポートしてほしい