private ColumnSchema buildColumnSchema(KuduColumnInfo columnInfo) {
        String name = columnInfo.getFieldName();
        String type = columnInfo.getFieldType();
        String desc = columnInfo.getFieldComment();

        String kuduType = KuduType.forType(type).kuduType();
        Type typeForName = Type.getTypeForName(kuduType);

        String partitionStrategy = columnInfo.getPartitionStrategy();

        ColumnSchemaBuilder builder = new ColumnSchemaBuilder(name, typeForName)
                .comment(desc);

        // Build schema: the hash key and partition key must be primary key.
        if (PARTITION_STRATEGY_HASH.equalsIgnoreCase(partitionStrategy)
                || PARTITION_STRATEGY_PRIMARY_KEY.equalsIgnoreCase(partitionStrategy)) {
            builder.key(true);
        } else {
            // The primary key must not null.
            builder.nullable(true);
        }
        return builder.build();
    }
Create table with given tableName and tableInfo.
inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sink/kudu/KuduResourceClient.java