def bulkLoad(self,cassandra_host=None): if cassandra_host==None: cassandra_host=self.cassandra_host self.cass_obj=cassandra.cassandra_connection(keyspace=self.keyspace, table=self.tablename,host=cassandra_host) if not self.cass_obj:raise ElandraError("Cassandra connection Failed") for item in self.cass_obj.get_iterator(): iv={} for key in item[1]: dt=self.schema[self.keyspace][self.tablename]["columns"][key]["type"] try: iv[key]=__builtins__[dt](item[1][key]) except: iv[key]=__builtins__.__dict__[dt](item[1][key]) self.insert(iv)
#os.system(command) #print "Data loaded into Cassandra successfully. Now calling ElandraCube object..." json_file=open(sys.argv[1]) #print json_file #the second argument in the following function is to maintain the order of json file json_data=json.load(json_file,object_pairs_hook=collections.OrderedDict) #print json_data[str(sys.argv[2])] column_names=json_data[sys.argv[2]][sys.argv[3]]['columns'] #print column_names obj = ElandraCube(keyspace=sys.argv[2],tablename=sys.argv[3]) cc = cassandra_connection(str(sys.argv[2]),str(sys.argv[3])) with open(sys.argv[4],'rb') as csvfile: f=csv.reader(csvfile,delimiter=",") for row in f: #print row query="{" j=0 for i in column_names: if j!=0: query+="," query+='"'+i+'"'+':"'+row[j]+'"' j+=1 query+="}" # print query # print ast.literal_eval(query)