14
1 DataWorks Summit San Jose 2018 レポート 株式会社日立製作所 伊藤雅博 1. 概要 本イベントについて DataWorks Summit Apache Hadoop を中心とした OSS やビッグデータビジネスに関するカンファレン スである。Hadoop はビッグデータ処理の分野においてデファクトスタンダードとなっている OSS であ り、国内外の多くの企業に導入されている。6 1921 日に米国のサンノゼで開催されたカンファレン スには約 2,100 人が参加し、3 日間で 150 以上のセッションが行われた。 イベント:DataWorks Summit San Jose 2018 催:Hortonworks 1 開催日時:2018 6 19 () 22 () 開催場所:San Jose McEnery Convention Center, San Jose, California (米国) DataWorks Summit は年 3-4 回開催(アメリカ、ヨーロッパ、アジア・オセオニア)されており、今回が 5 回目の開催である。次回は 2018 10 月にシンガポールと東京、 2019 5 月にアメリカ(ワシントン) で開催予定である。 イベント会場 1 Hortonworks Hadoop 業界における主要ベンダーの一社であり、商用 Hadoop ディストリビューション「Hortonworks Data Platform (HDP)」を提供している。Hortonworks 社は 2011 年に Yahoo!からスピンアウトしたメンバーによって創立さ れ、Hadoop の開発コミュニティにおける中心メンバーが多数在籍している。

DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

1

DataWorks Summit San Jose 2018 レポート

株式会社日立製作所 伊藤雅博

1. 概要

本イベントについて

DataWorks Summitは Apache Hadoop を中心とした OSS やビッグデータビジネスに関するカンファレン

スである。Hadoop はビッグデータ処理の分野においてデファクトスタンダードとなっている OSS であ

り、国内外の多くの企業に導入されている。6 月 19~21 日に米国のサンノゼで開催されたカンファレン

スには約 2,100人が参加し、3日間で 150以上のセッションが行われた。

イベント:DataWorks Summit San Jose 2018

主 催:Hortonworks社1

開催日時:2018年 6月 19日(火) ~ 22日(木)

開催場所:San Jose McEnery Convention Center, San Jose, California (米国)

DataWorks Summitは年 3-4回開催(アメリカ、ヨーロッパ、アジア・オセオニア)されており、今回が

5 回目の開催である。次回は 2018 年 10 月にシンガポールと東京、2019年 5月にアメリカ(ワシントン)

で開催予定である。

イベント会場

1 Hortonworks は Hadoop業界における主要ベンダーの一社であり、商用 Hadoopディストリビューション「Hortonworks

Data Platform (HDP)」を提供している。Hortonworks 社は 2011 年に Yahoo!からスピンアウトしたメンバーによって創立さ

れ、Hadoopの開発コミュニティにおける中心メンバーが多数在籍している。

Page 2: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

2

イベント概況

本カンファレンスは Hadoop 周辺の OSS を幅広く扱っており、様々な OSS の最新動向について情報を

収集することができた。また、IT 企業だけでなく金融や航空、流通、エネルギーなど様々な業界の企業

における適用事例を聞くことができた。

キーノートでは本カンファレンスの主催元である Hortonworksやスポンサー企業、および様々な業界の

企業による導入事例の講演が行われた。Hortonworks のキーノートでは、前日にリリースされた

Hortonworks の Hadoop ディストリビューションの最新バージョンである HDP 3.0 について紹介された。

スポンサー企業や顧客企業のキーノートでは、自社製品と導入事例の紹介や、AI やビッグデータ分析の

メリットについて講演が行われた。

キーノート会場

展示会場では本イベントのスポンサー約 30社がブースを出展しており、自社製品とその適用事例の紹

介を行っていた。Hortonworksはセキュリティリスクをリアルタイムに検知する Hortonworks Cybersecurity

Platformのデモや、オンプレミスとクラウドのHDPを連携させるデモなどを行っていた。また日立(Hitachi

Vantara)もゴールドスポンサーとして出展しており、主に Pentahoの紹介を行っていた。

展示会場

