Hadoop用カラムナストレージ「Parquet」正式版をTwitterがオープンソースで公開

2013年9月3日

データを列方向に格納することで読み出し性能を向上し、高速な分析を実現する技術は、「カラム型データベース」「カラムナーストレージ」「カラム型データストア」などと呼ばれて注目されています。その技術をHadoopのストレージに持たせることで、Hadoopでもさらに高速な分析を可能にする「Parquet」バージョン1.0を、Twitterがオープンソースで公開しました

Announcing Parquet 1.0: Columnar Storage for Hadoop | Twitter Blogs

公開したのは7月30日と1カ月ほど前のことで気付くのが少々遅かったのですが、ほかに日本語の記事が見当たらなかったので紹介したいと思います。

Parquetとはどのようなソフトウェアなのか、Twitterのブログから少し長めの説明を引用しましょう。

Parquet is an open-source columnar storage format for Hadoop. Its goal is to provide a state of the art columnar storage layer that can be taken advantage of by existing Hadoop frameworks, and can enable a new generation of Hadoop data processing architectures such as Impala, Drill, and parts of the Hive ‘Stinger’ initiative.

Parquetはオープンソースで、Hadoop用カラムナストレージフォーマット(Columnar storage format for Hadoop)だ。目指しているのは、既存のHadoopフレームワークが利点を享受できる最新のカラムナストレージレイヤを提供すること。そして、Impala、Drill、Hiveの一部である'Stinger'イニシアティブのような新世代のHadoopデータ処理アーキテクチャを実現させることだ。

Parquetの利点は一般的なカラムナストレージと同様、列方向にデータを保存して読み出せるため、必要なデータのみをすばやく読み取ることができること、列方向には同一型のデータが並んでいるため高い圧縮率が適用可能で、それがデータ容量の節約とさらなるデータ読み取りの高速化に貢献することなどです。

これらの利点によって、大規模データの格納と、それを高速に読み出して分析することを実現します。

Parquet 1.0の機能は以下となります。

  • Apache Hadoop Map-Reduce Input and Output formats
  • Apache Pig Loaders and Storers
  • Apache Hive SerDes
  • Cascading Schemes
  • Impala support
  • Self-tuning dictionary encoding
  • Dynamic Bit-Packing / RLE encoding
  • Ability to work directly with Avro records
  • Ability to work directly with Thrift records
  • Support for both Hadoop 1 and Hadoop 2 APIs

Hadoopにおけるカラムナストレージの重要性

Hadoopにカラムナストレージを用いて高速な分析を実現するという手法は、日本発のベンチャーであるTreasure Dataがすでに自社サービスのために内部実装していることを明らかにしています。Googleも大規模なクエリを超高速で実行する「BigQuery」の基となったコードネーム「Dremel」でカラムナストレージを実装していることが論文から分かっています。ParquetはこのDremelを参考に開発されています。

Parquetが目指していることでもありますが、今後、Hadoopでの高速分析処理にはカラムナストレージが重要さを増してくるはずです。その実装としてのParquetは、TwitterだけでなくClouderaも協力して開発してきたこともあって中心的役割を果たしていくことになるのではないでしょうか。

あわせて読みたい

機械学習・AI Hadoop Twitter オープンソース カラム型データベース




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本