Нестроковые значения отображаются в Hive как NULL

Я новичок в HIVE и создаю свой первый стол!

по какой-то причине все нестроковые значения отображаются как NULL (включая int, BOOLEAN и т. д.)

мои данные выглядят так:

58;"management";"married";"tertiary";"no";2143;"yes";"no";"unknown";5;"may";261;1;-1;0;"unknown";"no"

я использовал это для создания таблицы:

create external table bank_dataset(
age       TINYINT, 
job       string, 
education string, 
default   BOOLEAN, 
balance   INT, 
housing   BOOLEAN, 
loan      BOOLEAN, 
contact   STRING,
day       STRING, 
month     STRING, 
duration  INT,
campaign  INT, 
pdays     INT, 
previous  INT,
poutcome  STRING,
y         BOOLEAN)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\u003B'
STORED AS TEXTFILE
location '/user/marchenrisaad_gmail/Bank_Project'
tblproperties("skip.header.line.count"="1");

person Marc Henry Saad    schedule 26.10.2020    source источник
comment
Поскольку hive не может обрабатывать двойные кавычки. Итак, сначала удалите двойные кавычки из ваших данных с помощью некоторого сценария оболочки, а затем загрузите его. Пожалуйста, дайте мне знать, если это поможет.   -  person Koushik Roy    schedule 27.10.2020
comment
Прочтите этот ответ: stackoverflow.com/a/54463863/2700344   -  person leftjoin    schedule 27.10.2020
comment
Также логические значения не будут работать в вашем случае. Лучше преобразовать их, используя операторы case. Прочтите это: stackoverflow.com/a/55316873/2700344 Кроме того, столбцы в столбцах данных образца и столбца определения таблицы отличаются   -  person leftjoin    schedule 27.10.2020
comment
проверьте мой ответ, у меня небольшая проблема   -  person Marc Henry Saad    schedule 28.10.2020


Ответы (1)


Спасибо за комментарии, все получилось! но у меня 1 проблема. Для каждой строки я получаю все данные правильно, тогда я получаю дополнительные столбцы с нулевыми значениями. Найдите ниже мой код:

create external table bank_dataset(age TINYINT, job string, education string, default BOOLEAN, balance INT, housing BOOLEAN, loan BOOLEAN, contact STRING,day INT, month STRING, duration INT,campaign INT, pdays INT, previous INT, poutcome STRING,y BOOLEAN)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
   "separatorChar" = "\u003B",
   "quoteChar"     = '"'
)  
STORED AS TEXTFILE
location '/user/marchenrisaad_gmail/Bank_Project'
tblproperties("skip.header.line.count"="1");

Какие-либо предложения?

person Marc Henry Saad    schedule 27.10.2020