セッションでは、コミュニティで行われている Hadoop開発の最新動向や、企業における適用事例につ

いて講演が行われた。セッション会場は 11トラック用意され 3日間で 150以上のセッションが行われた

が、このうち約 60セッションは主催者の Hortonworksによるものであった。

Hadoop の開発の最新動向については、最近リリースされた Hadoop 3.x や Hive 3.0 に関するものが多

く、様々な機能が追加され進化していることが伺えた。また、近年開発が進んでいる Apache Ozone や

Apache Arrowなど比較的新しい OSSについての紹介があった。他にも Hortonworksが推している Nifiや

Druid といった OSS に関するセッションが多かった。

Page 3: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

3

適用事例については、データの処理基盤よりもデータをどう活用するかについて焦点を当てたものが

多かった。IT 業界以外の企業においてもデータの収集から加工・蓄積・分析などを自動化したデータパ

イプラインが構築され、データサイエンティストによるインタラクティブなデータ分析や、機械学習を

用いたデータ処理の自動化が行われていることが伺えた。

セッションの様子

技術動向

◆ HDP 3.0

2018 年 6月 18 日に Hortonworks の商用 Hadoop ディストリビューションの最新版である HDP 3.0 がリ

リースされた。HDP 3.0は Hadoop 3.1をベースに構成されており、YARNの Dockerコンテナサポートに

よるアプリケーションのデプロイ高速化とリソース使用率の向上、GPU サポートによる機械学習・ディ

ープラーニング対応の強化などが行われた。また、クラウド環境での自動プロビジョニング機能による

リソース最適化などが行われた。

◆ Apache YARN

YARN は Hadoop を構成するコンポーネントの 1 つであり、クラスタのリソース管理を行う。YARN

3.0/3.1 では、1 つのクラスタを複数のサブクラスタで構成することで(YARN Federation)、大幅なスケ

ールアウトが可能となった。また、UI が改善されリソース使用率の円グラフ表示などが可能となった。

他にもクラスタリソースとして新たに GPU と FPGA の割り当てが可能となったほか、YARN 上での

Docker コンテナ実行や、HBase などの YARN サービス化が可能となった。YARN 3.2 以降では、特定の

属性を持つノードに対するリソース要求や、クラスタリソースの上限を超えるリソース割り当て(オー

バーコミット)、TensorFlowの YARN サービス化などの機能追加が予定されている。詳細はセッション

2.1 を参照。

◆ Apache Hive

Hiveは Hadoop向けのクエリエンジンであり、2018 年 5月 21日に Hive 3.0がリリースされた。Hive 3.0

は Hadoop 3 系でのみ動作する。Hive 3.0 ではマテリアライズドビューがサポートされ、集約や結合処理

の高速化が可能となった(セッション 2.2 参照)。また、Hiveテーブルにトランザクション機能を提供

するトランザクショナルテーブルの機能が強化された(セッション 2.6 参照)。

Page 4: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

4

◆ Apache Druid

Druid はリアルタイムデータの分析に使用される分散データストアである。Druid は Metamarkets 社が

2011年に公開して 2012年に OSS 化され、2018年から Apache incubatingプロジェクトとなった。Druid は

HDP にも含まれており、Hive が苦手とするストリーミングデータの取り込みと検索に Druid を使用でき

る。近年 Hive と Druid の連携が強化されており、Druid のデータに対して Hive テーブルとインデクスを

定義して、Hiveから直接 Druid のデータを参照することが可能となった。詳細は講演資料を参照。

◆ Apache Spark

Sparkは並列分散処理フレームワークであり、バッチ処理とストリーム処理の両方を実行できる。2018

年 1月にリリースされた Spark 2.3では 1,300以上の改善が行われた。Spark 2.3 では Continuous Processing

という新しいストリーム処理エンジンが追加され、従来のマイクロバッチ方式では不可能であったミリ

秒単位のレイテンシによる処理が可能となった。他にも画像ファイルのサポートや PySpark のパフォー

マンス改善、Spark on Kubernetesのサポート、History Serverの高速化など様々な改良が行われた。詳細は

