本ページでは、リリースされた EMR 3.22.0 バージョンの概要について説明します。これには、リリース日、コンポーネントのアップグレード、新機能、更新が含まれます。

リリース日

2019 年 7 月 28 日

新機能

  • Kudu
    • 新しいコンポーネントである Kudu が追加されました。 Kudu は Hadoop エコシステムを補足するものです。 Kudu では、HBase のような高速データ挿入およびランダムアクセスが提供され、ユーザーがデータを変更できるようになります。 また、Kudu には HDFS 上の Parquet ファイルの照会と同様の超大規模データ分析および照会機能も含まれています。
      • Kudu では、二次開発用の C ++ および Java API が提供されます。
      • Kudu では、Impala、Spark、および Hive Metastore の統合がサポートされています。
    • EMR-3.22.0 の Kudu コンポーネントは、オープンソースの Apache Kudu 1.10.0 に基づいています。
  • OpenLDAP
    • 新しいコンポーネントである OpenLDAP が追加され、以前のコンポーネントである ApacheDS が置き換えられます。
    • 高可用性が提供されます。

コンポーネントのアップグレード

  • ZooKeeper

    バージョン 3.5.5 にアップグレードされました。

  • Presto

    バージョン 0.221 にアップグレードされました。

  • Bigboot

    バージョン 2.0.0 にアップグレードされました。

