Оказалось, что проблема не связана. Столбец отлично работает независимо от кодировки ... но схема таблицы была изменена в mysql. Я предположил, что, поскольку я передаю флаг перезаписи, sqoop переделывает таблицу каждый раз в Улье. Не так! Изменения схемы в mysql не передавались в Hive, поэтому данные в столбце md5 были фактически данными из другого столбца.
«Исправление», на котором мы остановились, было перед каждой проверкой импорта sqoop для изменений схемы, и если произошли изменения, отбросьте таблицу и повторно импортируйте. Это приводит к обновлению схемы в Hive.
Edit: моя оригинальная команда sqoop было что-то вроде:
sqoop import --connect jdbc:mysql://HOST:PORT/DB --username USERNAME --password PASSWORD --table uploads --hive-table uploads --hive-import --hive-overwrite --split-by id --num-mappers 8 --hive-drop-import-delims --null-string '\\N' --null-non-string '\\N'
Но теперь я вручную выдать drop table uploads
в улей первый, если изменения схемы.
Было бы здорово добавить вашу полную команду Sqoop, добавленную в ответ выше. – AvkashChauhan
Хорошо, сделано! Надеюсь, поможет. –