講演資料を参照。

◆ Apache Flink

Flink は並列分散処理フレームワークであり、Spark と同様にバッチ処理とストリーム処理の両方を実

行できる。2018年 5月 25日にリリースされた Flink 1.5.0では、バッチおよびストリームデータに対して

探索的なクエリを実行するためのインタフェースである Flink SQL Clientが追加された。詳細はセッショ

ン 2.8 を参照。

◆ Apache Ozone

Ozone は HDFS のサブプロジェクトであり、従来の HDFS が苦手とする大量の小さなファイルを扱う

ためのオブジェクトストアである。Ozoneは HDFS 上に構築されたものではなく、Hadoop Distributed Data

Store (HDDS)という別のストレージレイヤーを使用する。Ozone には OzoneFS という HDFS 互換のファ

イルシステムが用意されており、既存の Hive、Spark、YARN、MapReduceアプリケーションに変更を加

えることなく使用できる。詳細はセッション 2.5 を参照。

◆ Apache Ratis

Ratis は分散合意アルゴリズムの 1 つである Raft を Java で実装したライブラリである。Ratis を使用す

ることで、分散システムに必要な機能である HA やレプリケーションなどを堅牢に実装できる。Ratis は

Ozone でも使用されている。詳細は講演資料を参照。

◆ Apache Parquet, Apache Arrow

Hadoop を中心としたビッグデータ関連 OSSでは、処理性能を向上させるために列指向のデータフォー

マットを使用することが多い。Parquetはディスク上の列指向ファイルフォーマットの 1つであり、Hadoop

を含む多くの OSS で使用されている。一方 Arrowはメモリ上の列指向フォーマットであり、Hadoopを含

む 13以上の OSSにおいて導入が進められている。詳細はセッション 2.7 を参照。

Page 5: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

5

◆ Apache Crail

Crail は高性能なネットワークとストレージデバイス向けに設計された分散データストアである。元々

は IBM で開発されていたが、2017 年から Apache incubating プロジェクトとなった。Crail は複数のスト

レージバックエンド(DRAM、NVMe Flash、3D XPoint)、およびネットワークプロトコル(RDMA、TPC

ソケット)をサポートしており、高速なハードウェアの帯域をほぼ上限まで使い切ることができる。ま

た、Crail が提供する Spark 用のモジュールを使用することで、ハードウェアの性能を引き出して処理を

行うことができる。詳細はセッション 2.9 を参照。

適用事例

◆ USAA

USAA はアメリカ軍の軍人とその家族を対象とした金融・保険業を専門とする企業である。USAA で

はデータ分析に当初 IBM BigInsights を導入していたが、2017 年の後半から HDP に移行した。移行した

主な理由を以下に示す。

・ 機能面:HDP の方がサポートしている OSS が多く、かつ新しいバージョンが使える

・ 運用面:ダウンタイムなしのローリングアップデートや予防的なメンテナンスが可能である

・ セキュリティ/ガバナンス面:HDP では Apache Atlas が使えるため、タグ・位置情報・時間ベースの

アクセスポリシーの管理が可能である

IBM BigInsightsから HDP へのジョブ移行は 6ヵ月かけて徐々に行われ、最終的に 4,700の Hiveテーブ

ル、500TBのデータを移行した。詳細は講演資料を参照。

◆ Standard Bank

Standard Bank は南アフリカの銀行であり、アフリカの様々な地域で営業している。Standard Bankでは

Hadoopを用いたデータレイクとデータパイプラインを構築して、データサイエンティストによる様々な

データ分析に活用している。各地域から集めたデータを南アフリカにあるデータレイクに蓄積して、Spark

で機械学習モデルを構築し、その結果を API として各地域に提供している。このシステムを活用するこ

とで、データ駆動型のマーケティング、リスク管理、価格決定が可能となり、マーケットの変化により迅

速に対応できるようになった。詳細は講演資料を参照。

◆ Freddie Mac

Freddie Macはアメリカ政府が設立した金融機関であり、金融機関の住宅ローン債権を保証する業務を

