Amazon Web Services ブログ

Category: AWS Big Data

Amazon EMR で Dr. Elephant と Sparklens を使って、Hadoop と Spark のパフォーマンスを調整する

 データエンジニアや ETL 開発者はさまざまなパラメータを使用しながら、かなりの時間を費やして Apache Spark ジョブを実行および調整し、パフォーマンスの評価を行うことがよくありますが、これは簡単ではなく、時間のかかる作業です。Dr.Elephant と Sparklens はワークロードをモニタリングしたり、推奨する変更を提案することで、Spark や Hive のアプリケーションの調整を支援し、必要とされるエグゼキューターノード、コアノード、ドライバーメモリおよび Hive (Tez または MapReduce) ジョブといったパフォーマンスパラメータをマッパー、レデューサー、メモリ、データスキューの構成で最適化します。Dr.Elephant はジョブメトリクスを収集し、そのメトリクス上で分析を行い、最適化のための推奨事項をシンプルに提示するため、使用や修正が簡単です。同様に Sparklens では、Spark アプリケーションとコンピューティングリソースのスケーラビリティの制限を簡単に把握できます。そのため、試行錯誤による方法ではなく明確に定義されたメソッドで効率的に実行でき、開発者の時間やコンピューティングに費やす時間を節約します。 この投稿は、Amazon EMR クラスターに Dr. Elephant と Sparklens をインストールし、ワークロードを実行して、これらのツールの機能を実証する方法をご紹介するためのものです。Amazon EMR は AWS が提供する Hadoop のマネージドサービスで、AWS で Hadoop やその他のオープンソースフレームワークを簡単かつコスト効率よく実行できます。 以下の図は、このソリューションのアーキテクチャを示しています。データエンジニアや ETL 開発者は Amazon EMR クラスターにジョブを送信し、Dr. Elephant と Sparklens ツールの推奨事項に基づいて、Spark アプリケーションとコンピューティングリソースを最適化し、パフォーマンスと効率を向上させることができます。 前提条件のステップ 新しい EMR クラスターの作成 Dr. […]

Read More

クライアントが API Gateway を使用した Apache Kafka との対話方法を管理する

そのうち、あなたは次のような疑問を抱くかも知れません。 Apache Kafka (MSK) の Amazon Managed Streaming に IAM 認証または承認を実装するには、どうすればよいですか? クラスターにクォータを設定せずに、特定のシナリオに基づいて急増するトラフィックから Apache Kafka クラスターを保護する方法を教えてください。 JSON スキーマに準拠したリクエストを検証する方法を教えてください。 URI、クエリ文字列、ヘッダーにパラメータが含まれていることを確認する方法を教えてください。 Amazon MSK で、エージェントまたはネイティブの Apache Kafka プロトコルを使用せずに、軽量クライアントにメッセージを取り込む方法を教えてください。 これらのタスクは、カスタムプロキシサーバーまたはゲートウェイを使用して実現できますが、これらのオプションを実装して管理するのは困難です。一方、API Gateway はこれらの機能を備えている完全マネージド型の AWS サービスです。 このブログ記事では、Amazon MSK クラスターとクライアント間のコンポーネントとして、Amazon API Gateway がこれらの質問にどう答えるかを示しています。 Amazon MSK は Apache Kafka 向けの完全マネージド型サービスで、サーバーをプロビジョニングしたり、ストレージを管理したり、Apache Zookeeper を手動で設定したりする必要なく、数回クリックするだけで Kafka クラスターを簡単にプロビジョニングできます。Apache Kafka は、リアルタイムストリーミングデータのパイプラインとアプリケーションを構築するためのオープンソースプラットフォームです。 一部のユースケースには、ネイティブの Kafka プロトコルをサポートしていない軽量 IoT デバイスからのメッセージの取り込みや、サードパーティー製 API を含む他のバックエンドサービスとストリーミングサービスの調整が含まれます。 このパターンには、次のトレードオフもあります。 […]

Read More

Apache Flink と Amazon Kinesis Data Analytics を使用した ETL のストリーミング

