Amazon Web Services ブログ

Category: AWS Big Data

Amazon EMR 移行ガイド

世界中の企業が、Apache Hadoop や Apache Spark などの新しいビッグデータ処理および分析のフレームワークの力を発見していますが、同時にオンプレミスのデータレイク環境でこうしたテクノロジを運用する際のいくつかの課題にも気付いています。また、現在の配信ベンダーの将来についても懸念があるかもしれません。 こうした課題に対処するために、Amazon EMR 移行ガイド (2019 年 6 月に最初に公開) を発表しました。 これは、オンプレミスのビッグデータのデプロイから EMR への移行方法を計画する際に役立つ、適切な技術的アドバイスを提供する包括的なガイドです。 IT 組織はリソースのプロビジョニング、不均一なワークロードの大規模な処理、そして急速に変化するコミュニティ主導のオープンソースソフトウェアのイノベーションのスピードに追いつくための努力に取り組んでいるため、オンプレミスのビッグデータ環境における一般的な問題としては、俊敏性の欠如、過剰なコスト、管理に関する課題などがあります。多くのビッグデータに関する取り組みでは、基盤となるハードウェアおよびソフトウェアインフラストラクチャの評価、選択、購入、納入、デプロイ、統合、プロビジョニング、パッチ適用、保守、アップグレード、サポートの遅れや負担が課題となっています。 同様に重要ではあるものの、微妙な問題は、企業のデータセンターでの Apache Hadoop と Apache Spark のデプロイが同じサーバー内のコンピューティングリソースとストレージリソースを直接結びつける方法であり、足並みを揃えて拡張しなければならない柔軟性に欠けるモデルとなることです。つまり、ほとんどのオンプレミス環境では、各ワークロードのコンポーネントに対する要件が異なるため、未使用のディスク容量、処理能力、システムメモリが多くなってしまいます。 一般的なワークロードは、さまざまな種類のクラスターで、さまざまな頻度と時間帯で実行されます。こうしたビッグデータのワークロードは、共有している同じ基盤となるストレージまたはデータレイクにアクセスしながら、いつでも最も効率的に実行できるように解放する必要があります。説明については、下の図 1 を参照してください。 スマートな企業は、どのようにしてビッグデータへの取り組みで成功を収めることができるでしょうか? ビッグデータ (および機械学習) をクラウドに移行することには多くの利点があります。AWS などのクラウドインフラストラクチャサービスプロバイダーは、オンデマンドで伸縮自在なコンピューティングリソース、回復力があり安価な永続的ストレージ、およびビッグデータアプリケーションを開発および運用するための最新の使い慣れた環境を提供するマネージド型サービスの幅広い選択肢を提供します。データエンジニア、開発者、データサイエンティスト、IT 担当者は、データの準備と貴重な洞察の抽出に集中することができます。 Amazon EMR、AWS Glue、Amazon S3 などのサービスを使用すると、コンピューティングとストレージを個別に分離および拡張しながら、統合され、高度に管理された、回復力の高い環境を提供し、オンプレミスアプローチの問題を即座に軽減できます。このアプローチは、より速く、より俊敏で、使いやすく、よりコスト効率の良いビッグデータとデータレイクのイニシアチブにつながります。 ただし、従来のオンプレミスの Apache Hadoop および Apache Spark に関する既存の知恵は、クラウドベースのデプロイでは必ずしも最善の戦略とはなりません。クラウド内でクラスターノードを実行するための単純なリフトアンドシフトアプローチは、概念的には簡単ですが、実際には次善の策です。ビッグデータをクラウドアーキテクチャに移行する際に、さまざまな設計上の決定が利益を最大化するために大きく役立ちます。 このガイドでは、以下のベストプラクティスを紹介します。 データ、アプリケーション、およびカタログの移行 永続的リソースと一時的リソースの使用 セキュリティポリシー、アクセスコントロール、および監査ログの設定 価値を最大化しながら、コストを見積もりそして最小化する AWS クラウドを活用して高可用性 (HA) と災害復旧 […]

Read More

3M Health Information Systems がヘルスケア分析プラットフォームを構築するために Amazon Redshift を選択した理由

