本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Athena 查询数据
Athena 会在中自动发现您的资产数据表。 Amazon Glue Data Catalog要对这些表的交集执行查询,您可以创建一个视图,即逻辑数据表。有关更多信息,请参阅 Amazon Athena 用户指南中的使用视图。
创建结合了资产属性数据和元数据的视图后,您可以运行查询,输出附加了资产和属性名称的属性值。有关更多信息,请参阅亚马逊 Athena 用户指南中的使用亚马逊 Athena 运行SQL查询。
使用 Athena 查询资产数据
-
导航到 Athena 控制台
。 如果出现 入门 页面,请选择 开始”。
-
如果您是第一次使用 Athena,请完成以下步骤来配置 S3 存储桶以获得查询结果。Athena 将您的查询结果保存在此存储桶中。
重要
使用与资产数据存储桶不同的存储桶,以便您之前创建的爬网程序不会抓取查询结果。我们建议您创建仅用于 Athena 查询结果的存储桶。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的创建存储桶。
-
选择 设置。
-
在查询结果位置中,输入 Athena 查询结果的 S3 存储桶。存储桶必须以
/
结尾。 -
选择保存。
-
-
左侧面板包含要查询的数据源。执行以下操作:
-
对于数据源,AwsDataCatalog请选择使用 Amazon Glue Data Catalog。
-
对于数据库,选择您使用 Crawler 创建 Amazon Glue 的数据库。
您应该看到两个表:asset_metadata 和 asset_property_updates。
-
-
要根据资产属性数据和元数据的组合创建视图,请输入以下查询,然后选择 运行查询。
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 相关的资产属性数据和元数据表以创建视图。您可以多次运行此查询,如果视图已存在,它将替换现有视图。
-
选择 + 图标以添加新查询。
-
要查看资产数据示例,请输入以下查询,然后选择 Run query (运行查询)。将时间戳替换为存储桶包含数据的时间间隔。
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;此查询在两个时间戳之间输出多达 50 个数据点,先显示最近的条目。
您的查询输出可能与以下结果类似。
现在,您可以运行对您的 Amazon IoT SiteWise 应用程序有用的查询。有关更多信息,请参阅《亚马逊 Athena 用户指南》中有关亚马逊 Athena 的SQL参考资料。