Example #1
0
 def _get_udfs(self, cur):
     tuples = cur.fetchall()
     if len(tuples) > 0:
         regex = re.compile("^.*?\((.*)\).*")
         result = []
         for out_type, sig in tuples:
             name = sig.split('(')[0]
             inputs = self._parse_input_string(regex.findall(sig)[0])
             output = udf._impala_type_to_ibis(out_type.lower())
             result.append(udf.UDFInfo(inputs, output, name))
         return result
     else:
         return []
Example #2
0
 def _get_udfs(self, cur):
     tuples = cur.fetchall()
     if len(tuples) > 0:
         regex = re.compile("^.*?\((.*)\).*")
         result = []
         for out_type, sig in tuples:
             name = sig.split('(')[0]
             inputs = self._parse_input_string(regex.findall(sig)[0])
             output = udf._impala_type_to_ibis(out_type.lower())
             result.append(udf.UDFInfo(inputs, output, name))
         return result
     else:
         return []
Example #3
0
 def _parse_input_string(self, s):
     regex = re.compile(r'(?:[^,(]|\([^)]*\))+')
     results = regex.findall(s)
     return [udf._impala_type_to_ibis(x.strip().lower()) for x in results]
Example #4
0
 def _parse_input_string(self, s):
     regex = re.compile(r'(?:[^,(]|\([^)]*\))+')
     results = regex.findall(s)
     return [udf._impala_type_to_ibis(x.strip().lower())
             for x in results]