3M Health Care の事業である 3M Health Information Systems (HIS) は、医療従事者、患者、および政府機関と協力して変化するヘルスケアの展望を予測してナビゲートしています。3M は、顧客が量から価値ベースの医療に移行するのを支援する医療業績測定および管理ソリューション、分析、および戦略的サービスを提供することで、数百万ドルを節約し、プロバイダーの業績を向上させ、質の高い医療を提供できるようにしています。3M の革新的なソフトウェアは、コンピュータ支援コーディング、臨床文書の改善、パフォーマンスの監視、品質結果報告、および用語集管理の基準を引き上げるように設計されています。 3M HIS では、オンプレミスまたは他のクラウドホスティングプロバイダーにインストールされているアプリケーションをアマゾン ウェブ サービス (AWS) に移行するための継続的なイニシアチブがありました。3M HIS は、コンピューティング、ストレージ、およびネットワークの弾力性を活かすために AWS への移行を開始しました。当社は今後数年間に予想される事業の成長をサポートするために拡張する一方で、顧客価値の提供に注力するのに役立つ確固たる基盤を構築したいと考えていました。3M HIS はすでに本質的に複雑な多くの顧客の医療データを処理していたため、分析や機械学習に役立つ形式にデータを変換する多大な作業が必要でした。 多くのソリューションを検討した結果、3M HIS は適切なデータウェアハウスソリューションとして Amazon Redshift を選択しました。当社は、カラムストレージを使用して I/O を最小限に抑え、高いデータ圧縮率を提供し、高速パフォーマンスを提供する、高速で完全マネージド型のペタバイト規模のデータウェアハウスソリューションである Amazon Redshift が当社のニーズに合致すると結論付けました。開発環境ですぐにクラスターを作り、ディメンションモデルを作成し、データをロードして、ユーザーデータのベンチマークとテストを実行できるようにしました。さまざまなソースから Amazon Redshift にデータを処理してロードするために、抽出、変換、ロード (ETL) ツールを使用しました。 多くのソリューションを検討した結果、3M HIS は適切なデータウェアハウスソリューションとして Amazon Redshift を選択しました。当社は、カラムストレージを使用して I/O を最小限に抑え、高いデータ圧縮率を提供し、高速パフォーマンスを提供する、高速で完全マネージド型のペタバイト規模のデータウェアハウスソリューションである Amazon Redshift が当社のニーズに合致すると結論付けました。開発環境ですぐにクラスターを作り、ディメンションモデルを作成し、データをロードして、ユーザーデータのベンチマークとテストを実行できるようにしました。さまざまなソースから Amazon Redshift にデータを処理してロードするために、抽出、変換、ロード […]

Read More

Amazon QuickSight アップデート: ダッシュボードのマルチシート対応、軸ラベル方向オプション、その他を追加

本日、Amazon QuickSight に一連のアップデートを発表できることを、嬉しく感じております。 通常と組み込み用、両方のダッシュボードがマルチシートでより豊かに。 複数の軸ラベル方向オプションで、ダッシュボードの可読性が改善。 SPICE に、標準偏差、分散、および文字条件関数などの計算機能が追加。 広範囲のインタラクティブシナリオをサポートする、強化されたURLアクション。 画像をワンクリックで複製し、素早いオーサリング。 ダッシュボードのマルチシート対応 まず最初に、新しいタブコントロールからアクセスするマルチシートが使えるようになった、ダッシュボードのアップデートを見てみましょう。これにより、ダッシュボード内の情報が整理しやすくなりました。特定の対象エリアもしくはトピックに関連した画像を分離したシートで整理でき、タブ名によって明確に区別できます。閲覧側では、1 つのトピックに関連するインサイト全体の包括的な表示を、ダッシュボード上でナビゲーションできるようになります。

Read More

Amazon Kinesis Data Analytics が東京リージョンで利用可能になりました

2019年5月、Amazon Kinesis Data Analytics が東京リージョンで利用できるようになりました。 これまで、東京リージョンにあるデータソース(Amazon Kinesis Data Streams または Amazon Kinesis Data Firehose)を Kinesis Data Analytics に接続するためには、リージョンを跨いで接続する必要がありました。Kinesis Data Analytics が東京リージョンで利用可能となったことにより、日本国内にあるデータソースと接続しやすくなり、ストリームデータ分析の環境をよりシンプルに構築できるようになりました。 Kinesis Data Analytics では、ストリーミングデータをリアルタイムに分析できるため、ビジネス上の素早いアクションが可能になります。今日では、Web・モバイルアプリケーションからのクリックストリームデータ、サーバーのアプリケーションログなど様々なデータソースから継続的にデータが生成されています。Kinesis Data Analytics は、新しいプログラミング言語や処理フレームワークを習得することなく、標準 SQL や Java (Apache Flink) でストリーミングデータをリアルタイムに分析することができます。また、フルマネージドサービスであり、受信データのボリュームとスループットレートに応じて自動的にスケールします。クエリで使用されるリソースのみが課金の対象となり、最低料金や初期費用はありません。

