任何人都在意冒险猜测为什么在Hive和Spark的数据帧API中执行的查询返回不同的结果(从Hive返回的答案是正确的)顺便提一下
Hive : gb-slo-svb-0019:10000 > select count(*) from sseft.feat_promo_prod_store_period; INFO - > select count(*) from sseft.feat_promo_prod_store_period _c0 84071294
星火: sqlContext.sql('select count(*) from sseft.feat_promo_prod_store_period').show() +---+ |_c0| +---+ | 0| +---+
Hive查询在通过spark执行时返回错误答案
有趣的是,如果我使用的火花,而不是蜂巢表我得到正确的答案指向底层的HDFS位置: sqlContext.read.parquet('/Lev4/sse/hive/sseft/feat_promo_prod_store_period').count() 84071294
该图像描述了所有三个:
这似乎已经与元数据的问题,即关于表的火花缓存 - 这理论基于这样一个事实,放弃表格并重新创建它解决了问题。不幸的是,如果我想出一个repro,我会尝试记住回到这里并报告它。 – jamiet