处理 HiveQL 语句 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

处理 HiveQL 语句

Hive 是一个在 Hadoop 上运行的应用程序,面向批处理的框架,用于运行 MapReduce 任务。发出 HiveQL 语句后,Hive 确定是否可以立即返回结果,或者是否必须提交 MapReduce 任务。

例如,考虑使用 ddb_features 表(来自 教程:使用 Amazon DynamoDB 和 Apache Hive)。下面的 Hive 查询打印州缩写和每个州的高山数量:

SELECT state_alpha, count(*) FROM ddb_features WHERE feature_class = 'Summit' GROUP BY state_alpha;

Hive 不立即返回结果,而是提交一个由 Hadoop 框架处理的 MapReduce 任务。Hive 将等到任务完成后,显示查询结果:

AK 2 AL 2 AR 2 AZ 3 CA 7 CO 2 CT 2 ID 1 KS 1 ME 2 MI 1 MT 3 NC 1 NE 1 NM 1 NY 2 OR 5 PA 1 TN 1 TX 1 UT 4 VA 1 VT 2 WA 2 WY 3 Time taken: 8.753 seconds, Fetched: 25 row(s)

监控和取消任务

Hive 启动 Hadoop 任务后,打印任务输出。任务完成状态随着任务的进展而更新。在某些情况下,状态可能会很长时间不会更新。(查询预置读取容量设置低的大型 DynamoDB 表时,可能会发生这种情况。)

如果需要在任务完成之前取消任务,可以随时键入 Ctrl+C