Azure HDInsight 4.0 の概要Azure HDInsight 4.0 overview

Azure HDInsight は、Azure 上でオープンソースの Apache Hadoop および Apache Spark の分析を行う、エンタープライズのお客様の間で最も人気のあるサービスの 1 つです。Azure HDInsight is one of the most popular services among enterprise customers for open-source Apache Hadoop and Apache Spark analytics on Azure. HDInsight 4.0 は、Apache Hadoop コンポーネントのクラウド ディストリビューションです。HDInsight 4.0 is a cloud distribution of Apache Hadoop components. この記事では、Azure HDInsight の最新のリリースとアップグレード方法に関する情報を提供します。This article provides information about the most recent Azure HDInsight release and how to upgrade.

HDInsight 4.0 の新機能What's new in HDInsight 4.0?

Apache Hive 3.0 と LLAPApache Hive 3.0 and LLAP

Apache Hive LLAP (低遅延分析処理) では、永続的クエリ サーバーとメモリ内キャッシュを使用して、リモート クラウド ストレージ内のデータの SQL クエリ結果がすばやく提供されます。Apache Hive low-latency analytical processing (LLAP) uses persistent query servers and in-memory caching to deliver quick SQL query results on data in remote cloud storage. Hive LLAP では、Hive クエリのフラグメントを実行する永続的なデーモンのセットが利用されます。Hive LLAP leverages a set of persistent daemons that execute fragments of Hive queries. LLAP でのクエリの実行は、コンテナーではなく LLAP デーモン内でワーカー タスクが実行している、LLAP を使用しない Hive と似ています。Query execution on LLAP is similar to Hive without LLAP, with worker tasks running inside LLAP daemons instead of containers.

Hive LLAP の利点は次のとおりです。Benefits of Hive LLAP include:

  • 複雑な結合、サブクエリ、ウィンドウ関数、並べ替え、ユーザー定義関数、複雑な集計などのディープ SQL 分析を、パフォーマンスとスケーラビリティを損なうことなく実行できます。Ability to perform deep SQL analytics, such as complex joins, subqueries, windowing functions, sorting, user-defined functions, and complex aggregations, without sacrificing performance and scalability.

  • データが準備された場所と同じストレージ内のデータに対する対話型クエリにより、分析処理のためにストレージから別のエンジンにデータを移動する必要がありません。Interactive queries against data in the same storage where data is prepared, eliminating the need to move data from storage to another engine for analytical processing.

  • クエリの結果をキャッシュすることで、前に計算されたクエリの結果を再利用でき、クエリに必要なクラスター タスクの実行に費やされる時間とリソースを節約できます。Caching query results allows previously computed query results to be reused, which saves time and resources spent running the cluster tasks required for the query.

Hive の動的な具体化されたビューHive dynamic materialized views

Hive は、データ ウェアハウスでのクエリ処理を高速化するために使用される、動的な具体化されたビュー、つまり関連するサマリーの事前計算をサポートします。Hive now supports dynamic materialized views, or pre-computation of relevant summaries, used to accelerate query processing in data warehouses. 具体化されたビューは Hive にネイティブに格納でき、LLAP アクセラレーションをシームレスに使用できます。Materialized views can be stored natively in Hive, and can seamlessly use LLAP acceleration.

Hive トランザクション テーブルHive transactional tables

HDI 4.0 に含まれる Apache Hive 3 では、Hive ウェアハウス内に存在するトランザクション テーブルに対して、原子性、一貫性、分離性、持続性 (ACID) への対応が要求されます。HDI 4.0 includes Apache Hive 3, which requires atomicity, consistency, isolation, and durability (ACID) compliance for transactional tables that reside in the Hive warehouse. ACID に準拠しているテーブルおよびテーブルのデータは、Hive によってアクセスされて管理されます。ACID-compliant tables and table data are accessed and managed by Hive. 作成、取得、更新、削除 (CRUD) テーブル内のデータは Optimized Row Column (ORC) ファイル形式である必要がありますが、挿入のみのテーブルはすべてのファイル形式をサポートします。Data in create, retrieve, update, and delete (CRUD) tables must be in Optimized Row Column (ORC) file format, but insert-only tables support all file formats.

  • ACID v2 では、ストレージ形式と実行エンジンの両方でパフォーマンスが向上していますACID v2 has performance improvements in both storage format and the execution engine.

  • データの更新を完全にサポートできるよう、ACID は既定で有効になります。ACID is enabled by default to allow full support for data updates.

  • 向上した ACID 機能により、行レベルでの更新および削除が可能です。Improved ACID capabilities allow you to update and delete at row level.

  • パフォーマンスのオーバーヘッドはありません。No Performance overhead.

  • バケット処理は必要ありません。No Bucketing required.

  • Spark は、Hive Warehouse Connector を介して、Hive ACID テーブルを読み書きできます。Spark can read and write to Hive ACID tables via Hive Warehouse Connector.

詳しくは、Apache Hive 3 に関するページをご覧ください。Learn more about Apache Hive 3.

Apache SparkApache Spark

Apache Spark は、Hive Warehouse Connector を使用して更新可能なテーブルと ACID トランザクションを取得します。Apache Spark gets updatable tables and ACID transactions with Hive Warehouse Connector. Hive Warehouse Connector を使用すると、Spark で外部テーブルとして Hive トランザクション テーブルを登録でき、完全なトランザクション機能にアクセスできます。Hive Warehouse Connector allows you to register Hive transactional tables as external tables in Spark to access full transactional functionality. 以前のバージョンでは、テーブル パーティションの操作のみがサポートされていました。Previous versions only supported table partition manipulation. また、Hive Warehouse Connector は、Spark からトランザクションおよびストリーミング Hive テーブルの読み書きをストリーミングするための Streaming DataFrames もサポートしています。Hive Warehouse Connector also supports Streaming DataFrames for streaming reads and writes into transactional and streaming Hive tables from Spark.

