@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Apache Spark徹底入門」を読んだ

Spark をちゃんと使ってみるかと思ったけど本をちゃんと読んだことないなと思っていたところに売っているのを見かけたのでようやく読んでみた。
オライリーLearning Spark 2nd Edition の邦訳らしい。

目次は以下。

1 Apache Spark 入門
2 Apache Spark のダウンロードと入門
3 Apache Spark の構造化API
4 Spark SQL とDataFrame:組み込みデータソースの紹介
5 Spark SQL とDataFrame:外部データソースとのインタラクション
6 Spark SQL とDataset
7 Spark アプリケーションの最適化およびチューニング
8 構造化Streaming
9 Apache Spark を用いた信頼性の高いデータレイクの構築
10 MLlib による機械学習
11 Apache Spark による機械学習パイプラインの管理、デプロイおよびスケール
12 エピローグ:Apache Spark 3.x

Hadoop は前職時代に構築から行ったことがあったので知識としてはあった。Spark の部分について詳しく書かれていそうだなと思って買ってみたけど思ったよりも色々書いてあって面白かったしとても勉強になった。

Apache Spark について詳しく色々書かれている。API についてもRDD、DataFrame API、Dataset API についてそれぞれ記載があり違いについてなるほどと思えた。速度を出したりするためのチューニングやStreaming について、JSON、Parquet、CSV、Avro、ORC、Hive、S3、またはKafkaといったデータソースへの接続についてなど。
レイクハウスの説明からDelta LakeとSparkを使用したデータレイクの構築方法についても。ここはやはりデータエンジニアとしては気になっているので詳しく読んでみた。現在、Spark とParquet を使ってのデータ基盤は考えていたところだったので興味深かった。他にもMLlib / MLflow を使っての機械学習管理についてなど今後手を出してみたいなという話もあったので面白かった。

パブリッククラウドではサーバレスで使えるSpark がたくさん出てきているので触る機会は今後もどんどん増えていくのだと思っている。速度や大きさを求めていくとどうしても分散処理を行わないといけなくなってくるところが出てくる。しかし、自分でクラスタをまた運用したいかというと、そこはお任せしたいなというお気持ちが強いのでサーバレスでどんどん使い倒していきたいなと思っている。

まとめ

  • Spark をとりあえず触ってみる入門書としては読みやすくて良かった
  • APIの種類やレイヤー、Spark のアーキテクチャについて細かく書かれているで読みやすかったし理解しやすかった
  • 運用周りについてはあまりないからとりあえずいっぱい触ってみたい