Amazon Web Services ブログ

Category: Analytics

Elasticsearch チュートリアル: クイックスタートガイド

 Elasticsearch は、インデックス作成を含めたあらゆる目的に対応する REST API オペレーションを備えています。REST API に加えて、最も一般的な開発言語用に AWS SDK もあります。このガイドでは、REST API を使用して、言語にとらわれない方法で基礎となるテクノロジーについて学ぶことができます。 インデックス作成が Elasticsearch のコアです。数テラバイトのデータを超高速で検索することができます。しかし、存在していないデータを検索することはできません。そこでこの記事では、インデックスを作成し、データを Elasticsearch に入れ、Amazon Elasticsearch Service を使用して Elasticserach で検索する方法を説明します。 Amazon Elasticsearch Service ドメインの作成 まだ AWS アカウントを持っていなければ、AWS アカウントにサインアップしましょう。新規アカウントでサインアップした際、無料利用枠を使用すると Amazon Elasticsearch Service を 12 ヶ月間無料で利用できます。また Amazon Elasticsearch Service を始めるのはとても簡単です。 アカウントが準備できたら、Amazon Elasticsearch Service ドメイン (クラスターの設定あり) を作成します。1 つを取得するには (約 15 分かかります)、Amazon Elasticsearch Service ドメインの作成と設定の手順に従ってください。 Amazon […]

Read More

Amazon Kinesis および Amazon Athena を使用して VPC ネットワークのトラフィックを分析および視覚化する

ネットワークログの分析は多くの組織で一般的に実施されています。  ネットワークログを収集し、分析することにより、ネットワーク上のデバイスがそれぞれ、およびインターネットとどのように通信しているかを把握できます。  たとえば、監査、コンプライアンス、システムのトラブルシューティング、セキュリティフォレンジックなど、ログ分析を実行する理由は多数あります。  Amazon Virtual Private Cloud (VPC) では、VPC Flow Logs を使用してネットワークフローをキャプチャできます。  VPC、サブネット、ネットワークインターフェイス用のフローログを作成できます。  サブネットまたは VPC のフローログを作成した場合、VPC の各ネットワークインターフェイスまたはサブネットがモニタリングされます。フローログのデータは Amazon CloudWatch Logs のロググループに公開され、各ネットワークインターフェイスにはユニークなログストリームが作成されます。 CloudWatch Logs にはこのログデータの洞察を確保するうえで有用なツールがいくつか用意されています。  しかし、ほとんどの場合、ログデータを S3 に効率的にアーカイブし、SQL を使用してクエリ検索する手法が好まれます。  この手法ではログの保存に対しより大きな柔軟性と管理性が得られるとともに、必要な分析も実行できるようになります。  しかし同時に、分析を自動的に実行することでログデータが生成された直後にログデータの洞察をほぼリアルタイムで取得する機能もよく好まれる傾向にあります。  また、VPC 内のネットワークトラフィックをより明確に理解できるよう、ダッシュボードである程度のネットワークの特徴を視覚化することにも関心が集まっています。  つまり、S3 への効率的なログのアーカイブとリアルタイムのネットワーク分析、データの可視化のすべてを達成するにはどうすればよいでしょうか?  これは、CloudWatch、Amazon Kinesis、AWS Glue、Amazon Athena などの複数の機能を組み合わせることで達成自体は可能ですが、このソリューションをセットアップし、すべてのサービスを構成するのは容易ではありません。 このブログ記事では、VPC フローのログデータを収集、分析、資格するための完璧なソリューションについて解説します。  さらに、独自のアカウントにこのソリューションを効果的にデプロイできる 1 つの AWS CloudFormation テンプレートを作成しました。 ソリューションの概要 このセクションではアーキテクチャの概要とこのソリューションの各ステップについて解説します。 私たちは 1 回限り、またはアドホックでフローログデータをクエリする機能を必要としています。また、ほぼリアルタイムでそれを分析できる手立ても必要です。つまり、私たちのフローログデータはこのソリューションを通して 2 つのパスを取ることになります。  アドホッククエリには、Amazon […]

Read More

AWS Glue を使用することによってオンプレミスデータストアにアクセスして分析する方法

AWS Glue は、データのカタログ化、クリーニング、強化を行い、様々なデータストア間で確実に移動させる完全マネージド型 ETL (抽出、変換、ロード) サービスです。AWS Glue ETL ジョブは、AWS 環境の内外にある多種多様なデータソースとやり取りすることができます。ハイブリッド環境での最適な運用には、AWS Glue に追加のネットワーク、ファイアウォール、または DNS 設定が必要になる場合があります。 この記事では、一般的なデータレイクの取り込みパイプラインをシミュレートする、AWS Glue を使用したデータの変換と、オンプレミスデータストアから Amazon S3 へのデータの移動のためのソリューションについて説明します。AWS Glue は、Amazon S3 と、Amazon RDS、Amazon Redshift、または Amazon EC2 で実行されているデータベースなどの Virtual Private Cloud (VPC) に接続できます。詳細については、「データストアに接続を追加する」を参照してください。AWS Glue は、PostgreSQL、MySQL、Oracle、Microsoft SQL サーバー、および MariaDB などの各種オンプレミス JDBC データストアにも接続できます。

