Athena でデータをクエリする。 - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Athena でデータをクエリする。

Athena は、 内のアセットデータテーブルを自動的に検出します AWS Glue Data Catalog。これらのテーブルの積集合に対してクエリを実行するために、論理データテーブルであるビューを作成できます。詳細については、[Amazon Athena User Guide] (Amazon Athenaユーザーガイド) の[Working with views] (ビューの操作) を参照してください。

アセットプロパティデータとメタデータを組み合わせたビューを作成した後、アセット名とプロパティ名がアタッチされたプロパティ値を出力するクエリを実行できます。詳細については、[Amazon Athena User Guide] (Amazon Athena ユーザーガイド) の[Running SQL queries using Amazon Athena] (Amazon Athena を使用した SQL クエリの実行) を参照してください。

Athena を使用してアセットデータをクエリするには
  1. [Athena console] (Athena コンソール) に移動します。

    [開始方法] のページが表示されたら、[今すぐ始める] をクリックします。

  2. Athena を初めて使用する場合は、次のステップを実行して、クエリ結果に S3 バケットを設定します。Athena はこのバケットにクエリの結果を保存します。

    重要

    アセットデータバケットと異なるバケットを使用して、以前に作成したクローラがクエリ結果をクロールしないようにします。Athena クエリ結果にのみ使用するバケットを作成することをお勧めします。詳細については、[Amazon Simple Storage Service User Guide] (Amazon Simple Storage Service ユーザーガイド) の[How do I create an S3 bucket?] (S3バケットを作成する方法) をご覧ください。

    1. [設定] を選択します。

    2. [Query result location] (クエリ結果の場所) に、Athena クエリ結果用の S3 バケットを入力します。バケットは / で終わる必要があります。

      「クエリ結果の場所」がハイライトされた Athena 「設定」スクリーンショット。
    3. [保存] を選択します。

  3. 左側のパネルには、クエリするデータソースが表示されます。以下の操作を実行します。

    1. データソース でAwsDataCatalogの使用を選択します AWS Glue Data Catalog。

    2. データベース で、クローラーで作成した AWS Glue データベースを選択します。

      「データベース」が強調された Athena 「クエリエディタ」のスクリーンショット。

    asset_metadataasset_property_updates の 2 つのテーブルが表示されます。

  4. アセットプロパティデータとメタデータの組み合わせからビューを作成するには、次のクエリを入力し、[クエリを実行] を選択します。

    CREATE OR REPLACE VIEW iot_sitewise_asset_data AS SELECT "from_unixtime"("time_in_seconds" + ("offset_in_nanos" / 1000000000)) "timestamp", "metadata"."asset_name", "metadata"."asset_property_name", "data"."asset_property_value", "metadata"."asset_property_unit", "metadata"."asset_property_alias" FROM ( "iot_sitewise_asset_database".asset_property_updates data INNER JOIN "iot_sitewise_asset_database".asset_metadata metadata ON ( ("data"."asset_id" = "metadata"."asset_id") AND ("data"."asset_property_id" = "metadata"."asset_property_id") ) );

    このクエリは、アセット ID とプロパティ ID のアセットプロパティデータとメタデータテーブルを結合して、ビューを作成します。このクエリは、既存のビューがすでに存在する場合は、既存のビューを置き換えるため、複数回実行できます。

  5. + アイコンを選択して、新しいクエリを追加します。

  6. アセットデータのサンプルを表示するには、次のクエリを入力し、[クエリを実行] を選択します。タイムスタンプを、バケットにデータがある間隔に置き換えます。

    SELECT * FROM "iot_sitewise_asset_database"."iot_sitewise_asset_data" WHERE "timestamp" BETWEEN TIMESTAMP '2020-05-14 12:00:00.000' AND TIMESTAMP '2020-05-14 13:00:00.000' ORDER BY "timestamp" DESC LIMIT 50;

    このクエリは、2 つのタイムスタンプ間に最大 50 個のデータポイントを出力し、最新のエントリを最初に表示します。

    クエリの出力は、次のような結果になります。

    「クエリの実行」が強調表示された Athena 「クエリエディタ」スクリーンショット。

AWS IoT SiteWise アプリケーションに役立つクエリを実行できるようになりました。詳細については、[Amazon Athena User Guide] (Amazon Athena ユーザーガイド) の[SQL reference for Amazon Athena] (Amazon Athena用 SQL リファレンス) を参照してください。