Tag: cassandra

线程“main”中的exceptionorg.apache.spark.SparkException:此JVM中只能运行一个SparkContext(参见SPARK-2243)

当我尝试使用cassandra运行spark应用程序时,我收到错误。 Exception in thread “main” org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). 我正在使用spark版本1.2.0,很明显我只在我的应用程序中使用了一个spark上下文。 但每当我尝试为流媒体目的添加以下代码时,我都会收到此错误。 JavaStreamingContext activitySummaryScheduler = new JavaStreamingContext( sparkConf, new Duration(1000));

听听Cassandra数据存储区的变化?

我想知道是否有可能为Cassandra添加一个监听器来获取表和更改条目的主键? 拥有这样一个机制会很棒。 检查Cassandra文档我只发现将StateListener添加到Cluster实例。 有没有人知道如何在不破解Cassandras数据存储的情况下执行此操作或封装驱动程序并自行执行某些操作?

Cassandra Sample Trigger Code获取插入值

我需要您在触发器扩充方法中提取列名称和值的帮助。 表格定义: create table dy_data ( id timeuuid, data_key text, time timestamp, data text,primary key((id,data_key),time) ) with clustering order by (time desc); 触发代码: public class ArchiveTrigger implements ITrigger { public Collection augment(ByteBuffer key, ColumnFamily cf) { try { // Below loop only has 2 columns ( one is “data” and another one may be “time” […]

Cassandra如何选择节点发送请求?

想象一下,客户端应用程序需要访问Cassandra集群。 在Java api中,我们创建一个集群实例并通过Session发送读或写请求。 如果我们使用读/写一致性ONE,api如何选择实际节点(协调器节点)以转发请求。 这是随机选择吗? 请帮助解决这个问题。

Java 8:类JavaLaunchHelper在两者中实现

我正在尝试启动Cassandra,我遇到了一个问题,JavaLaunchHelper位于两个地方。 我正在运行Java 8.这是确切的错误: objc[413]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined. 发现Java 7的类似问题: JavaLaunchHelper类在两者中实现。 将使用两者之一。 哪一个未定义 解决这个问题的最佳方法是什么?

带有Spring Data和Cassandra @Query的IN子句

我正在尝试使用IN子句和Spring Data中的@Query注释来查询Cassandra表。 我有一个表,其分区键为last_name,聚类键为first_name。 我有这个查询工作 @Query(“SELECT * FROM people WHERE last_name=?0”) public List findByLastName(String lastName); 我想做点什么 @Query(“SELECT * FROM people WHERE last_name=?0 AND first_name IN ?1”) public List findByLastName(String lastName, String[] firstName); 我有它正在使用 CassandraOperations.select(“SELECT * FROM people WHERE last_name=” + lastName + ” AND first_name IN (” + concatinatedNameList + “)”, People.class); 但由于一些原因(代码风格,测试,我发誓还有更多)我更喜欢使用@Query。 有任何想法吗? 编辑更多信息! 传入一个数组,设置或列表返回Caused […]

获得Cassandra Writes背压的最佳方法是什么?

我有一个服务,以我控制的速率消耗队列中的消息。 我做了一些处理,然后尝试通过Datastax Java客户端写入Cassandra集群。 我已经使用maxRequestsPerConnection和maxConnectionsPerHost设置了我的Cassandra集群。 但是,在测试中我发现当我到达maxConnectionsPerHost并且对session.executeAsync maxRequestsPerConnection调用时不会阻塞。 我现在正在做的是使用new Semaphore(maxConnectionsPerHost * maxRequestsPerConnection)并在每个异步请求之前递增它,并在executeAsync返回的未来完成时递减它。 这很好用,但由于驱动程序已在内部跟踪请求和连接,因此它似乎是多余的。 有没有人想出更好的解决方案来解决这个问题? 一个警告:我希望在完成之前将其视为未完成的请求。 这包括重试 ! 我从群集中获得可重试失败的情况(例如等待一致性的超时)是我想要反压并停止消耗来自队列的消息的主要情况。 问题: // the rate at which I consume messages depends on how fast this method returns processMessage(message) { // this appears to return immediately even if I have exhausted connections/requests session.executeAsync(preparedStatement.bind(…)); } 当前解决方案 constructor() { this.concurrentRequestsSemaphore = new Semaphore(maxConnectionsPerHost […]

如何将Java Long转换为Cassandra的byte ?

懒惰的程序员警报。 🙂 Cassandra将列值存储为字节( Java示例 )。 指定LongType比较器将这些字节比较为long。 我希望long的值成为一个Cassandra友好的byte []。 怎么样? 我捅了一会儿。 我想你们人们可以更快地帮助我。 编辑: Alexander和Eli的回答都同意这种逆向转换 。 谢谢!

Spark与Cassandra输入/输出

想象一下以下场景:Spark应用程序(Java实现)正在使用Cassandra数据库加载,转换为RDD并处理数据。 该应用程序还从数据库中蒸出新数据,这些数据也由自定义接收器处理。 流处理的输出存储在数据库中。 该实现使用Spring Data Cassandra与数据库集成。 CassandraConfig: @Configuration @ComponentScan(basePackages = {“org.foo”}) @PropertySource(value = { “classpath:cassandra.properties” }) public class CassandraConfig { @Autowired private Environment env; @Bean public CassandraClusterFactoryBean cluster() { CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean(); cluster.setContactPoints(env.getProperty(“cassandra.contactpoints”)); cluster.setPort(Integer.parseInt(env.getProperty(“cassandra.port”))); return cluster; } @Bean public CassandraMappingContext mappingContext() { return new BasicCassandraMappingContext(); } @Bean public CassandraConverter converter() { return new […]

如何使用Datastax Java驱动程序的异步/批量写入function

我打算使用Datastax Java驱动程序写入Cassandra ..我主要对Datastax java驱动程序的Batch Writes和Asycnhronousfunction感兴趣,但我无法获得任何可以解释如何在我的下面的代码中包含这些function的教程它使用Datastax Java驱动程序.. /** * Performs an upsert of the specified attributes for the specified id. */ public void upsertAttributes(final String userId, final Map attributes, final String columnFamily) { try { // make a sql here using the above input parameters. String sql = sqlPart1.toString()+sqlPart2.toString(); DatastaxConnection.getInstance(); PreparedStatement prepStatement = DatastaxConnection.getSession().prepare(sql); prepStatement.setConsistencyLevel(ConsistencyLevel.ONE); BoundStatement […]