Tag: datastax

如何在不使用Datastax Studio但通过Java创建图形及其模式的情况下?

我试图通过java创建我与DSE Graph的第一个连接.. public static void main(String args[]){ DseCluster dseCluster = null; try { dseCluster = DseCluster.builder() .addContactPoint(“192.168.1.43”) .build(); DseSession dseSession = dseCluster.connect(); GraphTraversalSource g = DseGraph.traversal(dseSession, new GraphOptions().setGraphName(“graph”)); GraphStatement graphStatement = DseGraph.statementFromTraversal(g.addV(“test”)); GraphResultSet grs = dseSession.executeGraph(graphStatement.setGraphName(“graph”)); System.out.println(grs.one().asVertex()); } finally { if (dseCluster != null) dseCluster.close(); } } 起初我得到的“图形”不存在..我必须通过DataStax Studio创建与特定图形的连接,因为它不在那里。 现在我需要在模式中放置标签,属性等。我知道如何在工作室中进行操作( https://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/using/createSchemaStudio.html )但我想在代码中这样做。 如何在Java中访问模式对象,以便我可以进行以下更改: schema.config().option(‘graph.schema_mode’).set(‘Development’) schema.vertexLabel(‘test’).create() […]

如何在Cassandra中执行批处理语句和LWT作为事务

我有两张下面的模型表: CREATE TABLE IF NOT EXISTS INV ( CODE TEXT, PRODUCT_CODE TEXT, LOCATION_NUMBER TEXT, QUANTITY DECIMAL, CHECK_INDICATOR BOOLEAN, VERSION BIGINT, PRIMARY KEY ((LOCATION_NUMBER, PRODUCT_CODE))); CREATE TABLE IF NOT EXISTS LOOK_INV ( LOCATION_NUMBER TEXT, CHECK_INDICATOR BOOLEAN, PRODUCT_CODE TEXT, CHECK_INDICATOR_DDTM TIMESTAMP, PRIMARY KEY ((LOCATION_NUMBER), CHECK_INDICATOR, PRODUCT_CODE)) WITH CLUSTERING ORDER BY (CHECK_INDICATOR ASC, PRODUCT_CODE ASC); 我有一个业务操作,我需要更新表中的CHECK_INDICATOR和INV表中的QUANTITY。 由于CHECK_INDICATOR是LOOK_INV表中键的一部分,我需要先删除该行并插入一个新行。 以下是我需要以批处理方式执行的三个操作(要么所有操作都要成功执行,要么不执行任何操作) […]

Datastax cassandra驱动程序提供有关主机状态的错误元数据信息

我有一个带有2个DC的集群,每个DC包含2个节点。 DC1: 192.168.60.81 192.168.60.82 DC2: 192.168.60.242 192.168.60.247 应用程序连接到192.168.60.81,因此应用程序的本地DC是DC1。 情况1: 最初当所有节点都启动时,当我尝试获取cluster.metadata.allHosts ,它会向我提供有关主机状态为UP的信息。 情况2: 当本地数据中心(DC1)中的任何节点上升或下降时, cluster.metadata.allHosts会为我提供正确的主机状态信息。 问题: 当远程数据中心(DC2)中的任何节点发生故障时, cluster.metadata.allHosts主机状态信息正确地显示为DOWN。 但是当同一节点重新启动时,仍然是cluster.metadata.allHosts将主机状态信息作为DOWN提供给我。 我在Host.StateListener中注册,以查看是否为远程DC中的节点触发了事件。 但不幸的是,当远程DC中的节点重新启动时,它也永远不会通知。 任何帮助,将不胜感激。 所有节点中的Cassandra版本:2.1.4 Datastax java驱动程序版本:2.1.9

RDD不可序列化的Cassandra / Spark连接器java API

所以我之前对如何在java maven项目中使用spark查询cassandra有一些疑问: 在Java Maven项目中通过Spark查询Cassandra中的数据 好吧,我的问题得到了回答并且有效,但是我遇到了一个问题(可能是一个问题)。 我正在尝试使用datastax java API。 这是我的代码: package com.angel.testspark.test2; import org.apache.commons.lang3.StringUtils; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.Function; import java.io.Serializable; import static com.datastax.spark.connector.CassandraJavaUtil.*; public class App { // firstly, we define a bean class public static class Person implements Serializable { private Integer id; private String fname; private String lname; private String […]

java-cassnadra object地址映射的冻结注释<text,frozen <list <frozen >>>,

我正在尝试将数据插入到Cassandra中(2.1.9)我的Java对象有一个UDT列表的映射。 在运行代码时,我收到有关@Frozen注释的错误。 我正在使用DataStax(2.1.9)库。 http://docs.datastax.com/en/drivers/java/2.1/index.html?com/datastax/driver/mapping/annotations/FrozenValue.html create table user{ name text, addresses map<text, frozen<list<frozen>>>, } 我的Java类 public class User{ private String name; @FrozenValue private Map<String, List> addresses; } 但我得到了以下错误 java.lang.IllegalArgumentException: Error while checking frozen types on field addresses of entity com.dante.data.model.User: expected AddressUDT to be frozen but was not frozen at com.datastax.driver.mapping.AnnotationChecks.validateAnnotations(AnnotationChecks.java:73) ~[cassandra-driver-mapping-2.1.7.jar:na] at com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:81) ~[cassandra-driver-mapping-2.1.7.jar:na] at […]

Cassandra批量查询与单插入性能

我使用Cassandra java driver 。 我每秒收到150k请求,我将其插入到具有不同分区键的8个表中。 我的问题是哪种方式更好: 批量插入这些表 一个接一个地插入 。 我问这个问题是因为,考虑到我的请求大小(150k),批处理听起来像是更好的选项,但因为所有表都有不同的分区键,批处理看起来很昂贵。

主线程java.lang.NoClassDefFoundError中的exception

在线程“main”java.lang.NoClassDefFoundError:com / google / common / util / concurrent / FutureCallback中获取错误exception,同时在代码下运行。 请告知我缺少哪个Jar文件。 我正在从Eclipse IDE执行 package Datastax; import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Host; import com.datastax.driver.core.Metadata; import com.datastax.driver.core.Session; public class DataStaxPOC { private Cluster cluster; public void connect(String node) { cluster = Cluster.builder().addContactPoint(node).build(); Metadata metadata = cluster.getMetadata(); System.out.printf(“Connected to cluster: %s\n”, metadata.getClusterName()); for ( Host host : metadata.getAllHosts() ) […]

.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′ […]

写入cassandra datastax驱动程序引发的超时

在进行批量加载数据时,根据日志数据递增计数器,我遇到超时exception。 我使用Datastax 2.0-rc2 java驱动程序。 这是服务器无法跟上的问题(即服务器端配置问题),还是客户端厌倦等待服务器响应的问题? 无论哪种方式,是否有一个简单的配置更改我可以做到这将解决这个问题? Exception in thread “main” com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout during write query at consistency ONE (1 replica were required but only 0 acknowledged the write) at com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:54) at com.datastax.driver.core.ResultSetFuture.extractCauseFromExecutionException(ResultSetFuture.java:271) at com.datastax.driver.core.ResultSetFuture.getUninterruptibly(ResultSetFuture.java:187) at com.datastax.driver.core.Session.execute(Session.java:126) at jason.Stats.analyseLogMessages(Stats.java:91) at jason.Stats.main(Stats.java:48) Caused by: com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout during write query at consistency ONE (1 replica were […]