139B.Parquet + Polars/最近試したコマンド群
Impossibile aggiungere al carrello
Puoi avere soltanto 50 titoli nel carrello per il checkout.
Riprova più tardi
Riprova più tardi
Rimozione dalla Lista desideri non riuscita.
Riprova più tardi
Non è stato possibile aggiungere il titolo alla Libreria
Per favore riprova
Non è stato possibile seguire il Podcast
Per favore riprova
Esecuzione del comando Non seguire più non riuscita
-
Letto da:
-
Di:
A proposito di questo titolo
概要:
巨大データ処理で活躍したParquet+Polarsの話から、開発環境を快適にするzoxideやStarship、そして数学の証明もできるプログラミング言語Leanまで、2026年のはじめに試した技術・ツールについて話しました。
- Apache Parquet(パルケ/パークエット)とは
- CSVとの違い(行指向 vs 列指向)
- カラムごとにデータをまとめることで、必要な列だけを高速に読み出せる構造
- Row Group/Column Chunkという単位で保存され、並列処理と相性が良い
- フッターにスキーマ(型情報)を埋め込むことで、型推定不要&圧縮効率アップ
ランレングス圧縮・辞書圧縮などにより、CSVよりも小さいサイズ&高速読み込みを実現
Parquet+Polarsで1000万〜1400万行をさばいた話
- 1000万行のCSV処理でI/O待ちがボトルネックになり、CPUコア(32コア)が遊んでいた問題
- データをParquetに変換+Polarsを利用することで、読み込みが約30倍高速化
- Polarsの
- ストリーミングモード:ファイルと接続しつつ少しずつ処理
- レイジーモード(遅延実行):フィルタやマップをチェインして、最後に一括最適化実行
- それでも1400万行ではI/Oが張り付き、CSVでもParquetでも厳しい状況に
- 解決策:メモリを大量に積んだインスタンスを借り、ストリーミングせず全データをメモリ上でイーガー(即時)実行
- 「金で殴る」戦略で処理が一瞬で終わるように
- データベースや分散処理(DuckDBなど)が本来向いている領域だが、制約の中でのベストプラクティスとしての選択
CSVとParquetの使い分け(ヒューマンリーダブル vs 型付き・高速・大規模向き)、手札を増やすことの大事さ
zoxide:次世代CDコマンド
- cdコマンドの「賢い」代替として使えるツール
- 一度訪れたディレクトリを学習し、曖昧な入力からジャンプできる
- 例:cd doc で、どこにいても「documents」的なディレクトリに飛べる
- 深い階層や長いパスを毎回フルで打たなくてよくなる
コマンド自体は z だが、ホストは cd にエイリアスして完全な置き換えとして使用中
Starship:リッチなシェルプロンプト
- ターミナルのプロンプトをカラフルかつ高機能にするツール
- Gitリポジトリの状態、使用中の言語ランタイムやバージョン(例:UV管理下のPython 3.x)などを自動表示
- 見た目がきれいになるだけでなく、「今このディレクトリはどんな環境か」を一目で把握できる
そこまで意識して凝視はしていないが、入れておくと地味に便利な存在
Lean:数学の証明もできる関数型言語
- マイクロソフト発の定理証明支援・関数型プログラミング言語
- 数学の証明(定理・公理系の形式化)にも使われる一方、普通のプログラミング言語としても利用可能
- 現在ホストがやっていること:
- 四則演算をする簡単な電卓プログラムをLeanで実装(パーサ付き)
- いずれは本格的な研究にも組み込みたい構想
- 「証明」とは何か:
- 例:ペアノの公理系で自然数を定義
- 0があり、その「次の数(サクセッサ)」として1, 2, 3…を定義する
- 足し算のルールなどを公理として書き、そのルールから「1+1=2」が導けることを機械的に証明
- Leanでは、ループや再帰が「必ず停止する」と証明されないと実行できない構造もあり、無限ループを防ぐ
- ソート関数がどんな入力でも必ず終了し、正しく並び替えることなども数学的に保証できる
- 数学・論理・型システムを通じて、「AI時代でも残る問題解決力」を鍛える道具としての側面
- かなり難易度は高めなので、未経験の人はまずHaskellから入るのが良さそう、という話
Ancora nessuna recensione