Создать таблицу кустов из CSV со столбцами типа абзаца (содержит различные специальные символы) - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь загрузить таблицу в кусте из CSV, и один из столбцов состоит из кода - состоит из символов, таких как: '"/, * - разрывы строк табуляции () и т. Д.

У меня есть много представлений следующего кода (экранирование столбца с разными символами (|, ', "), удаление разрывов строк и пробелов, пробование разных типов данных), и это по крайней мере создает таблицу - однако столбец кода показывает много нулей везде накаждая строка - как и в других столбцах (показывается при выборе * созданной таблицы):


drop table if exists max.rule_nscript purge;

create external table max.rule_nscript
(
display_name VARCHAR(50)
,rule_name VARCHAR(50)
,family_names VARCHAR(1000)
,placements VARCHAR(255)
,state VARCHAR(255)
,impact_type VARCHAR(25)
,score_impact VARCHAR(10)
,description VARCHAR (1000)
,nscript VARCHAR (1000)
,run_mode VARCHAR(25)
)

--row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
--with SERDEPROPERTIES (
--  "separatorChar" = "\,"
--  ,"quoteChar" = "\""
--  ,"escapeChar" = "\t"
--  )
row format delimited
fields terminated by ','
escaped by '\|'
--stored as textfile
location '/user/mbade0314/rule_nscript'
tblproperties ("skip.header.line.count"="1");

select * from max.rule_nscript;

Ожидаемый результат должен выглядеть следующим образом - без нулей и одного правила на строку:

display_name    rule_name   family_names    placements  state   impact_type score_impact    description nscript run_mode        
rule 1  rule 1  misc_   na  enabled negative    1000    na  code    Require Referenced Data NULL    NULL
rule 2  rule 2  emulator_   na  enabled negative    650 na  code    Require Referenced Data NULL    NULL
rule 3  rule 3  root_jailbreak_detection_   na  enabled informative 0   na  code    Require Referenced Data NULL    NULL
rule 4  rule 4  crimeware_  na  enabled negative    2000    na  code    NULL    NULL    NULL
    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL        
code    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL        
code    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL        

* извиняюсь за некрасивую таблицу - кажется, не очень легко создать таблицу.

Любые предложения будут потрясающими.

Спасибо!

...