DynamoDB-MapReduce

AmazonのElasticMapReduce(EMR)を使用すると、ビッグデータを迅速かつ効率的に処理できます。EMRはEC2インスタンスでApacheHadoopを実行しますが、プロセスを簡素化します。Apache Hiveを利用して、SQLに似たクエリ言語であるHiveQLを介したクエリマップReduceジョブフローを使用します。Apache Hiveは、クエリとアプリケーションを最適化する方法として機能します。

管理コンソールの[EMR]タブ、EMR CLI、API、またはSDKを使用して、ジョブフローを起動できます。Hiveをインタラクティブに実行するか、スクリプトを利用するかを選択することもできます。

EMRの読み取り/書き込み操作はスループットの消費に影響を与えますが、大きな要求では、バックオフアルゴリズムの保護を使用して再試行を実行します。また、EMRを他の操作やタスクと同時に実行すると、スロットルが発生する可能性があります。

DynamoDB / EMR統合は、バイナリおよびバイナリセット属性をサポートしていません。

DynamoDB / EMR統合の前提条件

EMRを使用する前に、必要な項目のこのチェックリストを確認してください-

  • AWSアカウント
  • EMR操作で使用されるのと同じアカウントで入力されたテーブル
  • DynamoDB接続を備えたカスタムHiveバージョン
  • DynamoDB接続のサポート
  • S3バケット(オプション)
  • SSHクライアント(オプション)
  • EC2キーペア(オプション)

ハイブのセットアップ

EMRを使用する前に、キーペアを作成してHiveをインタラクティブモードで実行します。キーペアにより、ジョブフローのEC2インスタンスとマスターノードへの接続が可能になります。

次の手順に従ってこれを実行できます-

  • 管理コンソールにログインし、次の場所にあるEC2コンソールを開きます。 https://console.aws.amazon.com/ec2/

  • コンソールの右上部分でリージョンを選択します。リージョンがDynamoDBリージョンと一致することを確認します。

  • ナビゲーションペインで、[ Key Pairs

  • 選択する Create Key Pair

  • の中に Key Pair Name フィールドに名前を入力して選択します Create

  • 次の形式を使用する結果の秘密鍵ファイルをダウンロードします:filename.pem。

Note −キーペアがないとEC2インスタンスに接続できません。

Hiveクラスター

Hiveを実行するためのHive対応クラスターを作成します。Hive-to-DynamoDB接続に必要なアプリケーションとインフラストラクチャの環境を構築します。

このタスクは、次の手順を使用して実行できます-

  • EMRコンソールにアクセスします。

  • 選択する Create Cluster

  • 作成画面で、クラスターのわかりやすい名前でクラスター構成を設定し、[ Yes 終了保護とチェックオン Enabled ロギング用、S3宛先 log folder S3 location、および Enabled デバッグ用。

  • [ソフトウェア構成]画面で、フィールドが保持されていることを確認します Amazon Hadoopディストリビューションの場合、AMIバージョンの最新バージョン、インストールするアプリケーションのデフォルトのHiveバージョン-Hive、およびインストールするアプリケーションのデフォルトのPigバージョン-Pig。

  • [ハードウェア構成]画面で、フィールドが保持されていることを確認します Launch into EC2-Classic ネットワークの場合、 No Preference EC2アベイラビリティーゾーンの場合、マスター-Amazon EC2インスタンスタイプのデフォルト、リクエストスポットインスタンスのチェックなし、コア-Amazon EC2インスタンスタイプのデフォルト、 2 カウントの場合、リクエストスポットインスタンスのチェックなし、タスクのデフォルト-Amazon EC2インスタンスタイプ、 0 カウントの場合、リクエストスポットインスタンスのチェックはありません。

クラスターの障害を防ぐために十分な容量を提供する制限を必ず設定してください。

  • [セキュリティとアクセス]画面で、フィールドがEC2キーペアのキーペアを保持していることを確認します。 No other IAM users IAMユーザーアクセスで、および Proceed without roles IAMの役割で。

  • [ブートストラップアクション]画面を確認しますが、変更しないでください。

  • 設定を確認し、 Create Cluster 終わった時に。

A Summary クラスターの開始時にペインが表示されます。

SSHセッションをアクティブ化する

マスターノードに接続してCLI操作を実行するには、アクティブなSSHセッションが必要です。EMRコンソールでクラスターを選択して、マスターノードを見つけます。マスターノードを次のようにリストしますMaster Public DNS Name

PuTTYがない場合は、インストールしてください。次に、PuTTYgenを起動し、Load。PEMファイルを選択して開きます。PuTTYgenは、インポートが成功したことを通知します。選択するSave private key PuTTY秘密鍵形式(PPK)で保存するには、 Yesパスフレーズなしで保存するため。次に、PuTTYキーの名前を入力し、Save、PuTTYgenを閉じます。

最初にPuTTYを起動して、PuTTYを使用してマスターノードと接続します。選択Sessionカテゴリリストから。[ホスト名]フィールドにhadoop @ DNSと入力します。展開Connection > SSH カテゴリリストで、を選択します Auth。制御オプション画面で、Browse認証用の秘密鍵ファイル用。次に、秘密鍵ファイルを選択して開きます。選択するYes セキュリティアラートポップアップ用。

マスターノードに接続すると、Hadoopコマンドプロンプトが表示されます。これは、インタラクティブなHiveセッションを開始できることを意味します。

ハイブテーブル

Hiveは、HiveQLを使用してEMRクラスターでクエリを実行できるデータウェアハウスツールとして機能します。以前の設定では、作業プロンプトが表示されます。「hive」と入力し、必要なコマンドを入力するだけで、Hiveコマンドをインタラクティブに実行できます。詳細については、当社のハイブのチュートリアルを参照してくださいハイブ。