【Golang】CSV/JSON/Excel/Parquet に SQL を実行する sqly を約4年かけて v1.0.0 にした

【Golang】CSV/JSON/Excel/Parquet に SQL を実行する sqly を約4年かけて v1.0.0 にした

前書き:ファイルに SQL を実行する小さな CLI を v1.0.0 に sqly は、CSV/TSV/LTSV/JSON/JSONL/Parquet/Excel/ACH/Fedwire のファイルに SQL を実行する CLI です。ファイルを in-memory の SQLite3 へ読み込む設計のため、JOIN、CTE、Window 関数など、SQLite3 のクエリ機能を幅広く利用できます。gzip 圧縮された CSV と Parquet のように、形式が違うファイル同士を JOIN できます。SQL 方言は、SQLite をデフォルトとし、MySQL、PostgreSQL、GoogleSQL に一部対応しています。 ...

2026年8月9日 · 15 分 · nchika
【Golang】CSV/TSV/LTSV/JSONにSQLを実行するsqlyコマンドを作った話【開発背景/設計/使い方】

【Golang】CSV/TSV/LTSV/JSONにSQLを実行するsqlyコマンドを作った話【開発背景/設計/使い方】

前書き 本記事は、フラー株式会社 Advent Calendar 2022の5日目の記事です。4日目の記事は、「フラーを卒業していった優秀な学生アルバイトに向けたポエム(@furusax)」です。ポエムと言いつつ、技術的なお話でしたね。 本記事では、CSV/TSV/LTSV/JSONに対してSQLを実行する"sqly"コマンド(自作ツール)について解説します。sqlyの基本機能を簡単に説明した後、開発した背景、設計、使用しているパッケージについて説明し、利用例と今後の展望を説明します。 ...

2022年12月2日 · 11 分 · nchika