Amazon Web Services ブログ

Category: Amazon EMR

Amazon EMR の伸縮性と回復力を高めるための Spark の機能強化

お客様は Amazon EMR の伸縮性を利用して、ワークフローが完了したとき、またはより軽いジョブを実行するときにクラスターをスケールしてコストを節約しています。これは、低コストの Amazon EC2 スポットインスタンスでクラスターを起動する場合も同様です。 Amazon EMR の Automatic Scaling 機能により、お客様はクラスターの使用状況やその他のジョブ関連のメトリックスに基づいて、クラスターを動的にスケーリングできます。これらの機能は、リソースを効率的に使用するのに役立ちますが、実行中のジョブの途中で EC2 インスタンスがシャットダウンすることもあります。これにより、計算とデータが失われる可能性があり、それがジョブの安定性に影響を与えたり、再計算による重複作業を招いたりする可能性があります。 実行中のジョブに影響を与えずにノードを適切にシャットダウンするために、Amazon EMR は Apache Hadoop の廃止メカニズムを使用しています。このメカニズムは Amazon EMR チームが開発し、コミュニティに還元したものです。これはほとんどの Hadoop ワークロードではうまく機能しますが、Apache Spark ではそれほどうまくいきません。Spark は現在、ノードの損失に対処する際、さまざまな問題点に直面しています。これにより、失われたタスクやデータをリカバリおよび再計算しようとしてジョブが停滞したり、場合によってはジョブがクラッシュしたりすることもあります。Spark の未解決問題のいくつかについての詳細は、以下のリンクを参照してください。 フェッチのエラーに関連した問題 シャットダウン中のノードを追跡し、それらのノードに対するタスクのスケジューリングを回避する これらの問題のいくつかを回避し、お客様が Spark を使用して Amazon EMR の伸縮性機能を最大限に活用できるようにするために、Amazon EMR では、オープンソースの Spark をカスタマイズしてノードの損失に対する回復力を高めることができます。再計算は最小限に抑えられ、ジョブはノードのエラーおよび EC2 インスタンスの終了からより迅速にリカバリできます。これらの改善点は、Amazon EMR リリースバージョン 5.9.0 以降で反映されています。 このブログ記事では、問題に対処するためにオープンソースの Spark でノードの損失に対処する方法と、Amazon EMR の改善にまつわる問題点の概要について説明します。

Read More

Amazon EMR で Apache Atlas を使用して、メタデータの分類、系統および発見を行う

  今日の世界ではデータの役割が絶えず進化し、増大しているため、データガバナンスが効果的にデータを管理する上で重要な側面となっています。多くの組織は、データレイクを単一のリポジトリとして使用して、組織の事業体に属するデータをさまざまな形式で格納しています。メタデータ、カタログ化、およびデータ系統の使用は、データレイクを効果的に使用する上で鍵をにぎります。 この記事では、Amazon EMR にインストールされた Apache Atlas がこれを行う上でどのように機能するかについて説明します。この設定を使用すると、データを動的に分類し、さまざまなプロセスを経る際にデータの系統を表示できます。この一部として、Atlas のドメイン固有言語 (DSL) を使用してメタデータを検索できます。 Amazon EMR と Apache Atlas の紹介 Amazon EMR は、Apache Hadoop や Spark などのビッグデータフレームワークの実装を簡素化するマネージドサービスです。Amazon EMR を使用している場合、定義済みのアプリケーションセットから選択するか、リストから独自のものを選択できます。 Apache Atlas は、Hadoop のエンタープライズ規模のデータガバナンスおよびメタデータフレームワークです。Atlas は、組織がデータ資産のカタログを作成するためのオープンなメタデータ管理およびガバナンス機能を提供します。Atlas は、データがどのように進化したかを表す、ストレージ系統を含むデータ分類をサポートしています。また、重要な要素とそのビジネス定義を検索する機能も提供します。 Apache Atlas が提供するさまざまな機能の中でもとりわけこの記事で関心を寄せる中核的な機能は、Apache Hive のメタデータ管理とデータ系統です。Atlas のセットアップが成功したら、ネイティブツールを使用して Hive テーブルをインポートし、データを分析して直感的にエンドユーザーにデータ系統を提示します。Atlas とその機能の詳細については、Atlas のウェブサイトをご覧ください。 AWS Glue Data Catalog 対Apache Atlas AWS Glue Data Catalog は、さまざまなデータソースとデータ形式にわたる統一されたメタデータリポジトリを提供します。AWS Glue Data […]

