У меня есть внешняя таблица Hive, хранящая данные как паркет в HDFS;данные извлекаются из другой таблицы (RDBMS) и хранятся в Hive с тем же типом данных для столбцов, что и в исходной таблице.
Однако способ, которым Spark (или Zeppelin) отображает десятичное значение типа, полностью отличается от того же самогозначение столбца выбирается через Hive CLI или Hue.
Фактическое значение в файле 23.34
(Stored as Decimal (26,5)
).Значения, извлекаемые Hive / Hue, равны 23.34
, однако, если я запрашиваю его в Zeppelin или Spark CLI, значение равно 23340.
Я не уверен, как spark переводит десятичное значение.
Если бы манипулирование данными во время хранения было проблемой, это было бы то же значение, полученное в Hive & Spark.Так что исключить вывод, что что-то произошло во время самой загрузки данных.
У кого-нибудь есть идеи?