行っている。Freddie Mac では様々なローンの情報を素早く統合して分析するため、Common Data

Engineering Framework (CDF)というシステムを構築した。このシステムではデータのフォーマット変換と

統合を自動化しており、データサイエンティストやビジネスアナリストが最新のデータに対して簡単に

アクセスできるようになった。このシステムを構築することで、2016 年には 3-4 か月かかっていたレポ

ート作成を 2017年には 1日で出来るようになり、住宅ローンに関するビジネス上の意思決定をより迅速

に行えるようになった。現在は機械学習モデル構築の自動化に取り組んでいる。詳細は講演資料を参照。

Page 6: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

6

所感

➢ 本カンファレンスでの新発表はなく、前日に Hortonworksの最新ディストリビューションであるHDP

3.0がリリースされたことに軽く触れただけであった。Spark Summitでは Databricks社が社内で開発

していた新機能を発表することが多いが、Hortonworks社はコミュニティベースの開発を行っており、

非公開の情報は少ないためと考えられる。

➢ 本カンファレンスの参加者数は 2,100人だが、2週間前に行われた Spark Summit の参加者数は 4,000

人であり、Spark Summit と比較すると半分の規模であった。これは、Hadoop 周辺の OSS は比較的成

熟してきたためと考えられる。ただし、本カンファレンスでは Hadoop 周辺の OSS を幅広く扱うた

め、Spark Summitよりも幅広い OSSについて情報を得ることができた。また、全セッションの 4割

以上が Hortonworks社のセッションであったが、これは Hortonworks社が多くのコミッタ―を抱えて

おり様々な OSSの最新情報に詳しいためと考えられる。

➢ Hadoop 3.x では多くの機能強化が行われたが、これらの機能が Cloudera2の Hadoop ディストリビュ

ーションに取り込まれるかは分からない。例えば Hiveではバージョン 0.14からトランザクショナル

テーブルの機能が追加され、バージョン 3.0でも機能強化が進んでいるが、Clouderaのディストリビ

ューションでは今でもこの機能自体がサポートしていない。Hive のトランザクショナルテーブルを

使用することで、レコード単位の更新操作やトランザクション処理が可能となるが、Clouderaはこの

ような用途に対して Hive ではなく Kuduの使用を推奨しているためと考えられる。現状、Hive のト

ランザクショナルテーブルと Kuduはどちらも適用事例が少ないため、今後の動向を注視していきた

い。

➢ Hiveが苦手とするストリーミングデータの取り込みと検索のユースケースに対して、Hortonworksは

Hive と Druid の踏み合わせを推奨していると感じた。一方 Cloudera はこのユースケースに対して

Impala と Kudu の組み合わせを推奨している。Druid と Kudu は共にリアルタイムな書き込み性能が

高く、Hive(+LLAP)と Impalaは共に低レイテンシの参照が可能であり、使える SQL構文もほぼ同

じである。そのため、ベンダー間で推奨する OSS に違いはあるものの、性能面・機能面の違いはあ

まりなさそうだと感じた。ただし、Hive と Druid を組み合わせた適用事例はまだ少ないため、今後

の動向を注視していきたい。

➢ IT 企業だけではなく金融や航空、流通、エネルギー業界の企業においても、データレイクやデータ

パイプラインが構築されており、データサイエンティストによるインタラクティブなデータ分析や、

機械学習を用いたデータ処理の自動化が行われていることが伺えた。

2 Clouderaは Hortonworks と同じく Hadoop業界における主要ベンダーの一社であり、商用 Hadoop ディストリビューショ

ン「CDH」を提供している。

Page 7: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

7

2. セッション

Apache Hadoop YARN: state of the union (Hortonworks)

YARN は Hadoop を構成するコンポーネントの 1 つであり、クラスタのリソース管理を行う。YARN

3.0/3.1では、以下の新機能が追加された。

➢ YARN Federation

YARN Federation は、1 つのクラスタを複数のサブクラスタに分割することで、巨大な 1つのクラス