更新

  • JindoFileSystem
    • 複数のストレージモード
      • ブロックモード: データは、バックエンドのオブジェクトストレージサービス (OSS) のブロックに保存されます。 ローカルの名前空間は、メタデータを維持するために使用されます。 ブロックモードでは、キャッシュモードよりも優れたメタデータおよびデータパフォーマンスが提供されます。 ブロックモードには、WARM (1 つのローカルレプリカ + OSS 内の 1 つのレプリカ)、COLD (OSS 内の 1 つのレプリカのみ)、HOT (複数のローカルレプリカ + OSS 内の 1 つのレプリカ)、TEMP (1 つのローカルレプリカのみ)、ALL_HDD (複数のローカルレプリカ) などの複数のストレージポリシーが含まれます。 デフォルトのストレージポリシーは WARM です。 さまざまなシナリオで、ディレクトリに異なるストレージポリシーを設定できます。
      • キャッシュモード: このモードは、OSS の既存のデータストレージパターンと互換性があります。 キャッシュモードでは、ファイルはオブジェクトとして OSS に保存されます。 各ファイルのデータおよびメタデータは、実際の状況に基づいてローカルにキャッシュされるため、データおよびメタデータのアクセスパフォーマンスが向上します。 キャッシュモードでは、さまざまなシナリオの要件を満たすように、異なるメタデータ同期ポリシーが提供されます。
    • 外部クライアント
      • クライアント SDK により、外部の E-MapReduce クラスターから E-MapReduce の JindoFileSystem へのアクセスが提供されます。 外部クライアントを使用して、ブロックモードで名前空間にアクセスできます。 ただし、外部クライアントを使用して、E-MapReduce クラスターの JindoFileSystem によってキャッシュされたデータにアクセスすることはできません。 さらに、外部クライアントを介してデータにアクセスするパフォーマンスは、E-MapReduce クラスター内のデータアクセスのパフォーマンスよりも劣ります。
      • キャッシュモードは、OSS ストレージの既存のセマンティクスと互換性があります。 JindoFileSystem により、E-MapReduce クラスターでのデータキャッシュが高速になります。 したがって、OSS クライアントを使用して、外部の E-MapReduce クラスターからデータに直接アクセスできます。 たとえば、OSS SDK または E-MapReduce の OSSFileSystem を使用して、外部からデータにアクセスできます。
    • エコシステムコンポーネント
      • 現在、JindoFileSystem では、Spark、Flink、Hive、MapReduce、Impala、Presto など、E-MapReduce のさまざまなコンピューティングエンジンがサポートされています。
      • データコンピューティングをデータストレージから分離する必要がある場合は、YARN コンテナーログや Spark イベントログなどのジョブログを JindoFileSystem に保存できます。
      • JindoFileSystem を HBase の HFile バックエンドストレージとして使用して、HBase のストレージ機能を強化できます。
  • OSSFileSystem
    • 不良ディスクを自動的に検出する機能を追加します。 この機能により、OSS にデータを書き込むときに、不良ディスクが原因で発生するキャッシュ書き込みエラーを修正できます。
    • OSSFileSystem の設定を完了します。
  • Bigboot
    • 複数の名前空間、ブロック内のローカルデータストレージ、複数のストレージモード、外部クライアントからのアクセスをサポートします。
    • サーバーの再起動時に Bigboot モニターのステータスが異常になる問題を修正します。
    • Kudu のサービス仕様を拡張します。
    • 各サービスの仕様の妥当性チェックをサポートします。
  • Hadoop
    • HDFS
      • HDFS フェデレーションに適合します。 カスタム設定または API を使用して HDFS フェデレーションクラスターを作成することで、2 度目のクラスターのフォーマットを回避できます。
      • 不良ディスク検出ロジックを最適化します。 ローカルディスクを使用している場合、dfsadmin コマンドによって DataNode BR がトリガーされるときに、システムで不良ディスクの検出を実行できます。
    • YARN
      • MapReduce ジョブコンテナーログが JindoFileSystem または OSS に保存されている場合に、MapReduce ジョブ履歴一覧が更新されない問題を修正します。
  • Spark
    • リレーショナルキャッシュ
      • 事前のコンピューティングによるデータ照会を高速化するためのリレーショナルキャッシュの使用をサポートします。 リレーショナルキャッシュを作成して、データを事前にコンピューティングできます。 データ照会中、Spark オプティマイザーは、適切なリレーショナルキャッシュを自動的に検出し、SQL 実行プランを最適化し、リレーショナルキャッシュに基づいてデータコンピューティングを継続します。 これにより照会速度が向上するため、レポート、ダッシュボード、データ同期、多次元分析などのさまざまなシナリオに適しています。
        • CACHE、UNCACHE、ALTER、SHOW などの演算を実行するためのデータ定義言語 (DDL) の使用をサポート。 リレーショナルキャッシュは、Spark のデータソースおよびデータ形式をすべてサポートしています。
        • 自動データ更新、REFRESH コマンドによる手動データ更新、およびリレーショナルキャッシュのパーティションベースの増分更新をサポートします。
        • リレーショナルキャッシュに基づく SQL 実行プランの最適化をサポートします。
    • ストリーミング SQL
      • Stream Query Writer のパラメーター設定を正規化します。
      • Kafka データテーブルのスキーマ互換性チェックを最適化します。
      • SchemaRegistry を使用して、スキーマを持たない Kafka データテーブル用にスキーマを自動的に登録します。
      • Kafka スキーマに互換性がない場合に記録されるログ情報を最適化します。
      • 照会結果を Kafka データテーブルに書き込む場合に、列の名前を明示的に指定する必要がある問題を修正します。
      • ストリーミング SQL 照会で Kafka および LogHub データソースのみがサポートされるという制限を廃止します。
    • Delta
      • Delta コンポーネントを追加します。 Delta の詳細については、こちらをクリックしてください。 Spark を使用して Delta データソースを作成し、ストリーミングデータの書き込み、トランザクションによる読み出しと書き込み、データ検証、およびデータバックトラッキングを実行できます。
        • データフレーム API 演算を呼び出して、Delta との間でデータを読み出しと書き込みができます。
        • Delta をデータソースまたはデータシンクとして使用することで、構造ストリーミング API 演算を呼び出してデータの読み出しと書き込みができます。
        • Delta API 演算を呼び出して、データを更新、削除、マージ、バキューム、最適化できます。
        • SQL ステートメントを使用して、Delta テーブルの作成、Delta へのデータのインポート、Delta テーブルからのデータの読み取りができます。
    • その他
      • (制約機能) 主キーおよび外部キーをサポート。
      • サーブレットの競合などの JAR の競合を解決。
  • Flink
    • Log4j ログローテーションをサポートします。
  • Kafka
    • Log4j ログローテーションをサポートします。
    • Fastjson をアップグレードします。
  • Zeppelin
    • 参照先 commons-lang3 パッケージをバージョン 3.7 にアップグレードして、PySpark が OSS にデータを書き込めない問題を修正します。 詳細は、こちらをクリックしてください。
  • Ranger
    • SHOW GRANTS コマンドをサポートします。
  • Analytics-zoo
    • Numpy インストールエラーを修正します。
  • Impala
    • Apache Kudu 1.10.0 との互換性があります。