Неясно, если вы хотите определить UDF, UDA, используя что-то вроде драйвера python, или вы хотите обобщенный способ определить UDF на языке python, но это может привести вас в порядок правильное направление.
Здесь были найдены следующие примеры в test_metadata.py драйвера python.
https://github.com/datastax/python-driver/blob/master/tests/integration/standard/test_metadata.py#L448
Пример UDF в JavaScript
session.execute("""CREATE FUNCTION {0}.sum_int(key int, val int)
RETURNS NULL ON NULL INPUT
RETURNS int
LANGUAGE javascript AS 'key + val';""".format(keyspace_name))
Я полагаю, вы можете переключить язык функция в действительности написана в путем изменения параметра языка выше.
Ниже приведен пример объявления функции в java.
session.execute("""CREATE OR REPLACE FUNCTION update_map(s map<int, int>, i int)
RETURNS NULL ON NULL INPUT
RETURNS map<int, int>
LANGUAGE java AS 's.put(new Integer(i), new Integer(i)); return s;';""")
Пример UDA
session.execute("""CREATE AGGREGATE {0}.sum_agg(int)
SFUNC sum_int
STYPE int
INITCOND 0"""
.format(self.keyspace_name))
Существует также сообщение блога находится здесь вы можете ссылаться. http://www.datastax.com/dev/blog/cassandra-user-defined-functions-python-driver
Выполнение написания UDF или UDA в python будет абсолютно ужасным. Вы действительно должны просто написать его на Java, так же болезненно, как и я, чтобы сказать это (я парень Python). –