Read More

Apache Spark および Hadoop を Amazon EMR に移行してコストを削減

Apache Spark および Hadoop は、分析用のデータ処理向けのフレームワークとして広く普及しています。レガシーアプローチと比較すれば、コストもほんのわずかな額で済みますが、それでもそのスケーリングとなると、依然として高くつくケースがあります。本記事では、TCO を削減し、かつ同時にスタッフの生産性を引き上げる方法について考察します。その実現を可能にするのは、オンプレミスのワークロードの Amazon EMR への移行、良いアーキテクチャの選択、リソースの消費量を削減するよう設計された機能の活用です。今回のアドバイスは、お客様との多数の事例から得た知見に基づいており、主な論点の多くは IDC の Carl Olofson および Harsh Singh が実施したビジネス価値の研究結果によっても検証されています。当該研究はアマゾン ウェブ サービス (AWS) が資金提供しており、IDC ホワイトペーパー「The Economic Benefits of Migrating Apache Spark and Hadoop to Amazon EMR」(2018 年 11 月) としてご覧いただけます。 それではまず、ヘッドラインとして統計データをいくつかご紹介して、Amazon EMR への移行が生むコスト面のプラスのインパクトをご説明します。IDC が調査した Amazon EMR のお客様 9 社では TCO が平均 57% 削減されました。同時に、5 年間の投資利益率の 342% 増しで、8 か月で投資を回収しました。この 9 […]

Read More

Amazon EMR を保護するベストプラクティス

どの業界でも、組織が機能する上で中心となるのは、データです。お客様とデータ戦略について話し合うとき、データの取り込み、保存、処理、分析、配布、最終的なデータを安全性について語ります。 Amazon EMR は、膨大な量のデータを処理するために使用するマネージド型 Hadoop フレームワークです。お客様が Amazon EMR を選ぶ理由の 1 つは、そのセキュリティ機能です。例えば、金融サービスなどの規制された業界や医療分野の FINRA のようなお客様は、データ戦略の一環として Amazon EMR を選びます。ペイメントカード業界データセキュリティ基準(PCI)や 医療保険の携行と責任に関する法律(HIPAA)など、エンティティからの厳しい規制要件に準拠するためのものです。 この記事では、Amazon EMR セキュリティの原則についていくつか説明します。また、Amazon EMR で使用できる機能についての説明は、ビジネスのセキュリティとコンプライアンスの目標を達成するのに役立ちます。使用している共通のセキュリティベストプラクティスについて取り上げます。また、開始するためのサンプル構成もいくつか示しています。詳しい情報については、「EMR管理ガイド」の「セキュリティ」を参照してください。

Read More

RStudio を実行するために Amazon EMR のエッジノードを立ち上げる

RStudio Server は R およびデータサイエンティストの間で人気のツールにブラウザベースのインターフェイスを提供します。データサイエンティストは分散型トレーニングを実行するために、Amazon EMR 上で実行する Apache Spark クラスターを使用します。前回のブログ記事では、著者が Amazon EMR クラスターに RStudio Server をインストールする方法を紹介しました。しかし、特定のシナリオでは、スタンドアロンの Amazon EC2 インスタンスにインストールし、リモートの Amazon EMR クラスターに接続するケースも考えられます。EC2 上で RStudio を実行することの利点としては次のようなものが考えられます。 EC2 インスタンス上で RStudio Server を実行することにより、インスタンス上に科学的モデルとモデルアーティファクトをそのまま保存できます。アプリケーションの要件を満たすために、EMR クラスターの再起動が必要になることがあります。RStudio Server を別途実行することで、柔軟性が向上し、Amazon EMR クラスターにすべて依存する必要がなくなります。 Amazon EMR のマスターノード上に RStudio をインストールするには、同一ノード上で稼動しているアプリケーションとリソースを共有する必要があります。スタンドアロンの Amazon EC2 インスタンス上で RStudio を実行することで、他のアプリケーションとリソースを共有する必要なく、リソースを使用できるようになります。 ご使用の環境に複数の Amazon EMR クラスターをお持ちの方もおいでかと思います。エッジノードに RStudio を配置すると、ご使用の環境で任意の EMR クラスターに接続できるという柔軟性が得られます。 Amazon EMR […]

