FreeStyleWiki

ETLのためにHadoopのシステム構成を考える

このエントリーをはてなブックマークに追加

[Hadoop,ETL]

Hadoopのシステム構成

  構成

いろいろ調査した結果、Hadoop自体はコンピューティングリソース(ETL)とデータの永続化(どちらかと言うとDWH)としての側面が必要に見える。これらを分けてシステム構成を考えよう、ページを分けた。読み進める前に、AWSチーム社内勉強会「EMRおじさんに聞いてみよう」レポートを読むと良い。

2018/02/16 追記

さらに調査を行ったが、Hadoop自体もマネージドサービスとしてTreasureDataに提供されている。大量データ投入、検索、BIへの出力を行うだけなら月額30万支払ってTresureDataに投げたほうがよさそう。

  総括

コンピューティングリソース

処理の起点
Lambdaを使い、S3にファイルを置かれたらHiveによるデータ取り込みを起動
ETL
Hive/PigでできたスクリプトをHue/Oozieで組み合わせてデータを処理する
データマート
Hive/Pigで出来上がったデータを直接RDSにぶち込む

データの永続化

初期〜ほとんどの場合、性能や値段の面から考えて

  • 永続化をS3で行い、データの取り出しをHiveで行うことで十分のようだ
  • もしもっと高負荷や高性能を要求される場合HBase on EMRを使えば早いだろう