Hadoop AWS无法在屏幕上显示输出

时间:2018-03-03 00:15:40

标签: amazon-web-services hadoop hive

当我在AWS中运行以下代码时,

SELECT year, MAX(temperature)
FROM records
WHERE temperature != 9999
AND (quality = 0 OR quality = 1 OR quality = 4 OR quality = 5 OR quality = 9)
GROUP BY year;

我得到了#34;好的"来自AWS EMR,如第一张图片所示......

enter image description here

...但我看不到预期的结果/输出

1949  111
1950  22

就像第二张图片中的那个:

enter image description here

我尝试过的代码:

hive>
> SELECT year, MAX(temperature)
> FROM records
> WHERE temperature != 9999
> AND (quality = 0 OR quality = 1 OR quality = 4 OR quality = 5 OR quality = 9)
> GROUP BY year;

Query ID = hadoop_20180302235859_3409fe28-465e-4857-9c10-243bcaafe819
Total jobs = 1
Launching Job 1 out of 1
Status: Running (Executing on YARN cluster with App id application_1520032089791_0005)

----------------------------------------------------------------------------------------------
    VERTICES      MODE        STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
----------------------------------------------------------------------------------------------
Map 1 .......... container     SUCCEEDED      1          1        0        0       0       0
Reducer 2 ...... container     SUCCEEDED      1          1        0        0       0       0
----------------------------------------------------------------------------------------------
VERTICES: 02/02  [==========================>>] 100%  ELAPSED TIME: 5.03 s
----------------------------------------------------------------------------------------------
OK
Time taken: 6.488 seconds

1 个答案:

答案 0 :(得分:0)

它告诉您没有数据行与您的WHERE语句匹配。

您应该调试查询以找出您没有获得预期结果的原因。

例如,表中的数据可能不同。尝试使用以下方式查看数据:

select * from records limit 10

然后进一步深入探讨:

select * from records where temperature != 9999 limit 10

检查quality的值是否与WHERE语句匹配。

不要问为什么没有工作,而是要证明数据存在并显示应该工作。