ほとんどの企業は、リアルタイムで増え続ける量のデータを継続的に生成します。データは、ユーザーがモバイルゲームをプレイし、ロードバランサーがリクエストをログに記録し、顧客がウェブサイトで買い物をし、IoT センサーの温度が変化する場合に生成されます。このデータを迅速に分析することで、時間に敏感なイベントを活用し、顧客体験を向上させ、効率を高め、イノベーションを促進できます。多くの場合、これらの洞察を得る速度は、データレイク、データストア、およびその他の分析ツールにデータをロードできる速度に依存します。データの量と速度が増加するにつれて、着信データをロードするだけでなく、ほぼリアルタイムで変換および分析することも重要になります。 この記事では、洗練されたストリーミング抽出・変換・ロード (ETL) パイプラインの基礎として Apache Flink を使用する方法について説明します。Apache Flink は、データストリームを処理するためのフレームワークおよび分散処理エンジンです。AWS は、Amazon Kinesis Data Analytics を介して Apache Flink に完全マネージド型サービスを提供します。これにより、洗練されたストリーミングアプリケーションを迅速かつ簡単に、運用オーバーヘッドを抑えて、構築および実行できます。 この記事では、Apache Flink と Kinesis Data Analytics を使用して強力で柔軟なストリーミング ETL パイプラインを実装するために必要な概念について説明します。また、さまざまなソースとシンクのコード例を調べます。詳細については、GitHub リポジトリを参照してください。リポジトリには AWS CloudFormation テンプレートも含まれているため、数分で開始し、サンプルのストリーミング ETL パイプラインを調べることができます。 Apache Flink で ETL をストリーミングするためのアーキテクチャ Apache Flink は、無限と有限のデータストリーム上のステートフルな計算のためのフレームワークおよび分散処理エンジンです。Apache Kafka、Amazon Kinesis Data Streams、Elasticsearch、Amazon Simple Storage Service (Amazon S3) のコネクタを含む、高度にカスタマイズ可能な幅広いコネクタをサポートしています。さらに、Apache Flink は、イベントを変換、集約、強化するための強力な API を提供し、1 […]

Read More

Verizon Media Group がオンプレミスの Apache Hadoop および Spark から Amazon EMR に移行した方法

Verizon Media Group によるゲスト投稿です。 Verizon Media Group (VMG) が直面した大きな問題の一つに、必要な時間内にコンピューティング能力をスケールアウトできないことがありました。つまり、ハードウェアの取得に数か月かかることがよくあったのです。ハードウェアをスケーリングおよびアップグレードしてワークロードの変更に対応することは、経済的に実行が難しく、冗長管理ソフトウェアのアップグレードにはかなりのダウンタイムが必要で、多大なリスクを伴いました。 VMG では、Apache Hadoop や Apache Spark などのテクノロジーに依存し、データ処理パイプラインを実行しています。以前は Cloudera Manager でクラスターを管理していましたが、リリースサイクルが遅いことがよくありました。そのため、利用可能なオープンソースリリースの古いバージョンを実行しなければならず、Apache プロジェクトの最新のバグ修正やパフォーマンスの改善を利用することができませんでした。こうした理由から、既存の AWSへの投資と合わせて、分散コンピューティングパイプラインを Amazon EMR に移行することを検討したのです。 Amazon EMR は Apache Hadoop や Apache Spark などのビッグデータフレームワークの実行をシンプル化する、マネージドクラスタープラットフォームです。 この投稿では、データ処理のニーズに対応するためのパイプラインの構築中に発生し、解決した問題について説明します。 弊社について Verizon Media はつまるところ、オンライン広告会社です。今日のほとんどのオンライン広告は、バナー広告またはビデオ広告としても知られるディスプレイ広告を通じて行われます。すべてのインターネット広告は通常、形式に関係なく、さまざまな種類のビーコンを追跡サーバーに送信します。この追跡サーバーは受信したビーコンを 1 つまたは複数のイベントシンクに記録する唯一の責任を持つ、極めてスケーラブルなウェブサーバーをデプロイします。 パイプラインのアーキテクチャ 弊社では主に動画広告を扱っており、複数の地理的な場所にデプロイした NGINX ウェブサーバーを使用しています。これは、ビデオプレーヤーから直接発生するイベントを、リアルタイム処理用には Apache Kafka に、バッチ処理用には Amazon S3 に記録するものです。弊社グループの典型的なデータパイプラインには、このような入力フィードの処理、検証や強化ルーチンの適用、結果データの集計、およびレポート目的の宛先へのレプリケートが含まれます。次の図は、作成した典型的なパイプラインを示しています。 NGINX ビーコンサーバーで、データの取得を開始します。データは 1 分間隔でローカルディスクの gzip […]

Read More

ボンネットの下で: Kinesis データストリームのスケーリング

