package mypackage.bolts; import backtype.storm.task.OutputCollector; import backtype.storm.task.TopologyContext; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.topology.base.BaseRichBolt; import backtype.storm.tuple.Fields; import backtype.storm.tuple.Tuple; import backtype.storm.tuple.Values; import me.prettyprint.cassandra.serializers.StringSerializer; import me.prettyprint.hector.api.Cluster; import me.prettyprint.hector.api.Keyspace; import me.prettyprint.hector.api.ddl.ColumnFamilyDefinition; import me.prettyprint.hector.api.ddl.ComparatorType; import me.prettyprint.hector.api.factory.HFactory; import me.prettyprint.hector.api.mutation.Mutator; import java.io.BufferedWriter; import java.sql.Connection; import java.sql.Date; import java.sql.ResultSet; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.Map; import java.util.Set; /** * Created by anshushukla on 08/04/15. */ public class CasanTest extends BaseRichBolt { Cluster cluster = null; Keyspace keySpace = null; OutputCollector ouc; BufferedWriter bw; static String DB_URL; static String JDBC_DRIVER; static final String USER = "root"; static final String PASS = "12345"; Connection conn = null; Statement stmt = null; ResultSet rs = null; static Set<String> positiveList; static Set<String> negativeList; String sentiment; String shortUrl; Mutator<String> mutator; ColumnFamilyDefinition cf; @Override public void prepare(Map map, TopologyContext topologyContext, OutputCollector collector) { cluster = HFactory.getOrCreateCluster("Test Cluster", "localHost:9160"); //keySpace = HFactory.createKeyspace("USERKEYSPACE", cluster); keySpace = HFactory.createKeyspace("tw", cluster); cf = HFactory.createColumnFamilyDefinition("tw", "ucf1", ComparatorType.UTF8TYPE); // cluster.addColumnFamily(cf); StringSerializer stringSerializer = StringSerializer.get(); mutator = HFactory.createMutator(keySpace, stringSerializer); ouc = collector; } @Override public void execute(Tuple tuple) { System.out.print("+++++++++++++++++++++++++++++++++++++++++++++++++"); String expUrl = tuple.getStringByField("expUrl"); shortUrl = tuple.getStringByField("shortUrl"); long yourmilliseconds = System.currentTimeMillis(); SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm"); Date resultdate = new Date(yourmilliseconds); System.out.println("modified format is "+sdf.format(resultdate)); String time=""+(sdf.format(resultdate)+1); String time_string=""+yourmilliseconds; System.out.print("time is -"+time_string); // sentiment=""+classifyText(expUrl); //System.out.println("sentiment here is ------" + sentiment ); mutator.insert("names", cf.getName(), HFactory.createStringColumn(time_string, expUrl)); mutator.insert("other", cf.getName(), HFactory.createStringColumn(time_string, expUrl)); //String cql=; System.out.print("--------------executing cql --------------"); //stmt.executeUpdate(sql); System.out.println("Inserted records into the table..."); ouc.emit(new Values(shortUrl, "sentiment")); System.out.println("==========================Done=========================="); ouc.ack(tuple); } @Override public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) { outputFieldsDeclarer.declare(new Fields("hashtag","sentiment")); } }