У меня есть parquet
данные, которые при чтении (столбец TIMESTAMP
) с использованием spark отлично работают. Ниже приведены примеры записей:
scala> data.select($"BATCH_LOAD_DATE").limit(5).show()
+-------------------+
| BATCH_LOAD_DATE|
+-------------------+
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
+-------------------+
Я проверил схему, и она показывает TIMESTAMP
в качестве типа данных для одного из столбцов, который является правильным. Так что никаких проблем со схемой тоже нет. Однако, когда я пытаюсь прочитать тот же столбец TIMESTAMP
через Hive, он выдает ниже исключения
Error: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.hive.serde2.io.TimestampWritableV2 (state=,code=0)
По ссылке этой я вижу, что это открытая проблема в Hive , Не уверен, решен ли он еще или нет. Есть ли обходной путь для этого? Что-то, что можно сделать при загрузке данных или какое-то преобразование после загрузки?