Read More

Amazon Athena を使用して AWS のサービスログを簡単にクエリする

多くの組織では、AWS のサービスログを含むさまざまなログの保存先として Amazon Simple Storage Service (Amazon S3) を主に使用しています。ログデータを Amazon S3 に保存する利点の 1 つは、さまざまな方法でアクセスできることです。一般的な方法の 1 つは、S3 上のデータに対するサーバーレスのクエリエンジンである Amazon Athena を使用してクエリを実行することです。ログのクエリの一般的なユースケースは、サービスとアプリケーションのトラブルシューティング、パフォーマンス分析、およびセキュリティ監査です。Athena で最高のパフォーマンスを得てクエリコストを削減するには、AWS ビッグデータブログの「Top 10 Performance Tuning Tips for Amazon Athena」で概説されているように、一般的なベストプラクティスに従うことをお勧めします。これらのベストプラクティスには、Apache Parquet のようなデータを円柱形式に変換し、結果として得られたデータを S3 で分割することが含まれます。 この記事では、Athena Glue Service Logs (AGSlogger) として知られる Python ライブラリをオープンソース化しています。このライブラリには、最も一般的なログ形式を解析および最適化するための定義済みテンプレートがあります。このライブラリは、AWS Glue のスキーマの定義、パーティションの管理、および抽出、変換、ロード (ETL) ジョブ内でのデータ変換のためのメカニズムを提供します。AWS Glue は、サーバーレスのデータ変換およびカタログ作成サービスです。このライブラリを AWS Glue ETL ジョブと組み合わせて使用すると、ログデータを処理するための共通のフレームワークを有効にできます。 AWS Glue ETLで Python […]

Read More

【開催報告】AWS Data Lake ハンズオンセミナー 2019 初夏

こんにちは。AWS ソリューションアーキテクトの上原誠(@pioh07)です。 5月29日に、「AWS Data Lake ハンズオンセミナー」を開催いたしました。去年から行ってきた恒例のワークショップで第7回目となります。去年も盛況でしたが、今回も130名くらいのお客様にご参加頂きました。 はじめに、AWSにおけるデータ活用のベストプラクティスである Amazon S3 を中心とした Data Lake について解説し、ビッグデータ分析基盤の考え方として有名なラムダアーキテクチャの解説を行いました。 当イベントでは、Amazon Athena や Amazon Redshift の各 AWS サービスを駆使して実際にラムダアーキテクチャを構築することがゴールです。とはいえ全てを構築するのはボリュームが大きいため、スピードレイヤー or バッチレイヤー or 全部入りでコース分けて取り組めるようハンズオンコンテンツを用意しました。最初にコースの説明を行い、出席いただいたお客様ご自身の課題に合わせてコースを選択頂き、ハンズオンを行っていただきました。今回、参加者も多くいらっしゃいましたので、サポートするソリューションアーキテクトも6名で対応させていただきました。 今回参加できなかった方も、ソリューションアーキテクトのサポートを受けながらハンズオンを行いログ分析を初めてみてはいかがでしょうか?   次回は真夏の7月に開催予定です。ご参加お待ちしております。    

Read More

EMR Notebooks: Jupyter ノートブックをベースとしたマネージド型分析環境

