AWSのビッグデータ–ビッグデータのスマートソリューション



この記事は、AWSがビッグデータをスマートに処理する方法を理解するのに役立ちます。また、AWSがビッグデータの課題を簡単に解決する方法も示しています。

ビッグデータのアイデアは単に新しいものではなく、どこにでもあります。ビッグデータの効果は、ビジネスから科学、政府から芸術など、いたるところにあります。最高の仲間はありません ビッグデータを処理および分析します。この記事では、AWSがビッグデータの課題にどのように取り組んでいるかを示します。ここで取り上げる指針は次のとおりです。

ビッグデータとは?

ビッグデータの特徴





ビッグデータは、高度な洞察、意思決定、およびプロセスの自動化を可能にする、費用効果が高く革新的な形式の情報処理を必要とする、大量、高速、および/または多様な情報資産と見なすことができます。

ビッグデータは、ビッグデータの特性を定義する5つの重要なVで構成されています。 AWSに移行する前に、これらについて説明しましょう。



AWSとは何ですか?

多くの異なるクラウドコンピューティング製品とサービスで構成されています。収益性の高いAmazon部門は、サーバー、ストレージ、ネットワーキング、リモートコンピューティング、電子メール、モバイル開発、およびセキュリティを提供しています。さらに。 AWSは、Amazonの仮想マシンサービスであるEC2とAmazonのストレージシステムであるS3の2つの主要な製品で構成されています。非常に大きく、コンピューティングの世界に存在するため、現在、最も近い競合他社の少なくとも10倍のサイズであり、NetflixやInstagramなどの人気のあるウェブサイトをホストしています。

AWSは、世界中の12のグローバルリージョンに分割されており、各リージョンには、サーバーが配置されている複数のアベイラビリティーゾーンがあります。これらのサービス対象地域は、ユーザーがサービスに地理的な制限を設定できるようにするだけでなく、データが保持される物理的な場所を多様化することでセキュリティを提供するために分割されています。



AWSでビッグデータを使用する理由

多くの異なるドメインの科学者、開発者、その他のテクノロジー愛好家は、AWSを利用してビッグデータ分析を実行し、デジタル情報のVの増加という重大な課題に対応しています。 AWSは、コストを大幅に削減し、需要に合わせてスケーリングし、イノベーションの速度を上げることでビッグデータの管理を支援するクラウドコンピューティングサービスのポートフォリオを提供します。

アマゾンウェブサービスは 完全に統合されたポートフォリオ クラウドコンピューティングサービスの。さらに、ビッグデータアプリケーションの構築、保護、および展開に役立ちます。また、AWSを使用すると、調達するためのハードウェアや、維持および拡張するためのインフラストラクチャは必要ありません。このため、新しい洞察を明らかにすることにリソースを集中させることができます。新しい機能は絶えず追加されているため、長期的な投資を行うことなく、常に最新のテクノロジーを活用できます。

AWSはビッグデータの課題をどのように解決できますか?

ビッグデータ向けのAWSソリューション

AWSには、すべての開発とデプロイの目的のための多数のソリューションがあります。また、データサイエンスとビッグデータの分野では、AWSはビッグデータ処理のさまざまな側面で最近の開発を考え出しました。ツールにジャンプする前に、AWSがソリューションを提供できるビッグデータのさまざまな側面を理解しましょう。

  1. データの取り込み
    生データ(トランザクション、ログ、モバイルデバイスなど)の収集は、ビッグデータを扱うときに多くの組織が直面する最初の課題です。優れたビッグデータプラットフォームはこのステップを容易にし、開発者が構造化から非構造化まで、あらゆる速度でリアルタイムからバッチまで、さまざまなデータを取り込むことを可能にします。

  2. データの保存
    ビッグデータプラットフォームには、タスクの処理前または処理後にデータを保存するための、安全でスケーラブルで耐久性のあるリポジトリが必要です。特定の要件によっては、転送中のデータ用の一時ストアも必要になる場合があります。

  3. 情報処理
    これは、データ変換が生の状態から消費可能な形式に行われるステップです。通常は、並べ替え、集約、結合、さらにはより高度な機能やアルゴリズムの実行によって行われます。結果として得られるデータセットは、さらに処理するためにストレージに保存されるか、ビジネスインテリジェンスおよびデータ視覚化ツールを介して利用できるようになります。

    tostringメソッドの書き方
  4. 視覚化

    ビッグデータとは、データ資産から価値の高い実用的な洞察を得ることがすべてです。理想的には、データセットの迅速かつ簡単な探索を可能にするセルフサービスのビジネスインテリジェンスと俊敏なデータ視覚化ツールを通じて、利害関係者がデータを利用できるようにします。

