

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 运行 Amazon Athena 查询
<a name="cur-ate-run"></a>

要对您的数据运行 Athena 查询，请先使用 Athena 控制台检查 AWS 是否正在刷新数据，然后在 Athena 控制台上运行查询。当您运行 SQL 时，请确保从下拉列表中选择了正确的数据库。您可以使用以下 SQL 来检查状态。

```
select status from cost_and_usage_data_status 
```

两个可能的结果是 `READY` 和 `UPDATING`。如果状态为 `READY`，则可以查询您的 Athena 数据库。如果状态为 `UPDATING`，则 Athena 可能返回不完整的结果。

确认 AWS 正在刷新数据后，您可以运行自己的查询。例如，以下查询显示了名为的示例数据库中每个月按服务划分的 year-to-date费用`mycostandusage_parquet`。以下查询显示了 2018 年的 year-to-date成本。更新年度以查看当前 year-to-date成本。

```
SELECT line_item_product_code,
sum(line_item_blended_cost) AS cost, month
FROM mycostandusage_parquet
WHERE year='2018'
GROUP BY  line_item_product_code, month
HAVING sum(line_item_blended_cost) > 0
ORDER BY  line_item_product_code;
```

## 列名称
<a name="column-transformations"></a>

Athena 列名称限制与成本和使用情况报告列名称限制不同。这意味着，当你的 AWS CUR 数据上传到 Athena 表时，列名会发生变化。 AWS 进行了以下更改：
+ 在大写字母前添加下划线
+ 大写字母会替换为小写字母 
+ 任何非字母数字字符都会替换为下划线
+ 会删除重复的下划线
+ 会删除任何前导和尾随下划线
+ 如果列名称长于允许的列名称长度，则会从左到右删除下划线

**注意**  
应用这些规则后，某些资源标签列的名称将重复。 AWS 当有多个列具有相同名称时，会合并列。

例如，列名 `ExampleColumnName` 变为 `example_column_name`，列名 `Example Column Name` 变为 `example_column_name`。