ノートブックは、インタラクティブにビッグデータアプリケーションを開発するための標準ツールとなりつつありますが、その理由は簡単に想像がつきます。柔軟性のあるアーキテクチャは、複数言語でのデータの実験、インタラクティブなコードのテスト、そして大規模データセットの可視化を可能にしてくれます。科学者と開発者がノートブックツールに簡単にアクセスできるように、AWS は Amazon EMR ノートブックのサービスを開始しました。これは、人気のあるオープンソースアプリケーション、Jupyter ノートブックをベースとしたマネージド型ノートブック環境です。EMR Notebooks は Spark Magic カーネルをサポートし、このカーネルは PySpark、Spark SQL、Spark R、および Scala といった言語を使用して、EMR クラスターにジョブをリモートで送信することができます。Spark Magic カーネルは、クラスターで実行される Spark の REST サーバーである Apache Livy 経由で Spark コードを送信します。 EMR Notebooks は、Apache Spark でのアプリケーションの実験と構築を容易にするように設計されています。このブログ記事では、まず EMR Notebooks が提供するいくつかのメリットについてお話しします。その後、異なる EMR クラスターへのノートブックのアタッチとデタッチ、ノートブック内からの Spark アクティビティの監視、ユーザーアクセス許可を制御するためのタグの使用、およびノートブックユーザーとそのアクションを追跡するためのユーザー偽装のセットアップなどの機能をいくつかご紹介します。EMR Notebooks の作成と使用について学ぶには、「Amazon EMR ノートブックの使用」にアクセスする、または AWS オンラインテックトークのオンラインセミナーの手順に従うことができます。 EMR Notebooks のメリット EMR Notebooks の便利な機能のひとつは、基礎となるクラスターインフラストラクチャからのノートブック環境の分離です。この分離は、新しいクラスターを起動するたびにノートブックをデプロイまたは設定する作業に煩わされることなく、一時的なクラスターに対してノートブックコードを簡単に実行できるようにしてくれます。SSH アクセスをセットアップするための時間を費やしたり、ポートフォワーディングのためにブラウザを設定したりすることなく、EMR の AWS […]

Read More

Deequ で大規模なデータ品質をテスト

一般的に、コード用のユニットテストを書くと思いますが、お使いのデータもテストしているのでしょうか? 不正確または不正なデータは、本番システムに大きな影響を与える可能性があります。データ品質問題の例は次のとおりです。 値がない場合は、本番システムで null 以外の値を必要とするエラー (NullPointerException) が発生する可能性があります。 データ分布が変化すると、機械学習モデルで予期しない出力につながることがあります。 データの集計を誤ると、ビジネスでの判断を下す際に誤った意思決定につながる可能性があります。 このブログ記事では、Amazon で開発し、使用されているオープンソースツールである Deequ を紹介したいと思います。Deequ では、データセットのデータ品質メトリクスを計算したり、データ品質の制約を定義および確認したり、データ分布の変化について通知を受け取ったりすることができます。確認や検証のアルゴリズムを直接実装する代わりに、データの外観を記述することに集中できます。Deequ は確認を提案することでお客様をサポートします。Deequ は Apache Spark に実装されています。通常は分散型ファイルシステムまたはデータウェアハウスに存在する大規模なデータセット (数十億行の規模と考えられる) に合わせて拡張するように設計されています。 Amazon での Deequ Deequ は、多くの大規模な本番データセットの品質を検証するために Amazon で内部的に使用されています。データセットの製作者は、データ品質の制約を追加および編集できます。このシステムは、定期的に (データセットの新しいバージョンごとに) データ品質メトリクスを計算し、データセットの製作者によって定義された制約を検証し、成功した場合にはデータセットをコンシューマーに公開します。エラーが発生した場合、データセットの公開は中止され、製作者はアクションをとるように通知を受けます。データの品質問題はコンシューマーのデータパイプラインに伝播しないため、問題が発生したときの影響範囲が減少します。 Deequ の概要 Deequ を使用するために、その主要コンポーネントを見てみましょう (図 1 も参照)。 メトリクス計算 — Deequ はデータ品質メトリクス、つまり完全性、最大値、相関関係などの統計情報を計算します。Deequ は、Spark を使用して Amazon S3 などのソースから読み取り、最適化された一連の集計クエリを通じてメトリクスを計算します。データに基づいて計算された未加工メトリクスに直接アクセスできます。 制約の検証 — ユーザーは、一連のデータ品質において検証する制約を定義することに集中できます。Deequ は、データに対して計算される、必要な一連のメトリクスを導き出します。Deequ は、制約の検証結果を含むデータ品質レポートを生成します。 制約の提案 — 独自のカスタムデータ品質の制約を定義するか、有用な制約を推測するためにデータをプロファイルする自動制約提案方法を使用することを選択できます。 図 […]

Read More

新しいクエリエディタを使用して Amazon Redshift クラスターをクエリする