ビッグデータ用のAWSツール

前のセクションでは、AWSがソリューションを提供できるビッグデータのフィールドについて説明しました。さらに、AWSには、ビッグデータの機能を顧客に提供するための複数のツールとサービスがあります。

ビッグデータの処理に関連するさまざまな段階を処理するためにAWSが提供するさまざまなソリューションを見てみましょう

摂取

  1. キネシス

    Amazon Kinesis Firehoseは、リアルタイムストリーミングデータをAmazonS3に直接配信するためのフルマネージドサービスです。 Kinesis Firehoseは、ストリーミングデータのボリュームとスループットに合わせて自動的にスケーリングし、継続的な管理を必要としません。 Amazon S3に保存する前に、ストリーミングデータを変換するようにKinesisFirehoseを設定できます。

  2. 雪玉
    使用できます AWS Snowball オンプレミスのストレージプラットフォームとHadoopクラスターからS3バケットにバルクデータを安全かつ効率的に移行します。 AWSマネジメントコンソールでジョブを作成すると、Snowballアプライアンスが自動的に取得されます。 Snowballが到着したら、ローカルネットワークに接続し、Snowballクライアントをオンプレミスのデータソースにインストールしてから、Snowballクライアントを使用してファイルディレクトリを選択し、Snowballデバイスに転送します。

ストレージ

  1. アマゾンS3

アマゾンS3 は、データアクセスの待ち時間がミリ秒の、安全で拡張性が高く耐久性のあるオブジェクトストレージです。 S3は、ウェブサイトやモバイルアプリ、企業アプリケーション、IoTセンサーやデバイスからのデータなど、あらゆるタイプのデータをどこからでも保存できます。また、比類のない可用性で任意の量のデータを保存および取得でき、99.999999999%(11ナイン)の耐久性を提供するためにゼロから構築されています。

2. AWSGlue

Glueは、データレイク内のデータを検出可能にするためのデータカタログを提供するフルマネージドサービスです。さらに、抽出、変換、および読み込み(ETL)を実行して、分析用のデータを準備する機能があります。また、組み込みのデータカタログは、すべてのデータアセットの永続的なメタデータストアのようなものであり、すべてのデータを単一のビューで検索およびクエリできます。

処理

  1. EMR
    SparkとHadoopを使用したビッグデータ処理の場合、 Amazon EMR 大量のデータを簡単、迅速、かつ費用効果の高い方法で処理できるマネージドサービスを提供します。さらに、EMRは以下を含む19の異なるオープンソースプロジェクトをサポートしています Hadoopスパーク 、および また、データエンジニアリング、データサイエンス開発、およびコラボレーション用のマネージドEMRノートブックが付属しています。

  2. Redshift
    データウェアハウジングの場合、 アマゾン Redshiftは、ペタバイトの構造化データに対して複雑な分析クエリを実行する機能を提供します。また、それは含まれています Redshiftスペクトル これは、不要なデータ移動を必要とせずに、S3の構造化データまたは非構造化データのExabytesに対してSQLクエリを直接実行します。

視覚化

  1. Amazon QuickSight

    ダッシュボードと視覚化のために、AmazonQuicksightは高速なクラウドベースのビジネス分析サービスを提供します。見事な視覚化と豊富なダッシュボードを簡単に構築できます。さらに、任意のブラウザまたはモバイルデバイスからそれらにアクセスできます。

デモ–オーストラリアの絶滅危惧種の動植物のデータの分析。

このデモでは、オーストラリアの州と準州からの絶滅危惧種の動植物のサンプルデータを使用します。ここでは、EMRクラスターを作成し、マルチステップのApacheHiveジョブを実行するように構成します。 EMRクラスターにはApacheHiveがインストールされます。このクラスターはEMRFSをファイルシステムとして使用するため、データの入力と出力の場所はS3バケットにマップされます。クラスターは、ログファイルの保存にも同じS3バケットを使用します。

次に、データのサンプルセットを処理するために、クラスター内にいくつかのEMRステップを作成します。ここで、これらの各ステップはHiveスクリプトを実行し、最終出力はS3バケットに保存されます。これらの手順により、MapReduceログが生成されます。これは、実行時にHiveコマンドがMapReduceジョブに変換されるためです。各ステップのログファイルは、それが生成するコンテナから集約されます。

