ブログ・ア・ラ・クレーム

技術的なメモとかライフログとか。

技術書典9で「Apache Parquet ではじめる快適 データ分析」を出します

技術書典9 で「Apache Parquet ではじめる快適 データ分析」を出します。 もしよろしければお手にとっていただければ幸いです。 まあ今回はオンライン開催で電子書籍のみの配布なので、物理的にお手に取れないんですけどね〜!

本書は Apache Parquet についてつらつらと紹介記事を書いた内容になります。 また付録的に同サークルメンバー著「USB デバイスを作るのがツラい」というテーマの記事も掲載します。

データ分析業務にムッチャ関わる、ストレージコストを最適化したい、 BigQuery などのデータウェアハウスサービスを日常的につかう、なんとなく気になった、ような人々に効果的だと思います。 以上よろしくお願いいたします。

f:id:syu_cream:20200906114431j:plain

目次:

第1章 Apache Parquet ではじめる快適データ分析 5
1.1 はじめに .................................. 5 
レコード指向フォーマットとは? ..................... 6 
カラムナフォーマットとは? ....................... 8 
レコード指向とカラムナ、OLTPとOLAP ............... 10 
カラムナフォーマットの実装例 ...................... 11
1.2 ApacheParquetとはなにか........................ 11 
並列読み書き処理化しやすいバイナリレイアウト............. 12 
スキーマが自己記述的 ........................... 15 
シンプルで柔軟性のある型表現 ...................... 15 
ネストされたカラムや繰り返しされるカラムに対しても有効 . . . . . . . 16 
多様なエンコード方法 ........................... 26 
豊富な圧縮コーデックを選択可能 ..................... 31 
メタデータを駆使したクエリ最適化が可能 ................ 32
1.3 ApacheParquet実装例 .......................... 33 
parquet-mr................................. 33 
ApacheArrowC++実装......................... 34 
Goにおける実装例............................. 34
1.4 実際に使ってみる ............................. 35 
Parquetファイルを生成してみる ..................... 35 
ParquetファイルにAthenaからクエリしてみる . . . . . . . . . . . . 39
1.5 実際の運用................................. 42 
Parquet で実際どれくらいファイルサイズが削減されるのか? . . . . . 42 
RowGroupとPageのサイズのチューニング .............. 42 
長期ログ保存におけるコスト削減に寄与できる .............. 42 
ストリーム処理に組み込む難しさを考慮する ............... 43
 SELECT*に弱い............................. 44 
1.6 おわりに .................................. 45
付録 A
A.1 はじめに .................................. 46
A.2 USB通信プロトコル概要 ......................... 46
A.3 USBデバイスの設計方針 ......................... 48
A.4 USBデバイスが動くまで ......................... 49
A.5 USBの消費電力規格............................ 50
A.6 地獄のノイズ耐性試験 ........................... 50
トグルビット不一致 ............................ 51
安物のハブが...... ............................. 52
A.7 まとめ ................................... 52
あとがき
54
USB デバイスを作るのがツラい 46
@syu_cream .................................... 54 
@lunatic_star ................................... 54