データウェアハウスは、データから実用的な洞察を分析および抽出するための重要なコンポーネントです。Amazon Redshift は、高速でスケーラブルなデータウェアハウスであり、データウェアハウスとデータレイク全体ですべてのデータを分析するのに費用対効果が高くなります。 Amazon Redshift コンソールは最近、クエリエディタを開始しました。クエリエディタは、AWS マネジメントコンソールから直接 Amazon Redshift クラスターで SQL クエリを実行するためのブラウザ内インターフェイスです。Amazon Redshift クラスターでホストされているデータベースでクエリを実行するには、クエリエディタを使用するのが最も効率的な方法です。 クラスターを作成したら、すぐにクエリエディタを使用して Amazon Redshift コンソールでクエリを実行できます。クエリエディタは外部の JDBC/ODBC クライアントを使用してデータベースに接続するのに代わる優れた方法です。 この記事では、クラスターにデータをロードし、コンソールからクラスターのパフォーマンスを直接モニターするための SQL クエリを実行する方法を説明します。 SQL IDE やツールの代わりにクエリエディタを使用する クエリエディタは、Amazon Redshift クラスターで SQL クエリを実行するためのブラウザ内インターフェイスを提供します。計算ノードで実行されるクエリの場合は、クエリの横にクエリ結果とクエリ実行プランを表示できます。 クエリを可視化し、便利なユーザーインターフェイスを実現する機能により、データベース管理者としてもデータベース開発者としても、さまざまなタスクを実行できます。視覚的なクエリエディタを使用すると、次のことができます。 複雑なクエリを作成すること クエリを編集して実行すること データを作成して編集すること 結果を表示してエクスポートすること クエリに EXPLAIN プランを作成すること クエリエディタを使用すると、複数の SQL タブを同時に開くこともできます。色付きの構文、クエリのオートコンプリート、およびシングルステップのクエリフォーマットはすべて、追加のボーナスです。 データベース管理者は通常、よく使用する SQL ステートメントのリポジトリを定期的に管理しています。これをメモ帳のどこかに書き記せば、保存したクエリ機能を存分に活かせるでしょう。この機能を使用すると、よく実行する SQL ステートメントを一度に保存して再利用できます。これにより、以前に実行した SQL ステートメントを確認、再実行、および変更することが効率的になります。クエリエディタにはエクスポーターもあり、クエリ結果を CSV 形式にエクスポートできます。 クエリエディタを使用すると、クラスター上にスキーマやテーブルを作成する、テーブルにデータをロードするなどの一般的なタスクを実行できます。これらの一般的なタスクは、コンソール上で直接実行するいくつかの単純な SQL ステートメントを使用して可能になりました。コンソールから日々の管理タスクを行うこともできます。これらのタスクには、クラスター上で長時間実行されているクエリを見つけること、クラスター上で長時間実行されている更新で潜在的なデッドロックをチェックすること、およびクラスターで使用可能な容量を確認することなどがあります。 クエリエディタは […]

Read More

Amazon S3 オブジェクトの Amazon Kinesis Data Firehose カスタムプレフィックス

2019 年 2 月、アマゾン ウェブ サービス (AWS) は、Amazon Kinesis Data Firehose に Custom Prefixes for Amazon S3 Objects と呼ばれる新機能を発表しました。これにより、顧客はデータレコードが配信される Amazon S3 プレフィックスのカスタム表現を指定できます。 以前は、Kinesis Data Firehose ではリテラルプレフィックスのみを指定できました。次に、このプレフィックスを静的な日付形式のプレフィックスと組み合わせて、固定形式の出力フォルダを作成しました。 お客様は柔軟性を求めていたので、AWS は耳を傾け、実現したのです。 Kinesis Data Firehose は、アプリケーションや IoT デバイスなどのストリーミングソースからイベントデータを消費するために最も一般的に使用されています。  データは通常データレイクに格納されるため、処理して最終的にクエリを実行できます。  Amazon S3 にデータを保存するときは、関連データを分割またはグループ化し、同じフォルダにまとめて保存することをお勧めします。  これにより、パーティション化されたデータをフィルタリングし、各クエリでスキャンされるデータ量を制御することができるため、パフォーマンスが向上しコストが削減されます。 データをグループ化する一般的な方法は日付順です。  Kinesis Data Firehose はデータを自動的にグループ化し、日付に基づいて Amazon S3 の適切なフォルダに保存します。  ただし、Amazon S3 内のフォルダーの命名は、Apache Hive の命名規則と互換性がありません。これにより、AWS Glue クローラーを使用してデータをカタログ化し、ビッグデータツールを使用して分析することが難しくなります。 この記事では、Kinesis Data Firehose が […]

Read More