データとそれに伴う所見がリアルタイムに提供されるなら、ビジネスは軸足を素早く定めて、様々な要素、中でも必要性の変化、ユーザーの関与、そしてインフラストラクチャのイベントに対応できるしょう。Amazon Kinesis はマネージド型サービスを提供しているため、ユーザーはインフラストラクチャの管理に煩わされることなく、アプリケーションの構築に専念することができます。スケーラビリティは特別な労力なしで実現でき、毎秒ギガバイト単位のストリーミングを取り込んで処理できます。データは 3 か所のアベイラビリティーゾーンに複製され、高い可用性と耐久性を提供します。料金は従量制で、初期費用が必要ないので、Kinesis はコスト効率のよいソリューションとなっています。 Amazon Kinesis Data Streams は、プロビジョニング済みキャパシティーモデルを採用しています。それぞれのデータストリームは 1 つ以上のシャードから構成されており、これがキャパシティーのユニットとしての役割を果たします。シャードが定義済みの読み書き書きキャパシティーを提供するため、ストリーミングパイプラインの設計とスケーリングは容易になります。ワークロードが増えて、アプリケーションの読み書き率がシャードのキャパシティーを越えるとホットシャードの原因となり、キャパシティーをすぐに追加することが必要になります。また、シャードの使用により、大規模なデータセットの処理を並列化することもできるので、計算結果を高速に出力できます。 この記事では、データストリームをスケーリングし、ホットシャードを避ける方法について説明します。まず、ストリームパイプラインを設計する時点でデータストリームが必要とするシャード数を評価する方法を示します。それから、ホットシャードが発生する原因と、Kinesis Data Streams のスケーリングを使用してそれを避ける方法について考慮し、監視するべき重要なメトリクスを確認します。 ストリームのキャパシティーを見積もる 次の図は、1 本のストリーミングデータパイプラインがマルチプレイヤービデオゲームに接続されている様子を示しています。Kinesis Data Streams はプレイヤーのスコアや他の統計情報を取り込みます。ingest player scores and other stats.データはフィルタリングすること、および情報を追加することができ、それから DynamoDB に書き込まれて、ゲームの様々な順位表の元データとなります。 ストリーミングパイプラインの設計を始めるときには、データレコードのプロデューサーが作成するデータを取り込むことによってプロデューサーをハンドルし、同じレコードを消費するユーザーもハンドルするのに十分なキャパシティーを持つデータストリームをセットアップすることが重要です。シャードごとに、毎秒 1 MB のデータを取り込むこと、または同じくシャードごとに毎秒 1,000 のデータレコードを書き込むことができます。読み取りキャパシティーは最大でシャードごとに毎秒 2 MB、または毎秒 5 つの読み取りトランザクションに達します。あるストリームから読み取るすべてのアプリケーションは、読み取りのキャパシティーを共有します。強化されたファンアウト機能により、消費側アプリケーションの数をスケーリングすることができ、そのそれぞれが毎秒 2 MB の専用接続を持てるようにできます。 この記事では、前述のアプリケーションを例として用いることにします。プロデューサー側では毎秒 20,000 KB の割合でデータレコードを作成すると見積もられたとすると、ストリームの反対側ではそれと同じ量のデータを消費者ノードが処理する必要があります。この割合を処理できるようにすることに加え、ストリームの増大のためのヘッドルームとして追加のキャパシティーを追加しておくのは良いアイディアです。 このヘッドルームは、データの取り込みや処理で遅延や中断が発生したというシナリオにおいても、アプリケーションがすぐに回復できるようにする点でも役立ちます。そのようなシナリオとしては、次のものがあり得ます。 消費者側アプリケーションの新しいバージョンがデプロイされる 一過的なネットワークの問題 これらのノードが回復後に追いつくときには、レコードを標準の速度よりも速い速度で生成または消費することになるので、より大きなキャパシティーが必要になります。この例では、ヘッドルームとして 25% または 5 シャードを加えることにします。シャードはコスト効率のよいものですが、それはいくつ追加するかにもかかっています。 […]

Read More

Amazon Athena を Apache Hive メタストアに接続し、ユーザー定義関数を使用する

