Dynamodb-mapreduce

提供:Dev Guides
移動先:案内検索

DynamoDB-MapReduce

AmazonのElastic MapReduce(EMR)を使用すると、ビッグデータを迅速かつ効率的に処理できます。 EMRはEC2インスタンスでApache Hadoopを実行しますが、プロセスを簡素化します。 Apache link:/hive/index [Hive]を使用して、SQLに似たクエリ言語であるlink:/hive/hiveql_select_where [HiveQL]を介したクエリマップ削減ジョブフローを使用します。 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インスタンスとマスターノードへの接続が可能になります。

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

  • 管理コンソールにログインし、https://console.aws.amazon.com/ec2/v2/home [https://console.aws.amazon.com/ec2/]にあるEC2コンソールを開きます
  • コンソールの右上部分で領域を選択します。 リージョンがDynamoDBリージョンと一致することを確認します。
  • [ナビゲーション]ペインで、[キーペア]を選択します。
  • [キーペアの作成]を選択します。
  • [キーペア名]フィールドに名前を入力し、[作成]を選択します。 *次の形式を使用して、結果の秘密鍵ファイルをダウンロードします:filename.pem。

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

ハイブクラスター

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

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

  • EMRコンソールにアクセスします。
  • [ Create Cluster ]を選択します。
  • 作成画面で、クラスターのわかりやすい名前を使用してクラスター構成を設定し、終了保護に*はい*を選択し、ログに*有効*を、*ログフォルダーS3の場所にS3宛先*を、デバッグに*有効*をオンにします。 。
  • [ソフトウェアの構成]画面で、Hadoopディストリビューションの Amazon 、AMIバージョンの最新バージョン、Install-HiveのアプリケーションのデフォルトのHiveバージョン、およびインストールのアプリケーションのデフォルトのPigバージョンを保持するフィールドを確認します。
  • [ハードウェア構成]画面で、フィールドが[ネットワークのEC2-Classicで起動]、[EC2アベイラビリティゾーンの*設定なし]、マスターAmazon Amazon EC2インスタンスタイプのデフォルト、リクエストスポットインスタンスのチェックなし、コアのデフォルトを保持していることを確認します-Amazon EC2インスタンスタイプ、カウントの 2 、リクエストスポットインスタンスのチェックなし、タスク-Amazon EC2インスタンスタイプのデフォルト、カウントの 0 、リクエストスポットインスタンスのチェックなし。

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

  • [セキュリティとアクセス]画面で、フィールドにEC2キーペアのキーペア、他のIAMユーザー*はIAMユーザーアクセス、 *Proceed without roles はIAMロールに保持されていることを確認します。

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

  • 設定を確認し、終了したら Create Cluster を選択します。

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

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

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

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

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

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

ハイブテーブル

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