Выберите данные, используя кодировку символов utf-8 из улья

Я выбираю данные из своей таблицы/представления улья, но кодировка символов не подхватывается искровой оболочкой или пчелиной линией, но если я выбираю те же данные из Амбари (непосредственно через куст), но из командной строки Hive отключен по соображениям безопасности. Пожалуйста, ознакомьтесь с данными ниже:

Ambari Data:

•Construction Maintenance 
• 524 N. Martin Luther King Jr.
‘SS-MN-BAE – Other’
¿NPM¿ GOVT/GS SCD US ARM
¿MCCRAY,LORENZO

beeline data:
?Construction Mai...
? 524 N. Martin L...
?SS-MN-BAE ? Other?
?NPM? GOVT/GS SCD...
?MCCRAY,LORENZO

Spark-shell Data:
?Construction Mai...
? 524 N. Martin L...
?SS-MN-BAE ? Other?
?NPM? GOVT/GS SCD...
?MCCRAY,LORENZO
using spark shell I did
 sql("select * from test.ACCOUNT order by customer_name desc").show()

Same select is issued in beeline and ambari.

если кто-нибудь знает, что я делаю неправильно, или если мне нужно установить какой-либо параметр для чтения правильного набора символов, сообщите мне, что я пробовал кодировку java nio в оболочке spark, но ничего не получилось. Пожалуйста, помогите мне, новичок в Hadoop. Есть ли способ передать набор символов в beeline или spark-shell через командную строку перед выбором данных?


person GRK    schedule 11.01.2019    source источник


Ответы (2)


Чтобы прочитать данные в Linux в правильной кодировке, после входа в Linux в моем профиле я установил тип символа, используя следующие переменные:

export LANG="pt_PT.utf8"
export LC_ALL="pt_PT.utf8"

и перезагрузил профиль если это bash_profile то . .bash_profile если это просто профиль то . .profile

person GRK    schedule 14.01.2019

Это не проблема Hive, а проблема с файловой системой или кодировкой файлов. SELECT * в Hive на самом деле ничего не делает, кроме чтения файла из файловой системы. Таким образом, если вы запустите команду hadoop fs cat для базового файла, вы должны увидеть такое же поведение.

person Ajay Kharade    schedule 11.01.2019
comment
есть ли способ правильно прочитать данные в utf-8?, базовый файл также показывает?. - person GRK; 12.01.2019
comment
Проверьте эту ссылку, может быть полезной - tecmint.com /convert-files-to-utf-8-encoding-in-linux - person Ajay Kharade; 14.01.2019
comment
Большое спасибо за ответ @ASK Я нашел решение. - person GRK; 15.01.2019
comment
Это здорово... продолжай - person Ajay Kharade; 15.01.2019