Dynamodb-mapreduce
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チュートリアルを参照してください。