Read More

Amazon QuickSight で表計算による高度な分析を行う

Amazon QuickSight は最近、表計算機能を公開しました。これにより、ユーザーはデータに対し複雑な計算を実行し、より意味のある洞察を得られるようになりました。このブログ記事では、これらの計算をサンプルの販売データセットに適用する例を解説し、皆さんのニーズに合わせてこの機能をすぐに活用していただけるようにします。 使用したサンプルデータセットはこちらより参照できます。 表計算とは? Amazon QuickSight で表計算を使用すると、前期比の傾向など、メトリクスを導き出すことができます。指定したウィンドウでそのウィンドウ内のメトリクスを算出するため、または固定ウィンドウの計算に対して評価するために計算を作成することもできます。また、これらすべてのタスクをカスタマイズした詳細レベルで実行することも可能です。たとえば、各産業の売上の前年比増加分を算出したり、ある州で特定の産業の貢献度をパーセンテージで表示したりできます。また、1 年間の前月比の累積売上を算出したり、ある州で、ある産業の売上のランキングを出したりすることも可能です。 これらのメトリクスは関数を組み合わせることで算出できます。これらの関数としては、runningSum、percentOfTotal、percentDifference などのほか、ベースのパーティション関数が挙げられます。このケースで使用できるベースのパーティション関数には、sum、avg、count、distinct_count、rank および denseRank などがあります。パーティションに対し、最小および最大を計算できる minOver や maxOver もあります。 パーティション関数 これらの計算を実行する前に、パーティション関数に関する簡単な説明をご覧ください。パーティションを使用することで、計算が含まれるウィンドウの範囲を指定できるようになります。つまり、パーティションは計算が実行されるウィンドウを定義する際に役立ちます。 例として、複数の区分にまたがる各産業の平均売上を計算してみましょう。まず、図に、industry、segment、sales を追加します。通常の集計フィールド avg(sales) をテーブルに追加することで、産業内の各区分の平均売上が算出されますが、産業全体の平均ではありません。これを達成するには、avgOver 計算を使用する集計フィールドを作成します。 avgOver(aggregated measure, [partition by attribute, …]) ここでの aggregated measure は、図の範囲ごとにグループ分けされたとき、その単位で実行する計算を意味します。この計算は各産業のパーティションに平均が適用される前に実行されます。 産業別平均 = avgOver(sum(sales), [industry]) 同様に、sumOver、minOver、maxOver および countOver の関数を使用することで、それぞれ、売上の合計、売上の最低値と最高値、各産業の区分数を計算できます。 基準対実際の売上 ここでもう 1 つ別のユースケースを使って、ある州の各産業が、その州の平均売上に照らして評価したとき、どのような動きになるか見ていきましょう。 これを実行するには、テーブルの図に state、industry、sales を追加し、州ごとにソートします。基準を計算するために、avgOver 関数で集計フィールドを作成し、State の範囲でパーティションを区切ります。 avgOver(aggregated measure, [partition […]

Read More

Amazon Kinesis Agent for Microsoft Windows を使用して、Windows イベント、ログ、およびメトリックを収集、解析、変換、ストリーム配信する

Amazon Kinesis Agent for Microsoft Windows (KA4W) を含む完全なデータパイプラインは、Windows ベースのサービスのパフォーマンス、セキュリティ、および可用性を分析および監視するのに役立ちます。Windows サービスにほぼリアルタイムのダッシュボードとアラームを構築できます。また Amazon Athena、Kibana、Amazon QuickSight、Amazon CloudWatch などの可視化およびビジネスインテリジェンスツールを使用して、迅速に位置の特定、診断、および解決を行うこともできます。 KA4W は、ログを解析して JSON などの標準形式に変換することで、クラウドベースのログ処理を排除します。これらの形式は、データパイプラインの可視化ツールやビジネスインテリジェンスツールですぐに使用できます。 KA4W を使ってみた経験についてあるお客様から寄せられた声を少しご紹介します。 「Microsoft Windows 用の新しい Amazon Kinesis Agent は、複数の相互接続されたシステム間の複雑なオーケストレーションを排除することで、ログをストリーミングするワークフローを簡略化しました。エージェントはセットアップ、構成、更新が容易でしたが、最も重要な点は、パフォーマンスが大幅に改善された点です。総体的に見て、Amazon Kinesis Agent for Microsoft Windows は、環境内の問題の可視性を大幅に改善し、運用コストを著しく削減するポテンシャルを秘めています」- Sanjay Kumar 氏、シニアソフトウェアエンジニア、Autodesk Inc. この記事では、新しい Kinesis Agent for Windows が Windows アプリケーション、サーバー、およびワークステーションに関連するストリーミング分析のユースケースをどのように行うかを検証します。新しいエージェントを使い始める方法もご紹介します。KA4W を使用してリアルタイムデータを Amazon Kinesis サービスにプッシュすることで、次のようなさまざまな運用上の問題を解決できます。 枯渇したスコープの場合に IP リースが拒否されたことを識別するための Dynamic Host […]

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 Redshift を使用して、デジタルコンテンツを収益化するプロデューサーを支援している Narrativ

Narrativ は、彼ら自身の言葉によれば、「Narrativ は次世代のデジタルコンテンツプロデューサーのための収益化技術を構築しています。当社の製品ポートフォリオには、毎月数百万ドルの広告主価値と数十億データポイントを生成するリアルタイム入札プラットフォームとビジュアルストーリーツールが含まれています」ということになります。 Narrativ では、過去 15 ヶ月間に当社の製品によって生成されたデータが同様に桁違いに増加し、プラットフォームの使用量が大幅に増加しました。このブログ記事では、AWS を使用した、堅牢でスケーラブルで、パフォーマンスが高く、費用対効果の高い分析環境への進化を共有します。また、データウェアハウジングとデータレイク分析の過程で学んだベストプラクティスについても説明します。 Narrativ の継続的な成長の加速を見越して、私たちは昨年末、次の規模の計画を立て始めました。当社では Amazon Redshift をデータウェアハウスとして使用してきており、非常に役に立っています。データが増え続ける中、Amazon S3 をデータレイクとして利用し、Amazon Redshift Spectrum の外部テーブルを使用して S3 で直接データを照会しました。これにより、コストや複雑さに対するトレードオフなしで、ニーズを満たすためにストレージやコンピューティングのリソースを容易に個別に拡張できるようになったことを嬉しく思いました。 このプロセスで、Redshift Spectrum での作業を簡素化し、多数のベストプラクティスをカプセル化する Spectrify を作成しました。Spectrify は、簡単なコマンドで次の 3 つのことを実現します。まず、Amazon Redshift のテーブルをコンマ区切り値 (CSV) 形式で S3 にエクスポートします。次に、エクスポートされた CSV ファイルを並行して Apache Parquet ファイルに変換します。最後に、Amazon Redshift クラスターに外部テーブルを作成します。これで、クエリは Amazon Redshift のデータを使用して、膨大な量の Parquet データを S3 で展開し、すぐに結果を返すことができるようになりました。   上の図は、Amazon S3 の Parquet データと Amazon […]

Read More

Amazon Athena で CTAS ステートメントを使用して、コストを削減し、パフォーマンスを向上させる

Amazon Athena は、標準 SQL を使用して Amazon S3 でのデータの分析を簡易化するインタラクティブなクエリサービスです。Athena はサーバーレスであるため、インフラストラクチャの管理は不要であり、実行したクエリにのみ課金されます。Athena は最近、SELECT クエリまたは CREATE TABLE AS SELECT (CTAS) ステートメントの結果を使用するテーブルの作成のサポートをリリースしました。 アナリストは、CTAS ステートメントを使用して、データのサブセットまたは列のサブセット上の既存のテーブルから新しいテーブルを作成することができます。また、Apache Parquet や Apache ORC などのカラムナ形式にデータを変換し、分割するオプションもあります。Athena は、結果として得られたテーブルとパーティションを AWS Glue データカタログに自動的に追加し、その後のクエリですぐに使用できるようにします。 CTAS ステートメントは、大きなテーブルから構築された小さなテーブルでクエリを実行できるようにすることで、コストを削減し、パフォーマンスを向上させます。この記事では、元のデータセットよりも小さい新しいデータセットを作成し、その後のクエリをより高速に実行できるという、CTAS の使用の利点を示す 3 つのユースケースについて説明します。これらのユースケースではデータを繰り返し照会する必要があると想定して、より小さく、より最適なデータセットを照会して、より迅速に結果を取得できるようになりました。

Read More

Equinox フィットネスクラブで、Amazon Redshift を使用して顧客のジャーニーループを閉じる

クリックストリーム分析ツールはデータをうまく処理し、一部のツールは印象的な BI インターフェイスも備えています。ただし、クリックストリームデータを単独で分析するには多くの制限があります。たとえば、顧客はウェブサイトにある商品やサービスに興味があります。そして、顧客はそれらを購入するために物理的な店舗へ行きます。クリックストリームアナリストは「製品を見た後に何が起こったか?」と質問し、コマースアナリストは「購入する前に何が起こったか?」と質問します。 クリックストリームデータが他のデータソースを強化できることは驚くことではありません。購入データとともに使用すると、放棄されたカートの決定やマーケティング支出の最適化に役立ちます。同様に、オフラインおよびオンラインの行動や、顧客がアカウントを登録する前の行動さえも分析できます。ただし、クリックストリームのデータフィードの利点が明らかになったら、すぐに新しいリクエストに対応する必要があります。 このブログ記事では、Equinox フィットネスクラブで、クリックストリームデータで遅延バインディングのビュー戦略を使用するために、どのようにしてデータを Amazon Redshift から Amazon S3 へ移行したかを説明します。Apache Spark、Apache Parquet、データレイク、ハイブパーティショニング、外部テーブルなどの楽しいものを期待してください。すべてこの記事で広く取り上げます!

Read More

SimilarWeb が、Amazon Athena と Upsolver を使って毎月数百テラバイトのデータを分析する方法

これは、SimilarWeb のデータ収集およびイノベーションチームのリーダーである Yossi Wasserman 氏の寄稿です。 SimilarWeb は、同社の説明によれば、「SimilarWeb は、インテリジェンス市場の先駆者であり、デジタル世界を理解するための標準です。SimilarWeb は、すべての地域のすべての業界のウェブサイトまたはモバイルアプリに関する詳細な情報を提供します。SimilarWeb は、マーケティング担当者、アナリスト、セールスチーム、投資家、エグゼクティブなどがデジタル世界で成功するために必要な洞察を活用して、企業が意思決定を行う方法を変えています。」 SimilarWeb は、デジタル世界全体で何が起こっているのかについての洞察を提供するマーケットインテリジェンスの会社です。何千社もの顧客がこれらの洞察を活用して、マーケティング、販売促進、投資決定などの戦略を強化する重要な判断を下しています。当社のソリューションがもたらす意思決定の重要性が、こうした情報を効果的に収集して使用する当社の能力を強調しています。 特に、私が率いているチームは SimilarWeb のモバイルデータ収集の監督を担当しています。現在、毎月数百 TB の匿名データを処理しています。 欠陥のあるデータや不完全なデータに基づいて顧客の洞察を提供することはできないので、データ収集プロセスは SimilarWeb にとって重要です。データ収集チームは、新しいタイプのデータ、パートナーの統合、全体的なパフォーマンスなどを可能な限り迅速に効率よく分析することを必要としています。チームは可能な限り早期に異常を特定し、対処することが不可欠です。このプロセスをサポートするツールは、大きな利点をもたらします。 SimilarWeb のモバイルデータ収集の技術的課題 数百 TB のデータが、異なるソースから毎月 SimilarWeb にストリーミングされます。データは複雑です。 数百のフィールドがあり、その多くは深くネストされており、null 値を持つものも数多く含まれています。データをきれいにし、正規化し、照会のために準備する必要があるため、こうした複雑さから技術的な課題が生じます。 最初の選択肢は、実行に数時間かかる毎日のバッチ処理で SimilarWeb のすべてのデータを処理する、既存のオンプレミス Hadoop クラスターを使用することでした。ビジネスクリティカルな監視にとって、24 時間の遅延は受け入れられません。 そこで、Hadoop を使用して新しいプロセスを開発することを検討しました。しかしながら、それには私たちのチームが毎日の作業から離れて、抽出、変換、ロード (ETL) ジョブのコーディング、スケール、維持に集中することが必要です。また、異なるデータベースを扱う必要があるため、チームが業務に集中する妨げともなります。そのため、チームのメンバー全員が新しいレポートを作成し、不一致を調査し、自動化されたテストを追加できるようなアジャイルソリューションが必要でした。 また、コンピューティングのボトルネックを引き起こした別個を数える問題もありました。別個を数える問題とは、反復要素を含むデータストリームで別個の要素の数を数えるのが難しいという問題です。たとえば、デバイス、オペレーティングシステム、国別など、数十億もの可能なセグメントの一意のビジター数を追跡します。別個を数えることは非加算的集約であるため、一意のビジターの正確な数を計算するには、通常、多くのメモリ集約型コンピューティングノードが必要です。 Amazon Athena を選んだ理由 こうした課題を解決するために、当社は Amazon Athena を選びました。  Athena が、もたらしたもの: SQL を使用する高速な照会 — 私たちのチームは SQL を使用してデータを照会したいと考えていましたが、従来の SQL […]

Read More