I have created my key and column in cassandra like this CREATE KEYSPACE demou with placement_strategy = 'org.apache.cassandra.locator. SimpleStrategy' and strategy_options = [{replication_factor:1}]; CREATE COLUMN FAMILY users1 WITH comparator = UTF8Type AND key_validation_class=UTF8Type AND column_metadata = [ {column_name: symbol, validation_class: UTF8Type} {column_name: timestamp1, validation_class: UTF8Type} {column_name: Bid_Price, validation_class: UTF8Type} {column_name: Ask_Price, validation_class: UTF8Type} ];
for creating SStable and loading a data from CSV i reffered this two links[1][1][2][2] and my DataImportExample file look like this,its compiled successfully but getting anexception at run time import java.nio.ByteBuffer; import java.io.*; import java.util.UUID; import org.apache.cassandra.db.marshal.*; import org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter; import static org.apache.cassandra.utils.ByteBufferUtil.bytes; import static org.apache.cassandra.utils.UUIDGen.decompose; import org.apache.cassandra.dht.IPartitioner; import org.apache.cassandra.dht.RandomPartitioner; public class DataImportExample { static String filename; public static void main(String[] args) throws IOException { /*if (args.length == 0) { System.out.println("Expecting <csv_file> as argument"); System.exit(1); }*/ filename = "/home/ashish/USDJPY-2009-05.csv"; BufferedReader reader = new BufferedReader(new FileReader(filename)); String keyspace = "Demou"; File directory = new File(keyspace); if (!directory.exists()) directory.mkdir(); IPartitioner partitioner = new RandomPartitioner(); SSTableSimpleUnsortedWriter usersWriter = new SSTableSimpleUnsortedWriter(directory,partitioner,keyspace,"Users1",AsciiType.instance,null,64); String line; int lineNumber = 1; CsvEntry entry = new CsvEntry(); // There is no reason not to use the same timestamp for every column in that example. long timestamp = System.currentTimeMillis() * 1000; while ((line = reader.readLine()) != null) { if (entry.parse(line, lineNumber)) { //usersWriter.newRow(symbol);<-NOT CLEAR ABOUT THIS STEP usersWriter.addColumn(bytes("symbol"), bytes(entry.symbol), timestamp); usersWriter.addColumn(bytes("timestamp1"), bytes(entry.timestamp1), timestamp); usersWriter.addColumn(bytes("Bid_Price"), bytes(entry.Bid_Price), timestamp); usersWriter.addColumn(bytes("Ask_Price"), bytes(entry.Ask_Price), timestamp); } lineNumber++; } // Don't forget to close! usersWriter.close(); System.exit(0); } static class CsvEntry { String symbol; String timestamp1; String Bid_Price; String Ask_Price; boolean parse(String line, int lineNumber) { // Ghetto csv parsing String[] columns = line.split(","); if (columns.length != 4) { System.out.println(String.format("Invalid input '%s' at line %d of %s", line, lineNumber, filename)); return false; } try { symbol = columns[0].trim(); timestamp1 = columns[1].trim(); Bid_Price= columns[2].trim(); Ask_Price = columns[3].trim(); return true; } catch (NumberFormatException e) { System.out.println(String.format("Invalid number in input '%s' at line %d of %s", line, lineNumber, filename)); return false; } } } } ` I am confused at step **usersWriter.newRow(symbol);** because i didnot create any UUId so Is this step is right or am i getting an error just because of this ,any help in this dircetion thank you,here is what i got after running it. java -ea -cp $CLASSPATH -Xmx256M -Dlog4j.configuration=log4j- tools.properties DataImportExample "$@" Exception in thread "main" java.lang.NullPointerException atorg.apache.cassandra.io.sstable.AbstractSSTableSimpleWriter.addColumn(AbstractSSTableSimpleWriter.java:114) at org.apache.cassandra.io.sstable.AbstractSSTableSimpleWriter.addColumn(AbstractSSTableSimpleWriter.java:132) at DataImportExample.main(DataImportExample.java:53) [1]: http://www.datastax.com/dev/blog/bulk-loading [2]: http://amilaparanawithana.blogspot.in/2012/06/bulk-loading-external-data-to-cassandra.html