タを構築する機能である。サブクラスタごとに ResourceManagerを持つことでボトルネックを無くす

ことでスケールアウトが可能となった。現状では 4万ノードで構成された Federation クラスタが存在

するという。

➢ ユーザビリティ向上

Web UIが改善され、リソース使用率の円グラフ表示などが可能となった。

YARNの Web UI3

➢ コンテナ対応

YARN 上での Dockerコンテナ実行が可能となった。

➢ リソースサポート

今までは CPU コア数とメモリ量しか割り当てられなかったが、新たに GPU と FPGA の割り当てが

可能となった。現状、FPGA は Intel OpenCL SDK for FPGA のみサポートしている。

➢ サービスサポート

HBaseや Hive LLAP などを Dockerコンテナ化して、YARN上で常駐サービスとして実行できるよう

になった。また、YARN上で YARN を動かす(YARN on YARN)ことが可能となり、1つの YARN ク

ラスタ上で複数の Hadoopクラスタを稼働させる構成が可能となった。

3 出展: https://www.slideshare.net/Hadoop_Summit/apache-hadoop-yarn-state-of-the-union-102835047

Page 8: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

8

Hadoop 3.2 以降では以下の機能追加が予定されている。

➢ Node Attributes

ノードに属性(ラベル)を付加して、特定の属性を持つノードのリソースを要求できる。例えば、JDK

10がインストールされたノードを要求する、ということが可能となる。

➢ コンテナのオーバーコミット

コンテナにリソースを割り当てても全てが使われるとは限らないため、それを見越してクラスタリ

ソースの上限を超えるリソース割り当て(オーバーコミット)を行うことができる。

➢ Auto-spawning of system services

YARN でサービスを起動する際に、依存関係のあるサービスを自動起動する。例えば、ATSv2 を起動

する際には内部で使用する HBaseも一緒に起動する、ということが可能となる。

➢ TensorFlow on YARN

TensorFlow 1.8をサービスとして実行可能となる。

Accelerating query processing with materialized views in Apache Hive (Hortonworks)

Hive 3.0ではマテリアライズドビューがサポートされ、集約や結合処理の高速化が可能となった。マテ

リアライズドビューは通常のビューと違い、クエリの結果を実際のテーブルのようにキャッシュしてお

くため、高速な参照が可能となる。また、キャッシュされたデータは元のテーブルが変更されるたびに更

新されるため、通常のビューのように最新に近いデータを参照できる。なお、キャッシュしたクエリ結果

の保存先には、Hiveの他に Druidも選択できる。

Hiveの Cost Based Optimizer (CBO)では、Apache Calcite というデータ管理のフレームワークを用いて、

テーブルの統計情報を元にクエリの実行計画を生成している。マテリアライズドビューのクエリも同様

に、Calciteで最適化して書き換えることで高速化を行っている。

Page 9: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

9

Metrics-driven tuning of Apache Spark at scale (LinkedIn)

LinkedIn のクラスタ上では多数のユーザが様々な Spark アプリケーションを実行するが、Spark のチュ

ーニングは難しいため、一部のユーザがクラスタリソースを無駄に占有してしまうことがある。しかし、

1 日に数千件も実行される個々の Sparkアプリケーションを専門家がチューニングすることは難しい。そ

こで、クラスタ上で実行される Spark アプリケーションの性能問題を特定して、ユーザに対してチューニ

ングのアドバイスを行う Dr. Elephantというシステムを開発した。

Dr. Elephantは、Spark History Server を活用してアプリケーションメトリクスを収集して、ユーザに対

して最適なメモリ設定などを提示する。そしてチューニングが完了した Spark アプリケーションのみを

本番環境に導入することで、本番環境のクラスタの健全性を維持することができる。

Druid and Hive together: interactive realtime analytics at scale (Hortonworks)

Druid はリアルタイムデータの分析に使用される分散データストアである。Druid は Metamarkets 社が

2011年に公開して 2012年に OSS 化され、2018年から Apache incubatingプロジェクトとなった。2018年

6 月 21日時点の最新バージョンは 0.12.1であり、次のリリース(0.13)が Apache版の最初のリリースと

