def put_entity(self, table_name, row_key, column_names, cell_values): st = time.time() elist = [ERROR_HB] if (not row_key) or (not table_name): elist[0] += "Null row_key or table_name" return elist client = None try: if len(column_names) != len(cell_values): ttypes.IOError( "Number of values does not match the number of columns") client = self.__initConnection() if self.__table_exist(table_name, client) == 0: columnlist = [] for ii in column_names: col = ttypes.ColumnDescriptor() col.name = ii + ":" col.maxVersions = 3 columnlist.append(col) client.createTable(table_name, columnlist) for ii in range(0, len(column_names)): m = ttypes.Mutation() m.column = column_names[ii] + ":" m.value = cell_values[ii] mutations = [] mutations.append(m) client.mutateRow(table_name, row_key, mutations) except ttypes.IOError, io: if io: elist[0] += str(io) # append the error else: elist[0] += "IO Error"
def __column_dict(self, column_names): column_dict = [] if isinstance(column_names, list) == 0: raise "Only deals with list" for column in column_names: entry = ttypes.ColumnDescriptor({'name': column + ':'}) column_dict.append(entry) return column_dict
def create_table(self, table_name, column_names): client = self.__initConnection() columnlist = [] for ii in column_names: col = ttypes.ColumnDescriptor() col.name = ii + ":" col.maxVersions = 3 columnlist.append(col) client.createTable(table_name, columnlist) ret = client.getTableNames() self.__closeConnection(client) return ret
def create_table(self, table_name, column_names): """ Creates a table as a column family. Args: table_name: The column family name column_names: not used Returns: Nothing Raises: TypeError: Raised when given bad types of for args. """ if not isinstance(table_name, str): raise TypeError("Expected str") if not isinstance(column_names, list): raise TypeError("Expected list") columnlist = [] for ii in column_names: col = ttypes.ColumnDescriptor() col.name = ii + ":" col.maxVersions = 1 columnlist.append(col) client = self.__init_connection() client.createTable(table_name, columnlist) self.__release_lock()