2016-03-18 5 views
0

Данные, которые я имею, ограничены '¬', когда я пытаюсь использовать его в create table, я получаю ошибку как недопустимый символ. Я попытался использовать его в юникодной версии '\ U00AC', но не использовать всю запись, попадающую в первое поле. в unix этот символ «¬» отображается как �. Может ли кто-нибудь навестить меня в этом вопросе о том, что использовать в поле, завершенном секцией.Поле таблицы hive ограничено '¬' hive не принимает этот символ

CREATE TABLE IF NOT EXISTS test 
(
CONTACT_RECORD_ID string, 
ACCOUNT string, 
CUST string, 
NUMBER string, 
NUMBER1 string, 
NUMBER2 string, 
NUMBER3 string, 
NUMBER4 string, 
NUMBER5 string, 
NUMBER6 string, 
NUMBER7 string, 
LIST string 
) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '¬'; 
+0

В любых дисплеях '�' вам необходимо изменить настройки кодировки текста. –

+1

В Linux, что показывает команда 'file xyz.txt'? То есть который кодирует? Hadoop ожидает UTF-8 по умолчанию. –

+0

yes bang на его закодированном тексте ISO-8859 любое решение для этого приятеля :) –

ответ

0

Не могли бы вы попробовать с этим DDL.

CREATE TABLE IF NOT EXISTS test 
(
CONTACT_RECORD_ID string, 
ACCOUNT string, 
CUST string, 
NUMBER string, 
NUMBER1 string, 
NUMBER2 string, 
NUMBER3 string, 
NUMBER4 string, 
NUMBER5 string, 
NUMBER6 string, 
NUMBER7 string, 
LIST string 
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
WITH SERDEPROPERTIES ('empty.string.null'='true','field.delim'='\0AC','serialization.format'='\0AC','serialization.null.format'='') 
STORED AS INPUTFORMAT 
    'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'; 
+0

ty попробовал, но не решил проблему. все данные в первом столбце вывода –

+0

подобно этому 1�0000000000000010792�0000000000000549223�HFBlHgUUmGrCd�HaNlzg0tE�4G�HFN�H�X���93a�HFNBd2ht�QB3a�HFNBughjkL4�u NULL, NULL, NULL, NULLNULL NULL, NULL NULL NULL NULL NULL –

+0

Можете ли вы проверить, что файл содержит ¬ в качестве разделителя. Пожалуйста, используйте «cat <путь к файлу данных в локальном> | grep ¬" – donut

Смежные вопросы