#hive #apache-spark-sql
#hive #apache-spark-sql
Вопрос:
У меня есть данные в папке hdfs / data / published / r6 / omega, которая заполнена файлами parquet, в которой есть столбец etl_cre_tmst, в котором есть данные. Файлы parquet содержат данные
val loc = "/data/published/r6/omega"
val df = sqlContext.read.parquet(loc)
df.select("etl_cre_tmst").show(10,false)
---------------------
|etl_cre_tmst |
---------------------
|2019-03-08 04:41:10.0|
|2019-03-08 04:41:10.0|
|2019-03-08 04:41:10.0|
|2019-03-08 04:41:10.0|
|2019-03-08 04:41:10.0|
|2019-03-08 04:41:10.0|
---------------------
Но когда я пытаюсь получить доступ к данным через таблицу Hive, она показывает только null
val df = hc.sql("select etl_cre_tmst from db_r6.omega ")
df.show(10,false)
---------------------
|etl_cre_tmst |
---------------------
|null|
|null|
|null|
|null|
|null|
---------------------
Схема файла parquet и тип данных для etl_cre_tmst совпадают со схемой таблицы hive и типом данных. тип данных для etl_cre_tmst является отметкой времени в файлах parquet, а также в таблице hive
Почему я получаю значения null при попытке получить те же данные через spark-shell. когда я обращаюсь к одной и той же таблице через оболочку hive, это работает. проблема только в spark shell
кто-нибудь может помочь?
Комментарии:
1. Возможно, проблема с преобразованием типа данных. Каков тип данных?
2. тип данных — это временная метка в файлах parquet, а также в таблице ddl hive