Read More

Amazon EMR クラスター上でストレージを動的にスケールアップする

Amazon EMR クラスターのような管理された Apache Hadoop 環境では、クラスター上のストレージ容量がいっぱいになると、それに対処する便利なソリューションはありません。この状況は、クラスター起動時に、Amazon Elastic Block Store (Amazon EBS) ボリュームを設定し、マウントポイントを設定するために発生します。そのため、クラスタの実行後にストレージ容量を変更することは困難になります。これに適したソリューションとしては、通常 、クラスターにさらにノードを追加し、データレイクにデータをバックアップしてから、より大きな記憶容量を持つ新しいクラスターを起動する方法があります。または、ストレージを占有するデータを消去してもよい場合は、通常、余分なデータを削除するという方法があります。 Amazon EMR で管理可能な方法により、この問題に対処する際の役に立つ、Amazon EBS のElastic Volumes 機能を使用してストレージを動的にスケールアップする方法を説明します。この機能で、ボリュームの使用中に、ボリュームサイズを増やしたり、パフォーマンスを調整したり、ボリュームタイプを変更することができます。変更が有効になっている間も、EMR クラスターを継続使用して、大きなデータアプリケーションを実行できます。

Read More

Amazon EMRにおいてApache SparkによるADAMおよびMangoを使用したゲノムデータセットの探索的データ分析

ゲノムシーケンスのコストは急速に低下し、公的に利用可能なゲノムデータ量はここ数年間で上昇しています。新しいコホートおよび研究では、100,000を超える個人で構成される膨大なデータセットが生成されています。同時に、これらのデータセットは、各コホート向けの様々なデータの膨大な量を生成する人口の中で遺伝的変異を抽出するよう処理されています。 ビッグデータのこの時代において、Apache Spark のようなツールはラージデータセットのバッチ処理向けの使いやすいプラットフォームを提供してきました。ただし、現在のバイオインフォマティクスパイプラインへの十分な代替としてこのようなツールを使用するには、ゲノムデータ処理向けのアクセス可能かつ包括的なAPIが必要になります。さらに、これらの処理されたデータセットの相互探査向けのサポートも必要です。 ADAMおよびMangoは、Apache Sparkにおけるラージゲノムデータセットを処理、フィルタリング、視覚化するための統合環境を提供します。ADAMにより、Apache Spark内のデータを収集および選択するためのSpark SQL、SQLインターフェイスを使用して、未加工のゲノムおよび各種データをプログラム的にロード、処理、選択することができます。Mangoは、Jupyterノートパソコン環境において、未加工および収集されたゲノムデータの視覚化をサポートしています。複数の解像度のラージデータセットから結果を出すことができます。

Read More

Amazon EMR のサイズ変更とオートスケーリングのベストプラクティス

