public void GetRangeSlice() { env.RestartCassandra(); env.OpenConnection(); // build 3 keys with 10 columns each for (int i = 0; i < 10; i++) { var cp = new ColumnPath("Standard2", null, "c" + i); Insert("rs0", "v" + i, cp); Insert("rs1", "v" + i, cp); Insert("rs2", "v" + i, cp); } var columnParent = new ColumnParent("Standard2"); var predicate = new SlicePredicate(new SliceRange(false, 150)); var keySlices = client.get_range_slice( "Keyspace1", columnParent, predicate, "rs0", "rs3", 5, ConsistencyLevel.ONE); Assert.NotNull(keySlices); Assert.Equal(3, keySlices.Count); Assert.NotNull(keySlices[0]); Assert.Equal("v0", keySlices[0].Columns[0].Column.Value.UTFDecode()); Assert.Equal(10, keySlices[1].Columns.Count); env.CloseConnection(); env.StopCassandra(); }
public void GetRangeSlice() { // build 3 keys with 10 columns each for (int i = 0; i < 10; i++) { var cp = new ColumnPath("Standard2", null, "c" + i); Keyspace.Insert("rs0", cp, "v" + i); Keyspace.Insert("rs1", cp, "v" + i); Keyspace.Insert("rs2", cp, "v" + i); } var columnParent = new ColumnParent("Standard2"); var predicate = new SlicePredicate(new SliceRange(false, 150)); var keySlices = Keyspace.GetRangeSlice(columnParent, predicate, "rs0", "rs3", 5); Assert.NotNull(keySlices); Assert.Equal(3, keySlices.Count); Assert.NotNull(keySlices["rs0"]); Assert.Equal("v0", keySlices["rs0"].First().Value); Assert.Equal(10, keySlices["rs1"].Count); var columnPath = new ColumnPath("Standard2"); for (int i = 0; i < 3; i++) { Keyspace.Remove("rs" + i, columnPath); } }
public List <K> getRowKeyList <K>(string keyspace, Object columnFamily) { client.set_keyspace(keyspace); KeyRange range = new KeyRange(); range.Count = ALL_COUNT; range.Start_key = new byte[0]; range.End_key = new byte[0]; SlicePredicate sp = new SlicePredicate(); sp.Slice_range = new SliceRange(); sp.Slice_range.Start = new byte[0]; sp.Slice_range.Finish = new byte[0]; sp.Slice_range.Reversed = false; sp.Slice_range.Count = ALL_COUNT; ColumnParent cp = new ColumnParent() { Column_family = columnFamily.ToString() }; List <KeySlice> rows = client.get_range_slices(cp, sp, range, consistencyLevel); List <K> list = new List <K>(); foreach (var row in rows) { list.Add((K)row.Key.ToObjectFromByteArray(typeof(K))); } return(list); }
public override Void Execute() { var parent = new ColumnParent { Column_family = ColumnFamily.FamilyName, }; if (SuperColumnName != null) { parent.Super_column = SuperColumnName; } var column = new Column { Name = ColumnName, Value = ColumnValue, Timestamp = Timestamp.ToTimestamp(), Ttl = TimeToLive }; CassandraSession.Current.GetClient().insert( Key, parent, column, CassandraSession.Current.WriteConsistency ); return(new Void()); }
public void GetSuperRangeSlice() { for (int i = 0; i < 10; i++) { var cp = new ColumnPath("Super1", "SuperColumn.1", "GetSuperRangeSlice." + i); Keyspace.Insert("GetSuperRangeSlice.0", cp, "GetSuperRangeSlice_value_" + i); Keyspace.Insert("GetSuperRangeSlice.1", cp, "GetSuperRangeSlice_value_" + i); } var columnParent = new ColumnParent("Super1"); var predicate = new SlicePredicate(null, new SliceRange(false, 150)); var keySlices = Keyspace.GetSuperRangeSlice(columnParent, predicate, "GetSuperRangeSlice.0", "GetSuperRangeSlice.3", 5); Assert.NotNull(keySlices); Assert.Equal(2, keySlices.Where(x => x.Key.StartsWith("GetSuperRangeSlice.")).Count()); Assert.NotNull(keySlices["GetSuperRangeSlice.0"]); Assert.Equal("GetSuperRangeSlice_value_0", keySlices["GetSuperRangeSlice.0"].First().Columns.First().Value); Assert.Equal(1, keySlices["GetSuperRangeSlice.1"].Count); Assert.Equal(10, keySlices["GetSuperRangeSlice.1"].First().Columns.Count); var columnPath = new ColumnPath("Super1"); for (int i = 0; i < 2; i++) { Keyspace.Remove("GetSuperRangeSlice" + i, columnPath); } }
public void Insert(string family, string key, string superColumnName, string columnName, string value) { ICluster cluster = AquilesHelper.RetrieveCluster(Cluster); byte[] keyAsByteArray = Encoding.ASCII.GetBytes(key); byte[] valueAsByteArray = Encoding.ASCII.GetBytes(value); var columnParent = new ColumnParent { Column_family = family, }; var column = new Column { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray(columnName), Timestamp = UnixHelper.UnixTimestamp, Value = valueAsByteArray }; cluster.Execute(new ExecutionBlock(client => { // http://www.dotnetperls.com/convert-string-byte-array client.insert(keyAsByteArray, columnParent, column, ConsistencyLevel.ONE); return(null); }), keyspaceName); }
public void GetSlice() { // insert var columnNames = new List <string>(); for (int i = 0; i < 100; i++) { Keyspace.Insert("GetSlice", new ColumnPath("Standard2", null, "GetSlice." + i), "GetSlice.Value." + i); columnNames.Add("GetSlice." + i); } // get var columnParent = new ColumnParent("Standard2"); var sliceRange = new SliceRange(false, 150); var slicePredicate = new SlicePredicate(null, sliceRange); var columns = Keyspace.GetSlice("GetSlice", columnParent, slicePredicate); Assert.NotNull(columns); Assert.Equal(100, columns.Count()); var receivedColumnNames = columns.OrderBy(c => c.Name).Select(c => c.Name).ToList(); Assert.NotEmpty(receivedColumnNames); Assert.Equal(columnNames.OrderBy(i => i).ToList(), receivedColumnNames); // clean up Keyspace.Remove("GetSlice", new ColumnPath("Standard2")); }
public void MultigetSlice() { // insert var columnPath = new ColumnPath("Standard1", null, "MultigetSlice"); var keys = new List <string>(); for (int i = 0; i < 100; i++) { var key = "MultigetSlice." + i; Keyspace.Insert(key, columnPath, "MultigetSlice.value." + i); keys.Add(key); } // get var columnParent = new ColumnParent("Standard1"); var sliceRange = new SliceRange(false, 150); var slicePredicate = new SlicePredicate(null, sliceRange); var ms = Keyspace.MultigetSlice(keys, columnParent, slicePredicate); for (int i = 0; i < 100; i++) { var columns = ms[keys[i]]; Assert.NotNull(columns); Assert.Equal(1, columns.Count); Assert.True(columns.First().Value.StartsWith("MultigetSlice.")); } // remove for (int i = 0; i < 100; i++) { Keyspace.Remove("MultigetSlice." + i, columnPath); } }
protected ColumnParent BuildColumnParent() { var columnParent = new ColumnParent { Column_family = columnFamily }; return(columnParent); }
public void SimpleScenario() { env.RestartCassandra(); env.OpenConnection(); //At this point we're using the standard configuration file var cp = new ColumnPath("Standard1", null, "name"); Console.WriteLine("Inserting a column"); Insert("1", "Josh Blogs", cp); Insert("2", "Something else", cp); //Let's get something back out (this is our select statement) var returnedColumn = client.get( "Keyspace1", //The database "1", //The actual key we want cp, //Where that key sits ConsistencyLevel.ONE //HAZY ); Console.WriteLine("We got Name: {0}, value {1}", returnedColumn.Column.Name.UTFDecode(), returnedColumn.Column.Value.UTFDecode()); Console.WriteLine("Now let's try getting a range"); //This is telling us the offest to get. This is where paging would occur. var predicate = new SlicePredicate(new SliceRange(false, 10)); var parent = new ColumnParent("Standard1"); var keyedResults = client.multiget_slice("Keyspace1", new List <string> { "1", "2" }, parent, predicate, ConsistencyLevel.ONE); foreach (var keyedResult in keyedResults) { Console.WriteLine("Key: {0}", keyedResult.Key); foreach (ColumnOrSuperColumn result in keyedResult.Value) { Column column = result.Column; Console.WriteLine("Name: {0}, value: {1}", column.Name.UTFDecode(), column.Value.UTFDecode()); } } env.CloseConnection(); env.StopCassandra(); }
public void MultigetSuperSlice_With_SuperColumn() { var list = new List <Column>(); for (int i = 0; i < 10; i++) { list.Add(new Column("MultigetSuperSlice." + i, "MultigetSuperSlice.value." + i)); } var scmap = new Dictionary <string, IList <SuperColumn> >(); scmap.Add("Super1", new List <SuperColumn> { new SuperColumn("SuperColumn.1", list), new SuperColumn("SuperColumn.2", list), }); var keys = new List <string>(); for (int i = 1; i <= 3; i++) { var key = "MultigetSuperSlice." + i; Keyspace.BatchInsert(key, null, scmap); keys.Add(key); } try { var columnParent = new ColumnParent("Super1", "SuperColumn.1"); var predicate = new SlicePredicate(null, new SliceRange(false, 150)); var superc = Keyspace.MultigetSuperSlice(keys, columnParent, predicate); Assert.NotNull(superc); Assert.Equal(3, superc.Count); var scls = superc[keys[0]]; Assert.NotNull(scls); Assert.Equal(1, scls.Count); Assert.NotNull(scls[0].Columns); Assert.Equal(10, scls[0].Columns.Count); Assert.NotNull(scls[0].Columns[0].Value); } finally { var columnPath = new ColumnPath("Super1"); for (int i = 1; i <= 3; i++) { Keyspace.Remove("MultigetSuperSlice." + i, columnPath); } } }
public ColumnSlice <N, V> getColumns <N, V>(string keyspace, Object columnFamily, Object key, N[] columnNames) { client.set_keyspace(keyspace); byte[] binaryKey = key.ToByteArray(); ColumnParent cp = new ColumnParent() { Column_family = columnFamily.ToString() }; SlicePredicate sp = new SlicePredicate(); sp.Column_names = columnNames.ToByteArrayListFromCollection <N>(); var result = ThriftUtility.ToNColumnList <N, V>(client.get_slice(binaryKey, cp, sp, consistencyLevel)); ColumnSlice <N, V> cslice = new ColumnSlice <N, V>(); cslice.Columns = result; return(cslice); }
public override IEnumerable <IFluentSuperColumn <CompareWith, CompareSubcolumnWith> > Execute(BaseCassandraColumnFamily columnFamily) { CassandraSession _localSession = null; if (CassandraSession.Current == null) { _localSession = new CassandraSession(); } try { var parent = new ColumnParent { Column_family = columnFamily.FamilyName }; if (SuperColumnName != null) { parent.Super_column = SuperColumnName; } var output = CassandraSession.Current.GetClient().multiget_slice( Keys.ToByteArrayList(), parent, SlicePredicate.CreateSlicePredicate(), CassandraSession.Current.ReadConsistency ); foreach (var result in output) { var r = new FluentSuperColumn <CompareWith, CompareSubcolumnWith>(result.Value.Select(col => { return(Helper.ConvertColumnToFluentColumn <CompareSubcolumnWith>(col.Column)); })); columnFamily.Context.Attach(r); r.MutationTracker.Clear(); yield return(r); } } finally { if (_localSession != null) { _localSession.Dispose(); } } }
public List <ColumnOrSuperColumn> GetSlice(string family, string key, string superColumnName, int count) { //var getSliceCommand = new GetSliceCommand // { // KeySpace = Name, // Key = key, // ColumnFamily = family, // SuperColumn = superColumnName, // Predicate = // new SlicePredicate // { // Slice_range = new SliceRange {Count = count} // } // //using (var connection = AquilesHelper.RetrieveConnection(Cluster)) //{ // connection.Execute(getSliceCommand); // return getSliceCommand.Output == null // ? new List<AquilesColumn>() // : getSliceCommand.Output.Results.Select(o => o.Column).ToList(); //} byte[] keyAsByteArray = Encoding.ASCII.GetBytes(key); var columnParent = new ColumnParent { Column_family = family, }; var predicate = new SlicePredicate { Slice_range = new SliceRange { Count = 1000, Reversed = false, Start = new byte[0], Finish = new byte[0], }, }; ICluster cluster = AquilesHelper.RetrieveCluster(Cluster); object rtnValue = cluster.Execute(new ExecutionBlock( client => client.get_slice(keyAsByteArray, columnParent, predicate, ConsistencyLevel.ONE)), keyspaceName); return(rtnValue as List <ColumnOrSuperColumn>); }
public override IEnumerable <IFluentSuperColumnFamily <CompareWith, CompareSubcolumnWith> > Execute(BaseCassandraColumnFamily columnFamily) { CassandraSession _localSession = null; if (CassandraSession.Current == null) { _localSession = new CassandraSession(); } try { var parent = new ColumnParent { Column_family = columnFamily.FamilyName }; var output = CassandraSession.Current.GetClient().get_indexed_slices( parent, IndexClause.CreateIndexClause(), SlicePredicate.CreateSlicePredicate(), CassandraSession.Current.ReadConsistency ); foreach (var result in output) { var r = new FluentSuperColumnFamily <CompareWith, CompareSubcolumnWith>(result.Key, columnFamily.FamilyName, result.Columns.Select(col => { var superCol = Helper.ConvertSuperColumnToFluentSuperColumn <CompareWith, CompareSubcolumnWith>(col.Super_column); columnFamily.Context.Attach(superCol); superCol.MutationTracker.Clear(); return(superCol); })); columnFamily.Context.Attach(r); r.MutationTracker.Clear(); yield return(r); } } finally { if (_localSession != null) { _localSession.Dispose(); } } }
public override IDictionary <BytesType, int> Execute(BaseCassandraColumnFamily columnFamily) { CassandraSession _localSession = null; if (CassandraSession.Current == null) { _localSession = new CassandraSession(); } try { var parent = new ColumnParent { Column_family = columnFamily.FamilyName }; if (SuperColumnName != null) { parent.Super_column = SuperColumnName; } var output = CassandraSession.Current.GetClient().multiget_count( Keys.ToByteArrayList(), parent, SlicePredicate.CreateSlicePredicate(), CassandraSession.Current.ReadConsistency ); var results = new Dictionary <BytesType, int>(); foreach (var result in output) { results.Add(result.Key, result.Value); } return(results); } finally { if (_localSession != null) { _localSession.Dispose(); } } }
/// <summary> /// Generic method to get the columns. /// </summary> /// <typeparam name="N">Type of column name</typeparam> /// <typeparam name="V">Type of column value</typeparam> /// <param name="keyspace"></param> /// <param name="columnFamily"></param> /// <param name="key">Row key</param> /// <returns>List of NColumns of N,V types</returns> public List <NColumn <N, V> > getAllColumns <N, V>(string keyspace, Object columnFamily, Object key) { client.set_keyspace(keyspace); byte[] binaryKey = key.ToByteArray(); ColumnParent cp = new ColumnParent() { Column_family = columnFamily.ToString() }; SlicePredicate sp = new SlicePredicate(); sp.Slice_range = new SliceRange(); sp.Slice_range.Start = new byte[0]; sp.Slice_range.Finish = new byte[0]; sp.Slice_range.Reversed = false; sp.Slice_range.Count = ALL_COUNT; var result = ThriftUtility.ToNColumnList <N, V>(client.get_slice(binaryKey, cp, sp, consistencyLevel)); return(result); }
/// <summary> /// Returns the columns in the range from the start column to the finish column for a given row key /// </summary> /// <param name="keyspace"></param> /// <param name="columnFamily"></param> /// <param name="key"></param> /// <param name="start">start column name</param> /// <param name="finish">end column name</param> /// <param name="count"></param> /// <param name="reversed"></param> /// <returns></returns> public List <NColumn <byte, byte> > getColumns(string keyspace, Object columnFamily, Object key, Object start, Object finish, int count, Boolean reversed) { client.set_keyspace(keyspace); byte[] binaryKey = key.ToByteArray(); ColumnParent cp = new ColumnParent() { Column_family = columnFamily.ToString() }; SlicePredicate sp = new SlicePredicate(); sp.Slice_range = new SliceRange(); sp.Slice_range.Start = start.ToByteArray(); sp.Slice_range.Finish = finish.ToByteArray(); sp.Slice_range.Reversed = reversed; sp.Slice_range.Count = count; return(ThriftUtility.ToNColumnList <byte, byte>(client.get_slice(binaryKey, cp, sp, consistencyLevel))); }
/// <summary> /// Determines if data is present in the storage /// </summary> /// <param name="key">Key which identifies the data</param> /// <returns>True if data is present</returns> public bool Contains(Guid key) { // Get statement byte[] keyEncoded = key.ToByteArray(); ColumnParent columnParent = new ColumnParent(); columnParent.Column_family = columnFamily; var predicate = new SlicePredicate(); //predicate.Column_names = new List<byte[]>(); //predicate.Column_names.Add(ByteEncoderHelper.UTF8Encoder.ToByteArray("Value")); bool result = (bool)cluster.Execute(new ExecutionBlock(delegate(Cassandra.Client client) { return(client.get_count(keyEncoded, columnParent, predicate, ConsistencyLevel.ONE) > 0); }), keySpace); return(result); }
public override int Execute(BaseCassandraColumnFamily columnFamily) { var parent = new ColumnParent { Column_family = columnFamily.FamilyName }; if (SuperColumnName != null) { parent.Super_column = SuperColumnName; } var result = CassandraSession.Current.GetClient().get_count( Key, parent, SlicePredicate.CreateSlicePredicate(), CassandraSession.Current.ReadConsistency ); return(result); }
public void setColumn(string keyspace, Object columnFamily, Object key, Object columnName, Object columnValue, int ttl) { client.set_keyspace(keyspace); byte[] binaryKey = key.ToByteArray(); ColumnParent cp = new ColumnParent() { Column_family = columnFamily.ToString() }; Column column = new Column(); column.Name = columnName.ToByteArray(); column.Value = columnValue.ToByteArray(); column.Timestamp = createTimestamp(); if (ttl != 0) { column.Ttl = ttl; } client.insert(binaryKey, cp, column, consistencyLevel); }
public void BlogModelScenario() { env.RestartCassandra(); env.OpenConnection(); string entryTitle = "now with bonus batch writes"; string entryAuthor = "josh"; string entryBody = "This is my blog entry yet again"; string entryPostDate = DateTime.Now.ToShortDateString(); var cfmap = new Dictionary <string, List <ColumnOrSuperColumn> >(); //Column families are case sensitive //"BlogEntries" cfmap.Add("Standard1", new List <ColumnOrSuperColumn> { new ColumnOrSuperColumn(new Column("title", entryTitle)), new ColumnOrSuperColumn(new Column("body", entryBody)), new ColumnOrSuperColumn(new Column("author", entryAuthor)), new ColumnOrSuperColumn(new Column("postDate", entryPostDate)), }); client.batch_insert("Keyspace1", entryTitle, cfmap, ConsistencyLevel.ONE); //Now Read it back. var predicate = new SlicePredicate(new SliceRange(false, 10)); var parent = new ColumnParent("Standard1"); //"BlogEntries"); var results = client.get_slice("Keyspace1", entryTitle, parent, predicate, ConsistencyLevel.ONE); foreach (ColumnOrSuperColumn resultColumn in results) { Column column = resultColumn.Column; Console.WriteLine("Name: {0}, value: {1}", column.Name.UTFDecode(), column.Value.UTFDecode()); } env.CloseConnection(); env.StopCassandra(); }
private IEnumerable <IFluentColumn <CompareSubcolumnWith> > GetColumns(BaseCassandraColumnFamily columnFamily) { CassandraSession _localSession = null; if (CassandraSession.Current == null) { _localSession = new CassandraSession(); } try { var parent = new ColumnParent { Column_family = columnFamily.FamilyName }; if (SuperColumnName != null) { parent.Super_column = SuperColumnName; } var output = CassandraSession.Current.GetClient().get_slice( Key, parent, SlicePredicate.CreateSlicePredicate(), CassandraSession.Current.ReadConsistency ); foreach (var result in output) { var r = Helper.ConvertColumnToFluentColumn <CompareSubcolumnWith>(result.Column); yield return(r); } } finally { if (_localSession != null) { _localSession.Dispose(); } } }
private IEnumerable <IFluentColumnFamily <CompareWith> > GetFamilies(BaseCassandraColumnFamily columnFamily) { CassandraSession _localSession = null; if (CassandraSession.Current == null) { _localSession = new CassandraSession(); } try { var parent = new ColumnParent { Column_family = columnFamily.FamilyName }; var output = CassandraSession.Current.GetClient().get_range_slices( parent, SlicePredicate.CreateSlicePredicate(), KeyRange.CreateKeyRange(), CassandraSession.Current.ReadConsistency ); foreach (var result in output) { var r = new FluentColumnFamily <CompareWith>(result.Key, columnFamily.FamilyName, result.Columns.Select(col => { return(Helper.ConvertColumnToFluentColumn <CompareWith>(col.Column)); })); columnFamily.Context.Attach(r); r.MutationTracker.Clear(); yield return(r); } } finally { if (_localSession != null) { _localSession.Dispose(); } } }
public Rows <K, N, V> getRows <K, N, V>(string keyspace, Object columnFamily, ICollection <K> keys) { client.set_keyspace(keyspace); List <byte[]> binaryKeys = keys.ToByteArrayListFromCollection <K>(); ColumnParent cp = new ColumnParent() { Column_family = columnFamily.ToString() }; SlicePredicate sp = new SlicePredicate(); sp.Slice_range = new SliceRange(); sp.Slice_range.Start = new byte[0]; sp.Slice_range.Finish = new byte[0]; sp.Slice_range.Reversed = false; sp.Slice_range.Count = ALL_COUNT; Rows <K, N, V> results = ThriftUtility.ToRowsFromSliceQuery <K, N, V>(client.multiget_slice(binaryKeys, new ColumnParent() { Column_family = columnFamily.ToString() }, sp, consistencyLevel)); return(results); }
public void GetSuperSlice() { // insert for (int i = 0; i < 100; i++) { var cp = new ColumnPath("Super1", "SuperColumn.1", "GetSuperSlice_" + i); var cp2 = new ColumnPath("Super1", "SuperColumn.2", "GetSuperSlice_" + i); Keyspace.Insert("GetSuperSlice", cp, "GetSuperSlice_value_" + i); Keyspace.Insert("GetSuperSlice", cp2, "GetSuperSlice_value_" + i); } // get var columnParent = new ColumnParent("Super1"); var sliceRange = new SliceRange(false, 150); var slicePredicate = new SlicePredicate(null, sliceRange); var columns = Keyspace.GetSuperSlice("GetSuperSlice", columnParent, slicePredicate); Assert.NotNull(columns); Assert.Equal(2, columns.Count()); // clean up Keyspace.Remove("GetSuperSlice", new ColumnPath("Super1")); }
/// <summary> /// Adds or updates value in the storage /// </summary> /// <param name="key">Key which identifies the data</param> /// <param name="value">Data to store</param> /// <returns>True if operation was success</returns> public bool AddOrUpdate(Guid key, object value) { // Insert statement byte[] keyEncoded = key.ToByteArray(); ColumnParent columnParent = new ColumnParent(); columnParent.Column_family = columnFamily; using (var ms = new MemoryStream()) { using (var bw = new BinaryWriter(ms)) { Serializer.Serialize(value, bw); byte[] data = new byte[ms.Length]; // Copy only the used portion of the buffer Array.Copy(ms.GetBuffer(), data, ms.Length); Column column = new Column() { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("Value"), Timestamp = UnixHelper.UnixTimestamp, Value = data, }; cluster.Execute(new ExecutionBlock(delegate(Cassandra.Client client) { client.insert(keyEncoded, columnParent, column, ConsistencyLevel.ONE); return(null); }), keySpace); } } return(true); }
static void Main(string[] args) { TTransport transport = new TSocket("localhost", 9160); TProtocol protocol = new TBinaryProtocol(transport); Cassandra.Client client = new Cassandra.Client(protocol); Console.WriteLine("Opening connection"); transport.Open(); System.Text.Encoding utf8Encoding = System.Text.Encoding.UTF8; long timeStamp = DateTime.Now.Millisecond; ColumnPath nameColumnPath = new ColumnPath() { Column_family = "Standard1", Column = utf8Encoding.GetBytes("name") }; Console.WriteLine("Inserting name columns"); //Insert the data into the column 'name' client.insert("Keyspace1", "1", nameColumnPath, utf8Encoding.GetBytes("Joe Bloggs"), timeStamp, ConsistencyLevel.ONE); client.insert("Keyspace1", "2", nameColumnPath, utf8Encoding.GetBytes("Joe Soap"), timeStamp, ConsistencyLevel.ONE); //Simple single value get using the key to get column 'name' ColumnOrSuperColumn returnedColumn = client.get("Keyspace1", "1", nameColumnPath, ConsistencyLevel.ONE); Console.WriteLine("Column Data in Keyspace1/Standard1: name: {0}, value: {1}", utf8Encoding.GetString(returnedColumn.Column.Name), utf8Encoding.GetString(returnedColumn.Column.Value)); Console.WriteLine("Getting splice range"); //Read an entire row SlicePredicate predicate = new SlicePredicate() { Slice_range = new SliceRange() { //Start and Finish cannot be null Start = new byte[0], Finish = new byte[0], Count = 10, Reversed = false } }; ColumnParent parent = new ColumnParent() { Column_family = "Standard1" }; Dictionary <string, List <ColumnOrSuperColumn> > results = client.multiget_slice("Keyspace1", new List <string>() { "1", "2" }, parent, predicate, ConsistencyLevel.ONE); foreach (KeyValuePair <string, List <ColumnOrSuperColumn> > resultPair in results) { Console.WriteLine("Key: {0}", resultPair.Key); foreach (ColumnOrSuperColumn resultColumn in resultPair.Value) { Column column = resultColumn.Column; Console.WriteLine("name: {0}, value: {1}", utf8Encoding.GetString(column.Name), utf8Encoding.GetString(column.Value)); } } Console.WriteLine("Closing connection"); transport.Close(); }