HuluでImpala

impala

MPPのクエリエンジンであるApache Impalaは、CSVなどのテキストフォーマットも扱えますが、高速な処理を行う場合はParquetを使用することが多いです。(あるいはApache Kuduを利用することも可能)

Hulu の分析業務には Impala も利用されているようで、その開発過程でORC対応を行ったというブログを見つけたので紹介します。原文は中国語ですが、Google Translateに変換したところ、日本語でも十分読める文章になりました。

原文:中国語 http://dongxicheng.org/olap/impala-in-hulu/

Google翻訳版: 日本語 https://translate.google.com/translate?hl=&sl=zh-CN&tl=ja&u=http%3A%2F%2Fdongxicheng.org%2Folap%2Fimpala-in-hulu%2F

グラフによると Impala on Parquet > Impala on ORC > Presto on ORC の順序で性能差があるようですが、既存のデータが ORC で保存されている場合、Parquet等に再変換する必要がないので良いですね。今後の向上にも期待です。

また、同ブログでも言及されていましたが、Impalaのメタデータの自動更新を Kafka + Flink で独自実装しているようです。ただ、Impala独自の仕組みとして IMPALA-7970, IMPALA-7954 で実装しようとしているため、今後は運用が楽になりそうです。

コメント