У меня есть таблица impala, формат которой такой.
+--------------------------+-----------+---------+
| name | type | comment |
+--------------------------+-----------+---------+
| col_key | bigint | |
| col_cd | smallint | |
| col_desc | string | |
| col_type_cd | string | |
| col_scheme_cd | string | |
| name | string | |
| source_cd | string | |
| source_cd1 | bigint | |
| load_dt | timestamp | |
| effective_start_dt | timestamp | |
| effective_end_dt | timestamp | |
+--------------------------+-----------+---------+
Мне нужно вставить такое значение
Если тип данных
bigint then insert 0
smallint then insert 0
decimal then insert 0.0
float then insert 0.0
string then insert unknown
timestamp then insert 1970-01-01 00:00:00
и если имя столбца
effective_start_dt then insert 1970-01-01 00:00:00
effective_end_dt then insert 3499-12-31 00:00:00
Я нашел одно решение, в котором я могу определить тип данных и на его основе вставить запись, но оно не работает для моего второго условия, когда я вставляю запись на основе имени столбца и вставляю вставку 1970-01-01 00:00:00
vale для effective_end_dt
тоже.
Ищите помощи в этом. Положение столбца может отличаться для других таблиц, поэтому я пробую какое-то общее решение. Я пытаюсь добиться этого решения из сценария оболочки.