Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!

Unable to use TransformFunction in vertica_sdk.

What i am trying to do is execute vertica's string tokenizer example which is written in python.

Here is the link to the said example: Vertica|Developing%20User-Defined%20Extensions%20(UDxs)|Transform%20Functions%20(UDTFs)|Python%20API|_____2

This is what my code looks like

import vertica_sdk
class StringTokenizer(vertica_sdk.TransformFunction):
    Transform function which tokenizes its inputs.
    For each input string, each of the whitespace-separated tokens of that
    string is produced as output.
    def processPartition(self, server_interface, input, output):
        while True:
            for token in input.getString(0).split():
                output.setString(0, token)
            if not

class StringTokenizerFactory(vertica_sdk.TransformFunctionFactory):
    def getPrototype(self, server_interface, arg_types, return_type):
    def getReturnType(self, server_interface, arg_types, return_type):
        return_type.addColumn(arg_types.getColumnType(0), "tokens")
    def createTransformFunction(cls, server_interface):
        return StringTokenizer()

This is what im getting as my output when I execute the command

create library sampy as '/home/dbadmin/udx/' language 'Python';
ROLLBACK 2175:  An error occurred when loading library file on node v_prmtest_node0001, message:
Failure in UDx RPC call InvokeCheckLibrary(): Error calling setupExecContext() in User Defined Object [] at [/scratch_a/release/svrtar19690/vbuild/vertica/OSS/UDxFence/PythonInterface.cpp:168], error code: 0, message: Error [/scratch_a/release/svrtar19690/vbuild/vertica/OSS/UDxFence/PythonInterface.cpp:204] function ['import']
(Python error type [<class 'AttributeError'>])
Traceback (most recent call last):
  File "/home/dbadmin/PRMTEST/v_prmtest_node0001_catalog/Libraries/02d86d505e41731d36151e9e9da31afc00b0000000561680/", line 2, in <module>
    class StringTokenizer(vertica_sdk.TransformFunction):
AttributeError: module 'vertica_sdk' has no attribute 'TransformFunction'

Please help and thanks in advance.


  • SruthiASruthiA Employee

    What is your vertica version? we started supporting python UDx recently.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file

Can't find what you're looking for? Search the Vertica Documentation, Knowledge Base, or Blog for more information.