Я не собираюсь проверять весь код свиньи, как указано в комментарии выше. Я пройду каждую строку и попытаюсь решить вашу проблему там, где вы написали «непонятно».
1. `(salary == '' ? 'null' : (salary is null ? 'null': salary)) as salary =>(not understood)`
Ответ: Это еще одно условие у свиньи. В нем говорится, что если salary == '' (Пусто), затем поставить 'null' (String null) или если salary равно null, тогда также поставить 'null' (String null), иначе все, что присутствует в столбце зарплаты, указывается как заработная плата.
похоже на:
if(salary == ''){
salary ='null'
}
else if (salary is null){
salary='null'
}
else salary
2. `1 SUBSTRING(sell_date,5,13) As Date, =>(not understood)`
Ответ: В этом случае данные вычитаются из 5-го символа в 13-значный, сохраняя их как дату: ДД / ММ / ГГ, это может быть формат даты.
3. ` CONCAT('20',SUBSTRING(sell_date,11,13)) As Year,=>(not understood)`
Ответ: в этом случае добавляется «20» в год. это может быть так.
Формат года в дате может выглядеть следующим образом: 17 или 18, поэтому после объединения 20 год будет 2017 или 2018.
4. `(SUBSTRING(sell_date,5,7)=='01' ? 'January' : =>(not understood)`
Ответ: похоже на приведенный выше случай, когда они пытаются выяснить месяц по дате и сравнить со значением, чтобы найти месяц.
5. All other conditions are also very much similar to the above mentioned case .
Я думаю, что это решит вашу проблему, и вы сможете переписать и выполнить код.