なる。Druid はリアルタイムデータに対する OLAP クエリの実行に特化しており、REST APIで SQLによ

るデータアクセスが可能である。Druid は HDP にも含まれており、Hive が苦手とするストリーミングデ

ータの取り込みと検索に Druid を使用できる。近年 Hive と Druid の連携が強化されており、Druid のデー

タに対して Hiveテーブルとインデクスを定義して、Hive から直接 Druid のデータを参照することが可能

となった。

Ozone: scaling HDFS to trillions of objects (Hortonworks)

Ozone は HDFS のサブプロジェクトであり、従来の HDFS が苦手とする大量の小さなファイルを扱う

ためのオブジェクトストアである。Ozone は AWS の S3 に似たオブジェクトストアであり、OzoneFS と

いう HDFS 互換のファイルシステムを経由することで、既存の Hive、Spark、YARN、MapReduceアプリ

ケーションに変更を加えることなく使用できる。

Page 10: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

10

Ozone は HDFS 上に構築されたものではなく、Hadoop Distributed Data Store (HDDS)という別のストレ

ージレイヤーを使用する。HDDS は以下の 2 種類のコンポーネントで構成され、データをコンテナとい

う単位で管理する。

⚫ DataNode:

従来のHDFSの DataNode内に実装され、データを 2-16GB程度のコンテナという単位で保持す

る。コンテナはHDFSと同様に 3ノードに複製されるが、HDDSはデータの複製に Apache Ratis

の Raftコンセンサスアルゴリズムを使用しており、複製中のノード障害によるデータ不整合の発

生を抑えることができる。

⚫ Storage Container Manager (SCM):

DataNodeの監視と、コンテナの配置およびレプリケーション管理を行う。

HDDS には、HDFS の NameNode が行うようなネームスペースの管理機能は含まれていない。そのた

め、Ozoneでは HDDS とは別に、ネームスペースを管理するための Ozone Managerが存在する。Ozoneの

ネームスペースはキーバリュー型であり、ボリューム、バケット、オブジェクト(キーバリュー)の 3階

層で構成される。

なお、HDDS をベースにした新しい HDFS(の NameNode)や、Quadra という HDDS ベースのブロッ

クストレージも開発中である。

Ozone へのデータアクセス時は、Ozone クライアントが Ozone Manager にアクセス先を問い合わせ、

Ozone Managerは SCMからアクセス先のコンテナの場所を取得し、クライアントに返す。その後、クラ

イアントは対象のコンテナを持つ DataNodeに直接アクセスする。

Page 11: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

11

Transactional operations in Apache Hive: present and future (Hortonworks)

Hiveではバージョン 0.14 からトランザクショナルテーブルの機能が追加された。トランザクショナル

テーブルを使用することでレコード単位の ACID トランザクションが可能となる。バージョン 3.0ではト

ランザクショナルテーブルの機能が強化され、パーティションの追加などが可能となった。

通常の Hive テーブルでは、レコードの追加(INSERT)は可能だが更新(UPDATE)はできず、削除

(DELETE)はパーティション(ディレクトリ)単位でしかできない。一方、トランザクショナルテーブ

ルではレコード単位の追加・更新・削除が可能である他、あるテーブルのレコードを別のテーブルに統合

する MERGE 文もサポートしている。ただし、複数の操作にまたがるトランザクション(BEGIN、COMMIT、

ROLLBACK)はまだ提供していない。また、内部テーブルでしか使用できない、ファイルフォーマット

に ORC を使用する必要がある、テーブルのレコードをソートできない、といった制限がある。

トランザクショナルテーブルにおけるレコードの操作は差分ファイルに記録され、バッググラウンド

で定期的に実行するコンパクションによって、Hiveのデータファイルに反映される。

The columnar roadmap: Apache Parquet and Apache Arrow (WeWork)

Hadoop を中心としたビッグデータ関連 OSSでは、処理性能を向上させるために列指向のデータフォー

マットを使用することが多い。Parquetはディスク上の列指向ファイルフォーマットの 1つであり、Hadoop

