data-platform-in-action-support-page

改訂新版[エンジニアのための]データ分析基盤入門<実践編> 主要プロダクトに共通する理論×技術 クラウド&オンプレ対応

本リポジトリは、技術評論社から出版された以下の書籍 のWeb補足情報を提供するためのものです。 書籍に関する「正誤表」や関連情報をまとめています。

本書の構成

各章のハイライトです。

基本用語の整理

本編を読むための前提条件となる用語をまとめました。既刊「改訂新版 エンジニアのためのデータ分析基盤入門<基本編>」と併せて確認すると理解が深まります。

第1章 データ分析基盤

データ分析基盤で利用される技術のランドスケープや、データ分析基盤とシステムの違いを踏まえ、プラットフォームとは何かについて整理した章です。

第2章 ローカル端末で学ぶデータ分析基盤

データ分析基盤について「こんな感じで作られているんだ」「こんなプログラムやコマンドで動いているんだ」を感じてもらうための章です。シンプルなパイプラインを元に、データ分析基盤における活動の基本を学びます。

第3章 バッチデータパイプライン

データ分析基盤において、新たなデータを生成するための最も基本的で重要な活動を含む、バッチパイプラインについて学ぶ章です。多くの論点が含まれますが、理解することでデータ分析基盤の全体像と本質の理解につながります。

第4章 ストリーミングデータパイプライン

リアルタイムでデータを処理するためのストリーミングデータパイプラインについて学ぶ章です。バッチパイプラインの理解を前提に、ストリーミングパイプラインの特徴と論点を学ぶことで、より深くストリーミングの活動を理解できます。

第5章 データパイプラインとアドオン機能

データ分析基盤におけるデータパイプラインの基本を理解したうえで、データ分析基盤にまつわる付随的な活動について学ぶ章です。「データパイプラインの途中で別の場所に対してデータを転送する」「セマンティックレイヤーを形成する」といった、データパイプラインをより充実させるためのアドオン機能について紹介します。また、データ分析基盤の活動はパイプラインを作るばかりではなく、データの調査などのアドホック作業が断続的に発生するため、そのような活動を支援するしくみについても紹介します。

第6章 データパイプラインとデータ品質管理

データ分析基盤におけるデータ品質の重要性と、データ品質を担保するためのしくみについて学ぶ章です。データはただ分析基盤に放り込んでおけばよいわけではなく、適切に品質を担保することで、データ分析基盤で行う活動の価値が大きく変わります。

第7章 データパイプラインとメタデータ管理

データを整備するエンジニアやデータを利用するユーザにとって最も重要な情報源になるデータである、メタデータの管理について学ぶ章です。ビジネスメタデータの書き方、統合的な管理方法、オペレーショナルメタデータを利用した優先順位の付け方など、メタデータを活用するためのしくみについて紹介します。

第8章 データパイプラインと開発プロセス

「確実なリリースをしたい」「有意義な機能追加をしたい」を実現するためのデータパイプラインの開発プロセスについて学ぶ章です。データパイプラインの開発におけるE2Eテスト、開発の方向を決めるためのユーザビリティ、データオブザーバビリティなど、データパイプラインの開発を成功させるためのしくみについて紹介します。

第9章 データマネジメントとドキュメンテーション

データ分析基盤における民主化とガバナンス活動について学ぶ章です。ガバナンスと聞くと抽象的で難しいイメージがありますが、9章までの内容を元に、Howから始めてガバナンスについて理解を目指します。また、ガバナンスの適用範囲をより広めた応用分野であるデータメッシュについても紹介します。

第10章 データ分析基盤とパブリッククラウド

舞台をクラウドに移し、クラウドならではの観点からデータ分析基盤の構築と運用を学ぶ章です。誰にとっても、クラウドはまったく新しいものではないでしょう。前章までの内容を元に、クラウドならではの論点を追加で理解することで、クラウドにおけるデータ分析基盤のメリットや注意点を理解します。

第11章 シンプル構成で始めるクラウド分析基盤

クラウドでもローカルとほとんど同じ技術スタックを用いて構築したデータ分析基盤を用いて、クラウドならではの機能に重点を置いて確認をする章です。クラウドを利用したデータ分析基盤を元に、前章までで確認しづらかった「監査ログ」や「データの資産化」などのポイントについて紹介します。

第12章 データ分析基盤とML(機械学習)モデル

MLモデルの作成にまつわる活動について確認をする章です。データを活用するという活動において、MLを含めたモデルにまつわる活動は切り離せません。データエンジニアリングとしても活用可能な題材を元にMLについて理解します。

サポートサイトについて

サポートサイト(Section A):ローカルデータ分析基盤(data-platform-on-local

本書における「具体」を担当する学習用データ分析基盤について紹介しています。本書を読むにあたって、ご自身で操作する場合はGitHubリポジトリのREADME.mdを参照して利用してください。本編の内容とリンクがしやすいように、本編では適宜、「▶S.A」という表記で参照先を指定しています(以降のサポートサイトのSectionでは「S.A参照」と表記しています)。

S.Aのリポジトリ情報について

サポートサイト(Section B):データ分析基盤のためのアプリケーション/ミドルウェアの基礎知識

本書で利用するアプリケーション/ミドルウェアの基礎知識をまとめています。本書ではSpark、Iceberg、Kafkaを中心に利用するため、これらの基本的な操作や知識について解説しています。本編ではこれらをふんだんに利用します。関連知識が不足していると感じた場合は、本節を参照してください。

S.Bのリポジトリ情報について

サポートサイト(Section C):データソース(data-source

データ分析基盤が扱うデータソースについて紹介しています。本書を読むにあたって、ご自身で操作する場合はGitHubリポジトリのREADME.mdも参照して利用してください。

S.Cのリポジトリ情報について

サポートサイト(Section D):AWSクラウドにおけるデータ分析基盤と基本用語

本書で利用するAWSクラウドの基本用語をまとめています。IAM、S3、ネットワークなどの基本的な用語について解説しています。本編では本質にフォーカスして説明するため、これらについては前提知識として解説を行います。関連知識が不足していると感じた場合は、本節を参照してください。

S.Dのリポジトリ情報について

サポートサイト(Section E):テーブル定義とデータカタログ

本書で利用しているテーブルの定義やカタログ情報を公開しています。 馴染みの少ないカラムについては本編内で補足をしていますが、より詳細な定義を知りたい場合は本節を参照してください。

データ定義について

サポートサイト(Section Z):基本技術まとめ

紙面の都合上本編で解説しきれなかった基本的なLinuxコマンド、Dockerファイルの読み方、SQLについてまとめています。

S.Zのリポジトリ情報について

正誤表

本書で利用しているキー情報について

本リポジトリおよび書籍中に記載している認証情報は、ローカル開発環境の再現を目的とした固定のサンプル値です。 本番環境、共有環境、検証環境では使用しないように気をつけてください。

本書内のキャプチャやコード出力について

定期ジョブや定期キャプチャにより取得しているキャプチャやコード出力が存在するためキャプチャ間のキャプチャ内の時刻はバラバラになっています。 ただし、時刻がバラバラなことによる内容の齟齬はないようにしています。