hive如果与函数一起使用,则不返回值

mctunoxg  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(338)

我对Hive壳有个奇怪的问题。我使用apache原始软件包创建了一个hadoop系统。我用tez。
为了测试这个系统,我毫无问题地将ny出租车数据加载到hive中。这个数据集大约有1100万行。如果我在Hive壳中选择了staments,它就工作了。如果我使用这样的函数

select count(*) from yellow;

或者

select sum(trip_distance) from yellow where trip_distance is not null;

这个过程没有任何问题,但只返回ok。如果我在sparksql中也这样做,我就会得到答案。如果我按语句分组,结果也是一样的。
表定义为

CREATE TABLE `default.yellow` ( `VendorID` int , `tpep_pickup_datetime` timestamp , `tpep_dropoff_datetime` timestamp , `passenger_count` bigint , `trip_distance` float , `pickup_longitude` float , `pickup_latitude` float , `RatecodeID` bigint , `store_and_fwd_flag` string , `dropoff_longitude` float , `dropoff_latitude` float , `payment_type` bigint , `fare_amount` int , `extra` float , `mta_tax` float , `tip_amount` int , `tolls_amount` bigint , `improvement_surcharge` float , `total_amount` float ) COMMENT "yellow" stored as ORC

这是orc格式的。我也用了Parquet地板,但效果没有差别。
另外,如果我数行的话,其他的表只显示ok结果。
这里有一些样本行,如前所述,这是我用于测试的免费数据。

2,2016-06-09 21:06:36.0,2016-06-09 21:13:08.0,2,0.79,-73.98336,40.760937,1,N,-73.97746,40.75398,2,6,0.5,0.5,0,0,0.3,7.3
2,2016-06-09 21:06:36.0,2016-06-09 21:35:11.0,1,5.22,-73.98172,40.736668,1,N,-73.981636,40.670242,1,22,0.5,0.5,4,0,0.3,27.3
2,2016-06-09 21:06:36.0,2016-06-09 21:13:10.0,1,1.26,-73.994316,40.751072,1,N,-74.004234,40.74217,1,6,0.5,0.5,1,0,0.3,9.36
2,2016-06-09 21:06:36.0,2016-06-09 21:36:10.0,1,7.39,-73.98236,40.77389,1,N,-73.92947,40.85154,1,26,0.5,0.5,1,0,0.3,28.3
v6ylcynt

v6ylcynt1#

好的,这是解决办法。Hive和tez日志显示也没有任何问题。同时,tez给出的行数也是正确的。
所以唯一可能的问题是Hive和泰兹之间的沟通。由于一些未知的原因,mapred-site.xml没有值,因为在开始时它是被设置的。当我把它设置回正确的值后,它工作了。

相关问题