Один из способов сделать это без udf - использовать некоторые предопределенные функции улья, такие как split, regex extract et c
select split(regexp_extract('["a","b","c"]','^\\["(.*)\\"]$',1),'","');
=> ["a","b","c"]
Даже он может обрабатывать промежуточные запятые
select split(regexp_extract('["a","b,c","d"]','^\\["(.*)\\"]$',1),'","');
=> ["a","b,c","d"]
Хоп помогает