Spark SQL возвращает ноль для столбца в таблице HIVE, а запрос HIVE возвращает ненулевые значения - PullRequest
0 голосов
/ 11 мая 2018

У меня есть таблица кустов, созданная поверх s3 DATA в формате паркета и разделенная на один столбец с именем eventdate.

1) При использовании HIVE QUERY он возвращает данные для столбца с именем "headertime", которыйв схеме ОБА и таблицы. и файла.

select headertime from dbName.test_bug where eventdate=20180510 limit 10

2) ИЗ ПОРТАТИВНОЙ РАБОТЫ scala, при прямой загрузке файла из определенного раздела, который также работает,

val session = org.apache.spark.sql.SparkSession.builder 
.appName("searchRequests") 
.enableHiveSupport() 
.getOrCreate;

val searchRequest = session.sqlContext.read.parquet("s3n://bucketName/module/search_request/eventDate=20180510")

searchRequest.createOrReplaceTempView("SearchRequest")

val exploreDF = session.sql("select headertime from SearchRequest where SearchRequestHeaderDate='2018-05-10' limit 100")

exploreDF.show(20)

thisтакже отображает значения для столбца "headertime"

3) Но, при использовании spark sql для прямого запроса таблицы HIVE, как показано ниже,

val exploreDF = session.sql("select headertime from tier3_vsreenivasan.test_bug where eventdate=20180510 limit 100")

exploreDF.show(20)

всегда возвращает ноль всегда.

Я открыл файл паркета и вижу, что время заголовка столбца присутствует со значениями, но не уверен, почему Spark SQL не может прочитать значения для этого столбца.

будет ли полезно, если кто-то может указать, откуда искровой SQL получает схему?Я ожидал, что он будет вести себя так же, как ВИЧ-запрос

...