Tag: cassandra

通过ByteBuffer和CQL 3将Java对象序列化为Cassandra 1.2

我拼凑了下面没有做任何复杂的代码 – 只需创建一个byte []变量,将其写入Cassandra的blob字段(v1.2,通过新的Datastax CQL库),然后将其读回再次出来。 当我把它放在它的3个元素长时,当我读回它时,它是84个元素长…! 这意味着我实际上要做的事情(序列化Java对象)失败,并带有org.apache.commons.lang.SerializationException: java.io.StreamCorruptedException: invalid stream header: 81000008错误时再次尝试反序列化。 这是一些演示我的问题的示例代码: import java.nio.ByteBuffer; import org.apache.commons.lang.SerializationUtils; import com.datastax.driver.core.BoundStatement; import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Host; import com.datastax.driver.core.Metadata; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.ResultSet; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; public class TestCassandraSerialization { private Cluster cluster; private Session session; public TestCassandraSerialization(String node) { connect(node); } private void connect(String node) { cluster […]

如何使用Spark DataFrame计算Cassandra表的汇总统计量?

我试图得到一些Cassandra / SPARK数据的最小值,最大值,但我需要用JAVA来做。 import org.apache.spark.sql.DataFrame; import static org.apache.spark.sql.functions.*; DataFrame df = sqlContext.read() .format(“org.apache.spark.sql.cassandra”) .option(“table”, “someTable”) .option(“keyspace”, “someKeyspace”) .load(); df.groupBy(col(“keyColumn”)) .agg(min(“valueColumn”), max(“valueColumn”), avg(“valueColumn”)) .show(); 编辑显示工作版本:确保“围绕someTable和someKeyspace

.jfindClass中的错误(as.character(driverClass)):找不到类

> cassdrv <- JDBC("org.apache.cassandra.cql.jdbc.CassandraDriver", + list.files("C://Users//VRavimurugan.GSIN//AppData//Roaming//RazorSQL//cassandra",pattern="jar$",full.names=T)) .jfindClass中的错误(as.character(driverClass) 1 ):找不到类 试过这个,但没有运气RJDBC Cassandra – > .jfindClass中的错误(as.character(driverClass)[1]):找不到类

Cassandra批处理查询具有不同分区键的表的性能

我有一个测试用例,我从客户端每秒收到150k请求。 我的测试用例需要将UNLOGGED batch插入多个表并具有不同的分区键 BEGIN UNLOGGED BATCH update kspace.count_table set counter=counter+1 where source_id= 1 and name=’source_name’ and pname=’Country’ and ptype=’text’ and date=’2017-03-20′ and pvalue=textAsBlob(‘US’) update kspace.count_table set counter=counter+1 where source_id= 1 and name=’source_name’ and pname=’City’ and ptype=’text’ and date=’2017-03-20′ and pvalue=textAsBlob(‘Dallas’) update kspace.count_table set counter=counter+1 where source_id= 1 and name=’source_name’ and pname=’State’ and ptype=’text’ and date=’2017-03-20′ […]

使用Datastax API(使用新的二进制协议)升级/读入/读取Cassandra数据库

我已经开始使用Cassandra database 。 我打算使用Datastax API来upsert/read Cassandra database 。 我对这个Datastax API (使用新的二进制协议)完全不Datastax API ,我也找不到很多具有一些适当示例的文档。 create column family profile with key_validation_class = ‘UTF8Type’ and comparator = ‘UTF8Type’ and default_validation_class = ‘UTF8Type’ and column_metadata = [ {column_name : crd, validation_class : ‘DateType’} {column_name : lmd, validation_class : ‘DateType’} {column_name : account, validation_class : ‘UTF8Type’} {column_name : advertising, validation_class […]

使用datastax java驱动程序连接到本地cassandra节点?

我使用datastax java驱动程序3.1.0连接到cassandra集群,我的cassandra集群版本是2.0.10。 下面是我用来连接cassandra集群的单例类。 public class CassUtil { private static final Logger LOGGER = Logger.getInstance(CassUtil.class); private Session session; private Cluster cluster; private static class Holder { private static final CassUtil INSTANCE = new CassUtil(); } public static CassUtil getInstance() { return Holder.INSTANCE; } private CassUtil() { List servers = TestUtils.HOSTNAMES; String username = TestUtils.loadCredentialFile().getProperty(TestUtils.USERNAME); String password […]

如何在CQL 3预处理语句中绑定IN子句值?

我有一张大致相似的桌子 create table mytable ( id uuid, something text, primary key (id) ); 我正在尝试创建一个具有绑定in子句的预准备语句: PreparedStatement ps = session.prepare(“select * from mytable where id IN (?)”); … UUID[] ids = { uuid1, uuid2, uuid3} ; 无论我如何表达要绑定的id,java驱动程序都会拒绝它们。 ps.bind( /*as array*/) :driver complains语句只有一个值,2提供 ps.bind( /*as comma separated string list of uuids*/) :驱动程序抱怨它想要UUID.class对象,而不是字符串 ps.bind( /*as list object*/) :驱动程序抱怨它想要UUID.class objs,而不是List.class对象 […]

使用hadoop运行jar时的NoSuchMethodError Sets.newConcurrentHashSet()

我正在使用带有hadoop 2.2.0的 cassandra-all 2.0.7 api。 4.0.0 zazzercode doctorhere-engine-writer 1.0 jar DoctorhereEngineWriter UTF-8 2.0.7 1.0-2 15.0 2.2.0 org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.6 1.6 maven-assembly-plugin zazzercode.DiseaseCountJob jar-with-dependencies junit junit 3.8.1 test me.prettyprint hector-core ${hector.version} org.apache.thrift libthrift org.apache.cassandra cassandra-all ${cassandra.version} libthrift org.apache.thrift org.apache.cassandra cassandra-thrift ${cassandra.version} libthrift org.apache.thrift org.apache.hadoop hadoop-client ${hadoop.version} org.apache.thrift libthrift 0.7.0 com.google.guava guava ${guava.version} com.googlecode.concurrentlinkedhashmap concurrentlinkedhashmap-lru 1.3 […]

与Apache Cassandra的SoapUI JDBC连接

有没有人知道如何使用SoapUI中的JDBC连接字符串连接到cassandra。 我试过了,但无法连接。 根据研究我才知道org.apache.cassandra.cql.jdbc.CassandraDriver不支持。 我正在使用以下信息。 驱动程序: org.apache.cassandra.cql.jdbc.CassandraDriver 连接字符串: jdbc:cassandra://localhost:8080/test3

为何我无法连接到cassandra

我的笔记本电脑上有一个基本的cassandra设置,它可以使用命令行工具连接到它,但是在java中,以下操作失败: Cluster cluster = new Cluster.Builder().addContactPoints(“localhost”).withPort(9160).build(); 任何线索都会非常有用,谢谢! 错误是: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1 ([localhost/127.0.0.1] Unexpected error during transport initialization (com.datastax.driver.core.TransportException: [localhost/127.0.0.1] Channel has been closed))) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:186)