サンプルデータ

このユースケースのサンプルデータセットは、 オーストラリア政府のオープンデータウェブサイト 。このデータセットは、オーストラリアのさまざまな州や地域からの絶滅危惧種の動植物に関するものです。このデータセットとCSVファイルのフィールドの説明を表示してダウンロードできます ここに

処理手順

ここでの最初のEMRジョブステップには、S3の基になるソースファイルのスキーマとしてHiveテーブルを作成することが含まれます。 2番目のジョブステップでは、データに対して正常なクエリを実行します。同様に、3番目と4番目のクエリを実行します。

これらの4つのステップを1時間に数回繰り返し、マルチステップのバッチジョブの連続実行をシミュレートします。ただし、実際のシナリオでは、通常、各バッチ実行間の時間差ははるかに大きくなる可能性があります。連続する実行間のわずかな時間のギャップは、テストを加速することを目的としています。

S3バケットとフォルダー

EMRクラスターを作成する前に、ここでファイルをホストするS3バケットを作成する必要がありました。この例では、このバケットに「arvind1-bucket」という名前を付けます。このバケットの下のフォルダーは、AWS Console forS3で以下に示されています。

  • 入力フォルダーにはサンプルデータが保持されます

  • スクリプトフォルダには、EMRジョブステップ用のHiveスクリプトファイルが含まれています

  • 出力フォルダは明らかにHiveプログラムの出力を保持します

  • EMRクラスターは、logsフォルダーを使用してログファイルを保存します。

EMRジョブステップ用のHiveスクリプト

1.このジョブステップはHiveスクリプトを実行します外部Hiveテーブルを作成します。この表は、基礎となるCSVデータファイルの表形式のスキーマについて説明しています。このためのスクリプトは次のとおりです。

CREATE EXTERNAL TABLE `threatened_species`(`科学名 `文字列、`共通名 `文字列、`現在の科学名 `文字列、`脅威ステータス `文字列、` act`文字列、 `nsw`文字列、` nt`文字列、 `qld`文字列、 `sa`文字列、` tas`文字列、 `vic`文字列、` wa`文字列、 `aci`文字列、` cki`文字列、 `ci`文字列、` csi`文字列、 `jbt`文字列、` nfi` string、 `hmi` string、` aat` string、 `cma` string、` listed sprat taxonid` bigint、 `current sprat taxonid` bigint、` kingdom` string、 `class` string、` profile` string、 `date extract`文字列、 `nsl name`文字列、` family`文字列、 `genus`文字列、` species`文字列、 `infraspecificrank`文字列、` infraspecies`文字列、 `species author`文字列、` infraspecies author`文字列)行フォーマット区切りフィールド'、' STORED AS INPUTFORMAT'org.apache.hadoop.mapred.TextInputFormat 'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION's3:// arvind1-bucket / script / 'で終了

2.このジョブステップでは、クエリを実行して、ニューサウスウェールズ州(NSW)の絶滅危惧種の上位5種を計算します。 Hiveクエリファイル名は endangeredSpeciesNSW.q 以下に示します。

SELECT種、COUNT(nsw)AS number_of_endangered_species FROM Threatened_species WHERE(nsw = 'Yes' OR nsw = 'Endangered')AND'threatened status '=' Endangered 'GROUP BYspecies HAVING COUNT(nsw)> 1 ORDER BY number_of_endangered_species DESC LIMIT 5

3.3。このジョブステップでは、クエリを実行して、オーストラリアの各植物ファミリーの絶滅危惧植物種の総数を計算します。 Hiveクエリファイル名はendangeredPlantSpecies.q以下に示します

SELECTファミリ、COUNT(種)AS number_of_endangered_species FROM Threatened_species2 WHERE kingdom = 'Plantae' AND '脅威のステータス' = '絶滅危惧種' GROUPBYファミリ

4.このステップでは、オーストラリアのクイーンズランド州で絶滅した動物種の学名を一覧表示します。スクリプトファイルは extinctAnimalsQLD.q 以下に示します。

SELECT '共通名'、 '科学名' FROM Threatened_species WHERE kingdom = 'Animalia' AND(qld = 'Yes' OR qld = 'Extinct')AND'threatened status '=' Extinct '

ログの集計