Spark Executor は、Hive LLAP デーモンに直接接続してトランザクション方式でデータを取得および更新することができ、Hive でデータの制御を維持できます。Spark executors can connect directly to Hive LLAP daemons to retrieve and update data in a transactional manner, allowing Hive to keep control of the data.

HDInsight 4.0 上の Apache Spark では、次のシナリオがサポートされています。Apache Spark on HDInsight 4.0 supports the following scenarios:

  • レポートに使用されるのと同じトランザクション テーブルで機械学習モデルのトレーニングを実行します。Run machine learning model training over the same transactional table used for reporting.
  • ACID トランザクションを使用して、Spark ML から Hive テーブルに列を安全に追加します。Use ACID transactions to safely add columns from Spark ML to a Hive table.
  • Hive ストリーミング テーブルからの変更フィードで Spark ストリーミング ジョブを実行します。Run a Spark streaming job on the change feed from a Hive streaming table.
  • Spark Structured Streaming ジョブから直接、ORC ファイルを作成します。Create ORC files directly from a Spark Structured Streaming job.

誤って Spark から直接 Hive トランザクション テーブルにアクセスを試み、矛盾した結果、重複したデータ、データの破損が発生するのを心配する必要はもうありません。You no longer have to worry about accidentally trying to access Hive transactional tables directly from Spark, resulting in inconsistent results, duplicate data, or data corruption. HDInsight 4.0 では、Spark のテーブルと Hive のテーブルは、個別の metastore に保持されます。In HDInsight 4.0, Spark tables and Hive tables are kept in separate Metastores. Hive トランザクション テーブルを Spark 外部テーブルとして明示的に登録するには、Hive Data Warehouse Connector を使用します。Use Hive Data Warehouse Connector to explicitly register Hive transactional tables as Spark external tables.

詳しくは、Apache Spark に関するページをご覧ください。Learn more about Apache Spark.

Apache OozieApache Oozie

HDI 4.0 に含まれる Apache Oozie 4.3.1 では以下の点が変更されています。Apache Oozie 4.3.1 is included in HDI 4.0 with the following changes:

  • Oozie では、Hive アクションが実行されなくなりました。Oozie no longer runs Hive actions. Hive CLI は削除され、BeeLine に置き換えられています。Hive CLI has been removed and replaced with BeeLine.

  • job.properties ファイルに除外パターンを含めることによって、共有ライブラリから不要な依存関係を除外できます。You can exclude unwanted dependencies from share lib by including an exclude pattern in your job.properties file.

詳しくは、Apache Oozie に関するページをご覧ください。Learn more about Apache Oozie.

HDInsight 4.0 にアップグレードする方法How to upgrade to HDInsight 4.0

他のメジャー リリースと同様に、運用環境に最新バージョンを実装する前に、コンポーネントを徹底的にテストすることが重要です。As with any major release, it's important to thoroughly test your components before implementing the latest version in a production environment. HDInsight 4.0 を指定してアップグレード プロセスを開始できますが、不慮の事故を防ぐため、HDInsight 3.6 が既定のオプションです。HDInsight 4.0 is available for you to begin the upgrade process, but HDInsight 3.6 is the default option to prevent accidental mishaps.

以前のバージョンの HDInsight から HDInsight 4.0 へのアップグレード パスはサポートされていません。There's no supported upgrade path from previous versions of HDInsight to HDInsight 4.0. metastore と BLOB のデータ形式が変更されたため、HDInsight 4.0 は以前のバージョンと互換性がありません。Because Metastore and blob data formats have changed, HDInsight 4.0 isn't compatible with previous versions. 新しい HDInsight 4.0 環境を現在の運用環境から分離しておくことが重要です。It's important that you keep your new HDInsight 4.0 environment separate from your current production environment. HDInsight 4.0 を現在の環境にデプロイする場合、metastore がアップグレードされて、元に戻すことはできません。If you deploy HDInsight 4.0 to your current environment, your Metastore will be upgraded and can't be reversed.

制限事項Limitations

  • HDInsight 4.0 では、Apache Hive 用 MapReduce はサポートされていません。HDInsight 4.0 doesn't support MapReduce for Apache Hive. 代わりに Apache Tez を使用してください。Use Apache Tez instead. 詳しくは、Apache Tez に関するページをご覧ください。Learn more about Apache Tez.
  • HDInsight 4.0 では Apache Storm がサポートされていません。HDInsight 4.0 doesn't support Apache Storm.
  • HDInsight 4.0 では、Hive ビューは使用できなくなります。Hive View is no longer available in HDInsight 4.0.
  • Apache Zeppelin のシェル インタープリターは、Spark および対話型クエリ クラスターではサポートされていません。Shell interpreter in Apache Zeppelin isn't supported in Spark and Interactive Query clusters.
  • Spark-LLAP クラスターでは LLAP を "無効にする" ことはできません。You can't disable LLAP on a Spark-LLAP cluster. LLAP をオフにすることだけができます。You can only turn LLAP off.
  • Azure Data Lake Storage Gen2 では、Jupyter Notebook を Spark クラスターに保存できません。Azure Data Lake Storage Gen2 can't save Juypter notebooks in a Spark cluster.

次の手順Next steps