Exemple #1
0
    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)