Amazon Athena は、標準 SQL を使用して Amazon S3 のデータを簡単に分析できるインタラクティブなクエリサービスです。Athena はサーバーレスであるため、インフラストラクチャの管理は不要であり、実行したクエリにのみ課金されます。この投稿では、現在プレビュー中である2つの新しい機能、Apache Hive Metastore への接続と、ユーザー定義関数の使用について詳しく説明しています。これらは本日から使い始めることができます。 Athena を自分の Apache Hive Metastore に接続する Hive Metastore を、自分のビッグデータ環境に共通のメタデータカタログとして使っているお客様が複数いらっしゃいます。このようなお客様は、Amazon EC2 や Amazon EMR クラスター上で Apache Spark、Presto、Apache Hive を実行していて、共通カタログとして Hive Metastore を自身でホストしています。またAWS は、完全に管理されたカタログで、 Hive メタストアをドロップインで置き換える AWS Glue Data Catalog も提供しています。この記事がリリースされた時点で、Athena の Data Catalog に加えて Hive メタストアも利用できます。Athena によって、既存の Data Catalog に加えて複数の Hive メタストアに接続できます。 ご自身でホストしている Hive […]

Read More

Amazon QuickSight の条件付き書式で重要な洞察をハイライト

Amazon QuickSight で、条件付き書式設定を使用して、データの重要度を簡単に見分けられるようになりました。条件付き書式設定では、データセットのフィールド値に基づいて、単色またはグラデーション色を使用して、カスタマイズされたテキストまたは背景色を指定できます。また、サポートされているアイコンを使用してデータ値を表示することもできます。次のスクリーンショットに示すように、色分けとアイコンを使用して、データを視覚的に調査および分析し、問題をすばやく検出し、傾向を特定することができます。こうした動的な視覚的刺激は、ダッシュボードの利用者が密度が高いデータ値の集まりから注目に値する洞察をはるかに迅速に取得するのにも役立ちます。 今回のリリースでは、テーブル、ピボットテーブル、KPI チャートに条件付き書式を適用できます。このブログ記事では、Amazon QuickSight でサポートされている各チャートタイプで条件付き書式設定を活用する方法について詳しく説明します。 テーブル 次の方法で、テーブルに条件付き書式を適用できます。 データフィールドに基づく条件付き書式設定列 テーブルに条件付き書式を適用する場合、設定ペインにアクセスする 2 つの方法があります。1 つの選択肢は、分析でテーブルを選択し、 テーブルビジュアルの右上隅でキャレットを選択することです。次のスクリーンショットに示すように、ドロップダウンメニューから [Conditional formatting] を選択すると、条件付き書式設定ペインが分析キャンバスの左側にポップアップ表示されます。[+] 記号を選択して、書式を適用するターゲット列を選択します。テーブルに存在する任意の列に適用することができます。 たとえば、ドロップダウンメニューから Sales を選択して、Sales ターゲット列の条件を追加します。 あるいは、選択したテーブルから、分析キャンバスの上部にあるフィールドウェルを展開し、テーブルで使用されている列から直接 Group by または Value ターゲット列を選択することもできます。たとえば、次のスクリーンショットに示すように、Value ウェルから Sales を選択し、ドロップダウンで [Conditional formatting] を選択します。条件付き書式の確認ペインが分析キャンバスの左側にポップアップ表示され、Sales ターゲット列にすでに条件が追加されています。 次に、使用可能な 3 つのオプションから書式設定スタイルを選択します。 Add background color (背景色を追加) Add text color (テキストの色を追加) Add icon (アイコンを追加) ターゲット列ごとに、任意の書式設定スタイルまたはスタイルの任意の組み合わせを追加できます。 背景色およびテキストの色 [Add background color] を選択して、[New […]

Read More

新しい AWS 認定ベータ版で、データと分析の技術的専門知識の幅広さを強調

AWS は、オープンフォーマットとオープンスタンダードを使用してデータを分析する最も幅広い分析ツールとエンジンのセットを提供しています。AWS データ分析ソリューションの専門知識を証明するために、ビルダーは AWS 認定データ分析 – 専門知識認定のベータ版を受験できるようになりました。 AWS 認定データ分析 – 専門知識認定は、AWS での分析ソリューションの設計、構築、セキュリティ保護、保守に関する技術的専門知識を検証します。この認定は、2017 年に AWS 認定ビッグデータ – 専門知識として初めて開始されました。この新しい名前は、認定によって検証される幅広いデータおよび分析の技術スキルと経験を強調しています。今すぐ登録可能なベータ試験または 2020 年 4 月の一般利用可能なリリースを受験して合格した受験者は、新しい名前の認定を取得します。 新しい試験バージョンには、コレクションから視覚化までのカテゴリにわたる更新されたコンテンツが含まれています。本試験で扱うトピックの詳細については、試験ガイドをご覧ください。 特にデータ分析の専門知識に焦点を合わせた AWS 認定は、これだけです。この認定は、適切なセキュリティ対策と自動化を使用してデータを視覚化することで洞察を提供する分析ソリューションを設計および実装する能力を実証します。 AWS 認定データ分析 – 専門知識ベータ試験は、2020 年 1 月 10 日まで世界中のテストセンターで受けられるほか、re:Invent 2019 の会場でも受験可能です。枠には限りがありますので、今すぐご登録ください。ベータ試験の言語は英語で、受験料は 150 USD (専門知識レベル認定の標準料金の 50% オフ) です。ベータ試験の結果は、ベータ試験期間の終了から約 90 日後に発表されます。ベータ版を逃しても、標準版が 2020 年 4 月に予定されています。 執筆者について Beth Shepherd は、AWS 認定のプロダクトマーケティングマネージャーです。 2019 年に […]

Read More

Amazon QuickSight の新しい API とテーマ機能で、分析をさらに進化させる

Amazon QuickSight チームからのお知らせです。テーマとさらなる API が利用可能になりました。 ダッシュボードのテーマを使用して、Amazon QuickSight ダッシュボードのルックアンドフィールをアプリケーションのブランドや企業のテーマに合わせることができるようになりました。追加された新しい API では、ダッシュボード、データセット、データソース、SPICE 取り込み、さらに AWS リソースに対するきめ細かいアクセスコントロールをサポートしており、Amazon QuickSight のデプロイをプログラムで管理できます。これらを組み合わせることで、Amazon QuickSight を視聴者に合わせて創造的に調整し使用することで、ユーザーはビルトインの分析を体験したり、企業のビジネスインテリジェンス (BI) のニーズに対応したりできます。この投稿では、これらの新しい機能の概要と、使用開始に関する詳細をご紹介します。 ダッシュボードのテーマを決める Amazon QuickSight テーマで、ダッシュボードのルックアンドフィールをコントロールできます。具体的には、テーマを通じて次の項目に影響するため、アカウント内の他の作成者と共有できます。 マージン ビジュアル周りの境界線 とじしろ (ビジュアル間の間隔) データの色 (ビジュアル内で使用) 背景色 (ダッシュボード内のビジュアルおよびダッシュボード自体用) 前景色 (ビジュアル内およびダッシュボード上のテキスト用) ビジュアルの色を強調する 次のダッシュボードのスクリーンショットは、現在利用可能なテーマオプションを使用して変更できるダッシュボードの特徴を説明しています。 使用可能なオプションで、QuickSight の新しいテーマ「Seaside」を使用すると下記のように示され、QuickSight ダッシュボードをより狭く (余白や余白をなしにするなど) できます。 以下に示すように、QuickSight の新しいテーマ「Midnight」を使用した暗めのダッシュボードオプションもあります。 テーマには、ダッシュボード作成インターフェイスの左側のパネルからアクセスできます。 1 つのビルトインテーマから始めてそれをカスタマイズし、独自のテーマを作成できます。インタラクティブにテーマ編集できるため、必要なだけ編集したり、ダッシュボードに最適なテーマを取得したりが簡単になります。 ダッシュボード、データセット、データソース、SPICE 取り込み、アクセス許可に API を使用する 新しい API には、ダッシュボード、データセット、データソース、SPICE 取り込み、および S3/Athena へのきめ細かいアクセスコントロールが含まれています。今回のリリースでは、QuickSight […]

Read More

Amazon EMR が、Apache Spark 用 EMR ランタイムを導入

Amazon EMR は、Apache Spark 用の Amazon EMR ランタイムを発表いたします。これは、Amazon EMR クラスターでデフォルトでアクティブになっている Apache Spark 用のパフォーマンス最適化ランタイム環境です。Spark 用の EMR ランタイムは、EMR 5.16 と比べて最大 32 倍高速で、オープンソース Spark と 100% の API 互換性があります。これは、アプリケーションに変更を加えることなく、ワークロードがより速く実行され、コンピューティングコストを節約できることを意味します。 Amazon EMR は EMR 5.24 以降、Spark ランタイムの改善を追加しており、Spark パフォーマンスの最適化で説明しています。EMR 5.28 には、さらにいくつかの新しい改善も含まれています。 こうした改善を評価するために、EMR 5.16 (オープンソース Apache Spark バージョン 2.4 と使用) と EMR 5.28 (Apache Spark バージョン 2.4 互換 Apache Spark 用 […]

Read More