CSV・Parquet クエリ (SQL)
CSV や Parquet を開き、本物の SQL で照会します。DuckDB がこのタブの中で動くので、ファイルはアップロードされません。
ここに CSV か Parquet を置いてください
CSV · TSV · Parquet · JSON — 1 つずつ
ファイルはどこへ行きますか?
どこへも行きません。DuckDB にはファイルの参照だけを渡し、DuckDB がディスクから直接読みます。アップロードされるものはありません。降りてくるのは DuckDB エンジン自体で、公開 CDN から来ます — 向きが逆です。
なぜ先に 6MB ほど受信するのですか?
DuckDB は WebAssembly にコンパイルされた本物の分析用データベースだからです。展開すると 35MB、転送量では約 6MB です。ボタンを押したその瞬間に取得し、それ以前には取得しません。一度取得すればブラウザが保持します。
どれくらい大きなファイルまで扱えますか?
思ったより大きく扱えます。特に Parquet がそうです。ファイルを丸ごとメモリに載せず、クエリに必要な部分だけを読むため、広い Parquet で 2 列だけ見るクエリはほとんど何も読みません。CSV は先頭から走査するので遅くなります。
どんな SQL が書けますか?
DuckDB の方言で、PostgreSQL に近いものです。開いたファイルは `data` というテーブルになるので、`SELECT * FROM data LIMIT 50` が出発点です。結合・ウィンドウ関数・集計・CTE がすべて使えます。エラーは DuckDB の文言をそのまま表示するので、どこが誤りか分かります。
すべての行を表示しますか?
画面の表は 200 行で止まります。ページが耐えられる範囲だからで、止めたことも併記します。クエリ自体に制限はなく、ダウンロードする CSV には画面に出た行がすべて入ります。