Я запрашиваю базу данных HIVE через HORTONWORKS HIVE ODBC Driver
, используя pyodbc '4.0.23'
в python 3.6. Запрашиваемая таблица содержит поле в формате Decimal(11,0)
. У меня нет контроля над восходящими задачами, которые создают эту таблицу.
Если значение этого поля заканчивается на 0 - например, 2112332230
, результат pyodb c execute будет 211233223
с обрезанным последним нулем .
При использовании того же коннектора из других инструментов, таких как Power BI, я получаю правильный результат 2112332230
.
Вот запрос:
select my_field from my_db.my_table
where my_field = 2112332230
и результат из conn.execute(sql).fetchall()
:
[(Decimal('211233223'), )]
и результат для значения, которое не заканчивается на 0, например 2112332231:
[(Decimal('2112332231'), )]
Ничего не было усечено .
Я что-то делаю не так или это ошибка в pyodb c?