Athena を Apache Hive メタストアに接続する
Athena を Apache Hive メタストアに接続するには、Lambda 関数を作成して設定する必要があります。基本的な実装では、Athena マネジメントコンソールから必要なステップのすべてを実行できます。
注記
以下の手順には、Lambda 関数にカスタム IAM ロールを作成するための許可が必要です。カスタムロールを作成するアクセス許可がない場合は、Athena のリファレンス実装を使用して Lambda 関数を個別に作成してから、AWS Lambda コンソールを使用してこの関数に既存の IAM ロールを選択することができます。詳細については、「」を参照してください既存の IAM 実行ロールを使用して Hive メタストアに Athena を接続する
Athena を Hive メタストアに接続する
https://console.aws.amazon.com/athena/
で Athena コンソールを開きます。 コンソールのナビゲーションペインが表示されない場合は、左側の展開メニューをクリックします。
-
[Data sources] (データソース) を選択します。
-
コンソールの右上で、[Create data source] (データソースの作成) を選択します。
-
[Choose a data source] (データソースの選択) ページの [Data sources] (データソース) で、[S3 - Apache Hive metastore] (S3 – Apache Hive メタストア) を選択します。
-
[Next] を選択します。
-
[Data source details] (データソースの詳細) セクションの [Data source name] (データソース名) に、Athena からデータソースをクエリする際に SQL ステートメントで使用する名前を入力します。名前は最大 127 文字で、アカウント内で一意である必要があります。この設定は、作成後に変更することはできません。有効な文字は、a~z、A~Z、0~9、_ (アンダースコア)、@ (at マーク)、および - (ハイフン) です。
awsdatacatalog
、hive
、jmx
、およびsystem
の名前は Athena によって予約されており、データソース名には使用できません。 -
[Lambda 関数] で [Lambda 関数の作成] を選択してから、[AWS Lambda で新しい関数を作成] を選択します。
AWS Lambda コンソールに [AthenaHiveMetastoreFunction] ページが開きます。このページには、コネクタに関する詳細情報が表示されます。
[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 のカンマ区切りリストを入力します。
-
-
[I acknowledge that this app creates custom IAM roles and resource policies] (このアプリがカスタム IAM ロールとリソースポリシーを作成することを承認します) を選択した後、[Deploy] (デプロイ) を選択します。
デプロイが完了すると、Lambda アプリケーションのリストにこの関数が表示されます。Hive メタストア関数がアカウントにデプロイされたところで、それを使用するように Athena を設定できます。
-
Athena コンソールの [Connect data sources] (データソースを接続) ページに戻ります。
-
[Lambda function] セクションで、Lambda 関数の検索ボックスの横にある更新アイコンをクリックします。利用できる関数のリストを更新すると、新しく作成した関数がリストに表示されます。
-
Lambda コンソールで作成した関数の名前を選択します。Lambda 関数の ARN が表示されます。
-
(オプション) [Tags] (タグ) でキーと値のペアを追加して、このデータソースに関連付けます。タグの詳細については、Athena リソースにタグ付けするを参照してください。
-
[Next] を選択します。
-
[Review and create] (確認と作成) ページで、データソースの詳細について確認し、[Add data source] (データソースの追加) を選択します。
-
データソースのページの [データソースの詳細] セクションには、新しいコネクタに関する情報が表示されます。
これで、指定した [Data source name] (データソース名) を使用して、Athena の SQL クエリで Hive メタストアを参照できるようになります。SQL クエリで、次の構文例を使用し、
hms-catalog-1
を以前に指定したカタログ名に置き換えます。SELECT * FROM hms-catalog-1.CustomerData.customers
-
作成したデータソースを表示、編集、または削除する方法については、「データソースを管理する」を参照してください。