ここでは、logAggregation.jsonというJSONファイルをS3バケットのscriptsフォルダーにアップロードしました。このファイルは、YARNログファイルを集約するために使用します。ログの集約は、クラスターの起動時にyarn-site.xml構成ファイルで構成されます。 logAggregation.jsonファイルの内容は次のとおりです。

Pythonを学ぶ必要がある理由

[{「分類」:「yarn-site」、「プロパティ」:{「yarn.log-aggregation-enable」:「true」、「yarn.log-aggregation.retain-seconds」:「-1」、「yarn .nodemanager.remote-app-log-dir”:“ s3:// arvind1-bucket / logs”}}]

S3バケットを作成し、データファイルとスクリプトファイルをそれぞれのフォルダーにコピーしたら、EMRクラスターをセットアップします。次のスナップショットは、ほとんどデフォルト設定でクラスターを作成するプロセスを示しています。

EMRクラスターのセットアップ

最初のイメージでは、AWSコンソールでクラスターを構成するために、Hiveを含むEMRが推奨するすべてのアプリケーションを保持しています。 Hiveメタデータを保存するためにAWSGlueを使用する必要はありません。また、現時点ではジョブステップを追加する必要もありません。ただし、Hiveのソフトウェア設定を追加する必要があります。ここでは、このフィールドでログ集計JSONファイルへのパスを指定する方法を注意深く観察する必要があります。

次のステップでは、すべてのデフォルト設定を保持しました。テストのために、クラスターには1つのマスターノードと2つのコアノードがあります。ここでの各ノードはm3.xlargeインスタンスであり、10GBのルートボリュームがあります。次のステップでクラスターにarvind1-clusterという名前を付け、ログファイルのカスタムs3の場所を指定します。

最後に、クラスターのマスターノードにアクセスするためにEC2キーペアを指定しました。 EMR、EC2インスタンスプロファイル、および自動スケーリングオプションのデフォルトのIAMロールに変更はありません。また、マスターノードとコアノードはデフォルトで利用可能なセキュリティグループを使用しています。通常、これはEMRクラスターのデフォルト設定です。すべての準備が整うと、以下に示すように、クラスターは「待機中」の状態になります。

Hiveジョブステップを送信する

この後、SSHアクセスを許可する必要があります。

  1. でAmazonEMRコンソールを開きます https://console.aws.amazon.com/elasticmapreduce/
  2. 選択 クラスター
  3. を選択してください 名前 クラスターの。
  4. セキュリティとアクセス を選択してください マスターのセキュリティグループ リンク。
  5. 選択 ElasticMapReduce-マスター リストから。
  6. 選択 インバウンド 編集
  7. 次の設定でルールを見つけて、 バツ それを削除するアイコン:
    • タイプ SSH
    • ポート 22
    • ソース カスタム0.0.0.0/0
  8. ルールのリストの一番下までスクロールして、 ルールを追加
  9. ために タイプ 、 選択する SSH 。これは自動的に入力されます TCP ために プロトコル そして 22 ために ポート範囲
  10. ソースについては、 私のIP 。これにより、クライアントコンピューターのIPアドレスが送信元アドレスとして自動的に追加されます。または、次の範囲を追加できます カスタム 信頼できるクライアントのIPアドレスと選択 ルールを追加する 他のクライアント用に追加のルールを作成します。多くのネットワーク環境では、IPアドレスを動的に割り当てるため、セキュリティグループルールを定期的に編集して、信頼できるクライアントのIPアドレスを更新する必要がある場合があります。
  11. 選択 セーブ
  12. 必要に応じて、 ElasticMapReduce-スレーブ リストから上記の手順を繰り返して、SSHクライアントが信頼できるクライアントからコアノードとタスクノードにアクセスできるようにします。

EMRクラスターが稼働しているため、4つのジョブステップを追加しました。これらは、EMRが次々に実行するステップです。次の画像は、AWSEMRコンソールからの手順を示しています。

4つのステップを追加すると、これらのステップのステータスが完了したことを確認できます。これらのステップの実行に問題がある場合でも、そのような場合は、これらのステップのログファイルを使用して解決できます。

これが、AWSのビッグデータに関するこの記事の私の側からの話です。ここで説明したことをすべて理解していただければ幸いです。

AWSでこのビッグデータが関連していると感じた場合は、Edurekaのライブおよびインストラクター主導のコースをチェックしてください。 、業界の実務家によって共同作成されました。

質問がありますか?このAWSでJavaWebアプリケーションをデプロイする方法のコメントセクションにその旨を記載してください。折り返しご連絡いたします。