を含む多くの OSS で使用されている。一方 Arrowはメモリ上の列指向フォーマットであり、Hadoopを含

む 13以上の OSSにおいて導入が進められている。

Page 12: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

12

両者は共に列指向フォーマットであるが目的が異なる。Parquet はディスク上の長期的なデータ格納を

目的としており、幅広いクエリに対する実行性能(検索性能)、ディスク I/O スループット、シーケンシ

ャルアクセス性能を重視している。一方 Arrow はメモリ上の一時的なデータ格納を目的としており、特

定のクエリに対する実行性能、CPUスループット、ランダムアクセス性能を重視している。

また、Arrowはデータフォーマットの共通化を目的としており、これによりシステム間でデータを受け

渡す際のシリアライズ/デシリアライズのオーバーヘッドを無くすことができる。例えば、クエリエンジ

ンである ImpalaからストレージエンジンであるKuduにアクセスする場合、Kuduがスキャン結果をArrow

フォーマットで返すことで、Impalaはそれをデシリアライズすることなくメモリ上で処理できる。

Page 13: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

13

Why and how to leverage the simplicity and power of SQL on Flink (data Artisans)

Flink は並列分散処理フレームワークの一つであり、Spark と同様にバッチ処理とストリーム処理の両

方を実行できる。近年 Flink は SQL によるデータ処理に注力しており、バッチ処理とストリーム処理を

同じクエリで記述することができる。例えばストリームデータを集約するクエリを実行すると、最新の

時点までの全データに対する集約結果がテーブルに格納され、集約結果はリアルタイムかつ継続的に更

新されていく。2018年 5月 25日にリリースされた Flink 1.5.0 では、バッチおよびストリームデータに対

して探索的なクエリを実行するためのインタフェースである Flink SQL Clientが追加された。

Data processing at the speed of 100 Gbps@Apache Crail (Incubating)

Crail は高性能なネットワークとストレージデバイス向けに設計された分散データストアである。元々

は IBM で開発されていたが、2017 年から Apache incubating プロジェクトとなった。Crail は複数のスト

レージバックエンド(DRAM、NVMe Flash、3D XPoint)、およびネットワークプロトコル(RDMA、TPC

ソケット)をサポートしており、ハードウェアの帯域をほぼ上限まで使い切ることができる。

また、Crail はデータストアの他にも Spark 用の処理モジュールを提供している。このモジュールには

独自のシャッフルエンジン・ブロードキャストエンジンが実装されており、高速なネットワーク転送が

可能となる。このモジュール自体は Crail のデータストアだけでなく、HDFS と組み合わせて使用するこ

ともできる。

100 Gbpsのネットワーク環境でデータストアに HDFS を使用した際の性能検証では、Crailの Spark用

モジュールを使用することで、通常の Spark と比較して TeraSortを 6倍の速さで実行できた。このモジュ

ールを使用することで、GroupByクエリのシャッフル処理が 2-5倍ほど高速化されたほか、ブロードキャ

スト処理のレイテンシが 1ms から 10usに短縮され 100 倍ほど高速化された。

Page 14: DataWorks Summit San Jose 2018ossforum.jp/jossfiles/DataWorks Summit San Jose 2018イベント参 … · Hadoop の開発の最新動向については、最近リリースされたHadoop

14

※ Apache Hadoop、Apache Spark、Apache Hive、Apache Flink、Apache Crail、Apache Parquet、Apache Arrow、Apache Druid、Apache Ozone、

Apache Ratis、Apache Calciteは、Apache Software Foundation の米国およびその他の国における登録商標または商標です。

※ Cloudera、CDHは、Cloudera Inc.の米国およびその他の国における登録商標または商標です。

※ Hortonworks、HDPは、Hortonworks, Inc の米国およびその他の国における登録商標または商標です。

※ HITACHIは、株式会社 日立製作所の商標または登録商標です。

※ その他記載の会社名、製品名などは、それぞれの会社の商標もしくは登録商標です。

© Hitachi, Ltd. 2018. All rights reserved.