Amazon EMR で利用可能な動的なスケーリング機能を利用することで、費用を節約することができます。 クラスタ内のノード数を即座に増やしたり減らしたりスケールする機能は、Amazon EMR を弾力的にする主要な機能の1つです。 EMR のスケーリング機能を使うことで,負荷がほとんどまたはまったくない時にクラスターのサイズを小さく変更することができます。 また、ジョブが非常に遅くなった場合に処理能力を追加するために、クラスターのサイズを大きくすることもできます。 これによりあなたのジョブを少し余裕を持たせた上でカバーするのに必要十分なコストを使うことが出来ます。 この機能の背後にある複雑なロジックを知ることで、クラスタのコストを節約することができます。この記事では、EMR クラスターのサイズをどのように変更するかを詳しく説明し、この機能を使用してあなたのクラスタのコストを削減し最大限のメリットを得るためのベストプラクティスを紹介します。 EMR スケーリングは、単にノードをクラスタに追加または削除するより複雑です。よくある誤解の1つは、Amazon EMR のスケーリングは Amazon EC2 のスケーリングとまったく同じように動くということです。 EC2 スケーリングを使用すると、ノードをほぼ即時に、かつ心配なく追加/削除できますが、EMR では複雑さが増します(特にクラスタを縮小する場合)。これは重要なデータがノード上にあったり,ジョブがノード上で実行していたりする可能性があるためです。 データロストを防ぐため、Amazon EMR スケーリングでは、実行中の Apache Hadoop タスクや、ノードを削除する前に失われる可能性のある一意のデータがノードに存在しないことが保証されます。 EMR クラスタのサイズ変更する際にはデコミッションの遅延を考慮する必要があります。このプロセスがどのように機能するかを理解することによって、遅いクラスタのサイズ変更や非効率なオートスケーリングのポリシーなど、他の人が悩まされていた問題を回避できます。 EMR クラスタが縮小されると、終了するノードで2つの異なるデコミッションプロセスがトリガされます。最初のプロセスは、Hadoop リソースマネージャである Hadoop YARN のデコミッションです。 Amazon EMR にサブミットされる Hadoop タスクは一般的に YARN を通じて実行されるため、EMR はノードを削除する前に実行中の YARN タスクが完了していることを保証する必要があります。何らかの理由で YARN タスクがスタックした場合、デコミッショニングを緩やかに終了することを確実にする設定可能なタイムアウトがあります。このタイムアウトが発生すると、YARN タスクは終了し、タスクが正常に完了できるように別のノードに再スケジュールされます。 2番目のデコミッションプロセスは、HDFS(Hadoop Distributed File System)のデコミッションプロセスです。 HDFSは、HDFSを実行している任意のノード上の EMR […]

Read More

Amazon EMR で TLS カスタム証明書プロバイダーを使用して転送中のデータを暗号化する

多くの企業は、クラウド セキュリティのポリシーを厳格に規制しています。機密データが処理される Amazon EMR の場合、これらのポリシーはより厳しくなる可能性があります。 EMR で提供されているセキュリティ構成を使用すると、Amazon S3 およびローカルの Amazon EBS ボリュームに保存されているデータの暗号化を設定できます。また、転送中のデータの暗号化用に Transport Layer Security (TLS) 証明書を設定することもできます。 転送時の暗号化を有効にした場合、EMR は次のコンポーネントをデフォルトでサポートします。 Hadoop MapReduce 暗号化シャッフル。 「プライバシー」に設定されている セキュア Hadoop RPC および SASL の使用。これは、保管時のデータの暗号化を有効にしたときに、EMR 内でアクティブになります。 「プライバシー」に設定されている セキュア Hadoop RPC および SASL の使用。これは、セキュリティ構成内で保存済みのデータの暗号化が有効な場合に、EMR 内でアクティブになります。 SSL/TLS を使用した、Presto のノード間の内部通信。これは、EMR バージョン 5.6.0 以降にのみ当てはまります。 TLS を使用する Tez Shuffle Handler。 Apache Spark 間の内部 RPC 通信 Spark […]

Read More

[AWS Black Belt Online Seminar] データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法 資料及び QA 公開

こんにちは、マーケティングの鬼形です。 先日 (2018/6/19) 開催しました AWS Black Belt Online Seminar「データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法 from Amazon Web Services Japan PDF Q. RDSからGlueでData Catalogを作成する際、負荷などかかるのでしょうか?分析用にユーザ操作から切り離したほうが良いのか?気にしなくて良いのかを知りたいです。 A. RDS をクロールする際、スキーマ取得のため Connection を使用します。瞬間的な処理にはなりますが、Connection が使用される点に留意いただき、検証の実施と実行タイミングの検討をお願いいたします。 Q. ベストプラクティス 2/5, 3/5 で説明されていた Parquetを使用した場合のメトリクスはRedshift Spectrum ではなく、Athenaを使用している場合に同様の情報を知ることは可能でしょうか。 A. Athena では同様の情報を確認いただくことができません。 以上です。 今後の AWS Black Belt Online Seminar のスケジュール 直近で以下のオンラインセミナーを予定しています。各オンラインセミナーの詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております! […]

Read More