处理 HiveQL 语句 - Amazon DynamoDB

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

处理 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