AWS Serverless Application Repository を使用して Hive データソースコネクタをデプロイする - Amazon Athena

AWS Serverless Application Repository を使用して Hive データソースコネクタをデプロイする

Hive 用の Athena データソースコネクタをデプロイする際は、Athena コンソールから始める代わりに AWS Serverless Application Repository を使用できます。AWS Serverless Application Repository により、使用する対象のコネクタを検索し、コネクタに必要なパラメータを指定した上で、そのコネクタをアカウントにデプロイします。コネクタのデプロイが完了したら、Athena コンソールを使用して Athena がデータソースを使用できるようにします。

AWS Serverless Application Repository を使用して Hive のデータソースコネクタをアカウントにデプロイするには
  1. AWS Management Console にサインインし、サーバーレスアプリケーションリポジトリを開きます。

  2. ナビゲーションペインで、[Available applications] (利用可能なアプリケーション) を選択します。

  3. [Show apps that create custom roles or resource policies] (カスタム IAM ロールまたはリソースポリシーを作成するアプリを表示する) オプションを選択します。

  4. 検索ボックスに「Hive」と入力します。表示されるコネクタには、次の 2 つがあります。

    • AthenaHiveMetastoreFunction – Uber Lambda 関数の .jar ファイル。

    • AthenaHiveMetastoreFunctionWithLayer – Lambda レイヤーと thin Lambda 関数の .jar ファイル。

    2 つのアプリケーションの機能は同じで、実装のみが異なります。どちらか 1 つを使用して、Athena を Hive メタストアに接続する Lambda 関数を作成できます。

  5. 使用するコネクタの名前を選択します。このチュートリアルでは AthenaHiveMetastoreFunction を使用します。

    Hive 用の Athena データソースコネクタの名前を選択します。
  6. [Application settings] (アプリケーションの設定) で Lambda 関数のパラメータを入力します。

    • [LambdaFuncName] – 関数の名前を指定します。たとえば、myHiveMetastore です。

    • [SpillLocation] (スピル場所) - Lambda 関数のレスポンスサイズが 4 MB を超える場合にスピルオーバーメタデータを保持するための、このアカウント内の Amazon S3 の場所を指定します。

    • [HMSUris] – ポート 9083 で Thrift プロトコルを使用する Hive メタストアホストの URI を入力します。thrift://<host_name>:9083 構文を使用してください。

    • [LambdaMemory] - 128 MB から 3,008 MB までの値を指定します。Lambda 関数には、設定するメモリ量に比例した CPU サイクルが割り当てられます。デフォルトは 1024 です。

    • [LambdaTimeout] – Lambda 呼び出しの最大許容実行時間を 1~900 (900 秒は 15 分) の秒数で指定します。デフォルトは 300 秒 (5 分) です。

    • [VPCSecurityGroupIds] – Hive メタストアの VPC セキュリティグループ ID のカンマ区切りリストを入力します。

    • [VPCSubnetIds] – Hive メタストアの VPC サブネット ID のカンマ区切りリストを入力します。

  7. [Application details] (アプリケーションの詳細)ページの右下で [I acknowledge that this app creates custom IAM roles] (このアプリがカスタム IAM ロールを作成することを承認します) を選択してから、[Deploy] (デプロイ) をクリックします。

この時点で、Lambda 関数を使用して Hive メタストアに接続するように Athena を設定できます。この手順については、「デプロイ済みの Hive メタストアコネクタを使用するように Athena を設定する」を参照してください。