def get_result_schema(self, project): from hustle import Table fields = [] for col in project: col = col.column if col.name not in fields: fields.append(col.schema_string()) # print "GEEWHIZ: %s %s %s" % (indicies, fields, blobs) name = '-'.join([w._name for w in self.wheres])[:64] return Table(name="sub-%s" % name, fields=fields)
def get_result_schema(self, project): import random from hustle import Table if self.output_table: return self.output_table fields = [] for col_or_agg in project: col_spec = col_or_agg.schema_string() if col_spec not in fields: fields.append(col_spec) name = '-'.join([w._name for w in self.wheres])[:64] # append a 3-charactor random suffix to avoid name collision self.output_table = Table(name="sub-%s-%s" % (name, "".join(random.sample(_POOL, 3))), fields=fields) return self.output_table
def get_result_schema(self, project): import random from hustle import Table if self.output_table: return self.output_table fields = [] for col in project: col = col.column if col.name not in fields: fields.append(col.schema_string()) name = '-'.join([w._name for w in self.wheres])[:64] # append a 3-digit random suffix to avoid name collision self.output_table = Table(name="sub-%s-%03d" % (name, random.randint(0, 999)), fields=fields) return self.output_table