У меня есть таблица кустов, созданная поверх 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 получает схему?Я ожидал, что он будет вести себя так же, как ВИЧ-запрос