Любой, кто может опасаться, почему запрос, выполненный как в Hive, так и с API-интерфейсом Spark, возвращает разные результаты (ответ верен из 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
Spark: sqlContext.sql('select count(*) from sseft.feat_promo_prod_store_period').show() +---+ |_c0| +---+ | 0| +---+
Запрос на улей возвращает неправильный ответ при выполнении через искру
Интересно, если я указываю на место, лежащие в основе HDFS с помощью искры, а не таблицы улья я получаю правильный ответ: sqlContext.read.parquet('/Lev4/sse/hive/sseft/feat_promo_prod_store_period').count() 84071294
Это изображение иллюстрирует все три:
Это, кажется, были проблемы с метаданными, искровые кэши о столе - что теория основана на том, что падение таблицы и воссоздание ее решают проблему. К сожалению, я не смог воспроизвести проблему, если придумаю репродукцию, я попытаюсь вспомнить, чтобы вернуться сюда и сообщить об этом. – jamiet