С каждым собственным аргументом, например: SELECT chromosome, position, hg01583, hg03006, process(hg01583, hg03006) from human;
CREATE FUNCTION process(hg01583 frozen<set<text>>, hg03006 frozen<set<text>>)
CALLED ON NULL INPUT
RETURNS text
LANGUAGE java AS
$$
return hg01583==null? null : ...
$$;
Если вы хотите, чтобы они были динамическими, вместо того, чтобы создавать фиксированные столбцы для каждого, сделайте его широкой строкой и используйте UDA для их агрегированияс функцией аккумулятора.как:
CREATE TABLE human (chromosome text, position bigint,
sample text,
value frozen<set<text>>
PRIMARY KEY (chromosome, position, sample)
)