从Cassandra导出大量数据到CSV
我正在使用Cassandra 2.0.9来存储大量数据,例如,在一个列家族中的100GB.我想以快速的方式将这些数据导出到CSV.我尝试了: sstable2json - 它会产生很大的JSON文件,这些文件很难解析 - 因为工具将数据放入一行并使用复杂的架构(例如300MB数据文件= 〜2GB JSON),因此需要一个倾倒和卡桑德拉(Cassandra)的大量时间喜欢根据其内部机制更改源文件名 复制 - 在相当快速的EC2实例上导致大量记录的超时 捕获 - 如上所述,导致超时 用分页读取 - 我使用了Timeuuid,但它返回了大约1,5k的记录 我使用Amazon EC2实例与快速存储,15 GB的RAM和4个核心 从Cassandra到CSV的数据出口千兆字节是否有更好的选择? 解决方案 2020年代更新:DataStax提供了一种特殊的工具,称为DSBULK,用于从Cassandra(从Cassandra 2.1开始)和DSE(从DSE 4.7/4
18 2024-03-30
编程技术问答社区
mysql与cassandra的插入速度对比
我有很多(大约100万个)结构数据必须插入数据库 我看到有关SQL与NOSQL和NOSQL类型的基准,然后将Cassandra收集为数据库 但我创建了一个基准测试以测试MySQL与Cassandra在写入/更新/选择速度 MySQL在我的基准测试中具有更好的性能,我想知道我的错误是什么? PHP用作编程语言 yacassandrapdo 和 cataloniaframework 用作PHP驱动程序,PDO用作MySQL驱动程序 我的服务器是CentOS 6.5,带有2个核心CPU和2GB RAM, MySQL和Cassandra具有默认配置 基准的细节: Cassandra Keyspace和柱家族结构: 创建Keyspace test2 复制= {'class':'simplestrategy','replication_factor':1} 和durable_writes = false; CREATE TABLE test ( uuid
2 2024-03-30
编程技术问答社区
卡桑德拉的原子批处理
批次陈述是卡桑德拉的原子陈述是什么意思?文档本质上有点令人困惑.这是否意味着查询在群集中的节点之间是原子吗? 说,例如,我有一个带有100个查询的批次.如果批次中的第40个查询失败,则批次中执行的39个查询会发生什么? 我知道,在引擎盖下创建了一个面包库,它将照顾部分批次的一致性.它是否删除了39个条目的其余部分,并提供批次查询所需的原子质. 在MySQL中,我们将自动加入设置为false,因此我们可以回滚.卡桑德拉在这种情况下会回滚吗? 解决方案 原子性是基于协调的.这意味着,当您进行原子批处理突变时,它将转移给一个协调员.如果您的批处理中的一个突变(40在您的示例中)失败了,因为负责其死亡的复制品,协调员将为该副本编写一个提示,并在Dead Node恢复后将其传递. 但是,在某种情况下,您最终会出现一半施加的突变:如果协调员本身有问题. 要了解有关原子批次的更多信息,请阅读以下内容: http://www.datastax.com/datasta
6 2024-03-29
编程技术问答社区
Cassandra-是否有办法限制异步查询的数量?
我想知道是否有办法限制卡桑德拉java驱动程序同时执行的查询数? 目前,我执行了很多查询,如下所示: ... PreparedStatement stmt = session.prepare("SELECT * FROM users WHERE id = ?"); BoundStatement boundStatement = new BoundStatement(stmt); List futures = Lists.newArrayListWithExpectedSize(list.length); for(String id : list ) { futures.add(session.executeAsync(boundStatement.bind(id))); } for (ListenableFuture future : futures) { ResultSet rs = future.ge
12 2024-03-18
编程技术问答社区
Spark Cassandra连接器错误
试图通过Spark-Shell和Spark-Submit连接Cassandra,但都会丢弃相同的错误. 火花版本:1.2.0 Apache Cassandra版本2.1.1使用DataStax Cassandra驱动程序和连接器与Spark 1.2.0连接(版本在POM文件中列出).除Cassandra外,Scala或Java程序效果很好.请一些帮助解决此错误. 错误: `**java.lang.AbstractMethodError at org.apache.spark.Logging$class.log(Logging.scala:52) at com.datastax.spark.connector.cql.CassandraConnector$.log(CassandraConnector.scala:144) at org.apache.spark.Logging$class.logDebug(Logging.scala:63)
12 2024-03-01
编程技术问答社区
什么时候从Cassandra获取?
我有一个将作业触发到Spark Master的应用程序.但是,当我检查执行作业的IP地址时,它显示我的应用程序IP,而不是Spark Worker IP.因此,据我了解,RDD的呼吁会产生一个火花工人工作. 但是我的问题是. CassandraSQLContext c = new CassandraSQLContext(sc); QueryExecution q=c.executeSql(cqlCommand); //-----1 q.toRDD().count(); //----2 我看到工人在做2件事,但没有1. 那么,这意味着从Cassandra和RDD创建中从1中获取全部完成吗? 如果是这样,则2确实向两名工人触发了一份工作.在这种情况下,它是否再次从Cassandra获取并处理计数? 有人可以澄清一下?? 编辑 通过提供的答案,如果计数调用触发了工人的功能,那么在本地创建RDD的executesQL的用途是什么?这是否通过查询创
4 2024-02-29
编程技术问答社区
线程 "main "中出现异常 java.lang.NoClassDefFoundError: com/twitter/chill/KryoBase
我正在用dataStax cassandra编写一个简单的火花卡桑德拉程序,但要低于异常 线程" main" java.lang.noclassdeffounderror中的例外: com/twitter/chill/kryobase引起的: java.lang.classnotfoundexception:com.twitter.chill.kryobase pom.xml com.datastax.dse dse-spark-dependencies 5.1.1 com.datastax.dse
24 2024-02-29
编程技术问答社区
JavaSparkContext不可序列化
我正在与卡桑德拉(Cassandra)一起使用Spark,并且我的客户ava a JavaRDD.对于每个客户,我想从卡桑德拉(Cassandra)选择他的互动: avaPairRDD> a = client.mapToPair(new PairFunction>() { @Override public Tuple2> call(String s) throws Exception { List b = javaFunctions(sc)
6 2024-02-29
编程技术问答社区
在Spark中从cassandra表中删除
我正在与Cassandra一起使用Spark.而且我正在阅读表格中的一些行,以便使用primarykey删除主题.这是我的代码: val lines = sc.cassandraTable[(String, String, String, String)](CASSANDRA_SCHEMA, table). select("a","b","c","d"). where("d=?", d).cache() lines.foreach(r => { val session: Session = connector.openSession val delete = s"DELETE FROM "+CASSANDRA_SCHEMA+"."+table+" where channel='"+r._1 +"' and ctid='"+r._2+"'and cvid='"+r._3+"';" session.execute(delete) session
10 2024-02-29
编程技术问答社区
Spark提交失败,java.lang.NoSuchMethodError:scala.Predef$.$conforms()Lscala/Predef$$less$colon$less。
我正在使用Spark 1.3.1 Prebuild版本Spark-1.3.1-bin-hadoop2.6.tgz 线程" main" java.lang.nosuchmethoderror中的例外: scala.predef $.$ conforms()lscala/predef $$少$ colon $ sish;在 org.apache.spark.util.utils $ .getSystemproperties(utils.scala:1418)at org.apache.spark.sparkconf.(SparkConf.Scala:58)at org.apache.spark.sparkconf.(SparkConf.Scala:52)at com.zoho.zbi.testing.test(testing.java:43)at com.zoho.zbi.testing.main(testing.java:39)使用Spark的默认log4j 个人资料:org/apa
8 2024-02-29
编程技术问答社区
将生产中的env cassandra集群转移到AWS cassandra而不停机
我有在本地DC中在生产环境中运行的4个节点的Cassandra群集.我必须将其移至AWS Cassandra.由于某种原因,我不想将Cassandra移至DynamoDB. Cassandra版本使用的版本很旧,即1.2.9. 我如何将Cassandra从本地DC移至AWS Cassandra,而无需数据丢失和零停机时间. 问候, Vivek 解决方案 在AWS中创建新的DC.在两个DC之间配置Inter DC同步.退役旧DC. 其他解决方案 我之前已经做过. 正如Alex TBK所说,您将在AWS上添加带有新数据中心的节点. 添加带有新的逻辑数据中心名称的新的空节点.您需要使用GossipingPropertyFile snitch(如果还没有),并在cassandra-rackdc.properties文件中指定DC.您也可以在该文件中指定逻辑机架,通常将AWS可用性区域放在那里. 构建一个AWS节点后,使用第一个节点的IP作为种子
4 2024-01-25
编程技术问答社区
Token Aware Astyanax连接池在节点上连接,而不在节点上分配连接。
我正在使用定义的Astyanax连接池: ipSeeds = "LOAD_BALANCER_HOST:9160"; conPool.setSeeds(ipSeeds) .setDiscoveryType(NodeDiscoveryType.TOKEN_AWARE) .setConnectionPoolType(ConnectionPoolType.TOKEN_AWARE); 但是,我的群集有4个节点,我有8台客户端机器连接. LOAD_BALANCER_HOST转发请求向我的四个节点之一. 在客户端节点上,我有: $netstat -an | grep 9160 | awk '{print $5}' | sort |uniq -c 235 node1:9160 680 node2:9160 4 node3:9160 4 node4:9160 因此,尽管ConnectionPoolType是TOKEN_AWARE,但我的客户
10 2024-01-24
编程技术问答社区
在EC2上连接到datastax集群上的cassandra节点 Ruby on Rails
我创建了一个带有2个Cassandra节点,2个搜索节点和2个分析节点的DataStax Cassandra Enterprise群集. 除了我无法从外部连接到它,一切似乎都可以正常工作.如果我在Node0服务器上,我可以运行Cassandra-cli并连接到端口9160上的Cassandra节点,但是当我尝试使用所以经过一些挖掘,我发现了一些问题 1. Port 9160 is connected and I can connect to it from telnet node0_ip 9160 2. when I run rake ds:migrate, I get No live servers in node0_ip 3. I tried to connect to 'cassandra' gem instead from IRB and tried a. client = Cassandra.new('example', 'node
6 2024-01-24
编程技术问答社区
DataStax Opscenter Agent没有连接。"无法定位cassandra.yaml配置文件"
我已经在Windows Server 2012 R2 Datacenter机器上安装了DataStax社区版v2.0.3. 安装香草后,我无法使用opscenter连接到数据库,因为代理未能启动:它在页面顶部说"连接的1个代理中的0".我可以使用CQLSH连接到数据库本身. v2.0.2. 不会出现此问题 我的datastax_opscenter_agent-stderr.log文件包含以下内容: 2013-12-05 16:16:54 Commons Daemon procrun stderr initialized Exception in thread "Initialization" clojure.lang.ExceptionInfo: throw+: {:type :bad-permissions, :message "Unable to locate the cassandra.yaml configuration file. If your configurat
16 2023-12-08
编程技术问答社区
如何在cassandra中使数值独一无二
我想在卡桑德拉(Cassandra)做出独特的约束. 因为我想在我的专栏一家中唯一的价值 前任: 名字 - 拉胡尔 电话123 地址-ABC 现在我希望我没有等于rahul的值,123和ABC再次插入dataStax上的塞拉西克斯上,我发现我可以通过在分区密钥上进行查询来实现它,仿佛不存在,但不能为此找到解决方案获取所有3个值唯一的 意味着 名字 - 雅各布 电话123 地址-QWE 这也不应插入我的数据库中,因为我的电话列的值与我​​在name-rahul上显示的值相同. 解决方案 简短的答案是,卡桑德拉不支持任何类型的约束.它们太昂贵了,因为它们必须涉及多个节点,从而击败了最终保持一致性的目的.如果您需要使单个列独一无二,那么可能会有一个解决方案,但不能用于更独特的列.出于相同的原因 - 没有隔离,没有一致性(c和i来自酸).如果您确实需要使用这种类型的执法使用Cassandra,那么您将需要创建某种同步应用程序层,该应用程序将拦截 all 向数据库请求,并确保值
12 2023-11-06
编程技术问答社区
Cassandra轻量级事务的一致性水平
我读到了Cassandra 2的轻量级交易.这种写入始终在Quorum上的一致性水平吗?这是否意味着,即使我有一个具有100个节点的多数据中心设置,也涉及整个群集(所有数据中心的大部分复制品)的Quorum?这不会真的很慢,不会影响可用性吗? 我们可以执行local_quorum还是每个_quorum一致性?如果在多个数据中心复制数据的作者始终仅来自特定的数据中心. ,这将是首选. . 解决方案 轻量级交易的建议一致性级别是串行的.在幕后,串行的序列甚至比Quorum还要糟糕,因为它是一个多相法规.正如您说的那样 有一个local_serial,对于您所有DC都从特定DC收到数据的情况可能非常适合您的情况. 在这里您可以找到更多信息: 轻量级交易 hth,carlo 其他解决方案 正式,如果从读取的节点读取的节点和从一起编写的节点大于节点的数量(r + w> n),则您可以达到的最高级别的一致性是因果一致性. . 如果您使用法定人数读取和
10 2023-10-25
编程技术问答社区
根据统计数据在cassandra中获取数据点
我正在测试Cassandra(2.0)作为存储我们的时间序列数据的可能替代品. 我制作了一个简单的表,将我们的一些数据丢进其中: CREATE TABLE DataRaw( channelId int, sampleTime timestamp, value double, PRIMARY KEY (channelId, sampleTime) ) WITH CLUSTERING ORDER BY (sampleTime ASC); 我可以很容易地执行最常用的查询,例如第一个值,最后一个值(当前值)并通过Max,Min,Count,Count,AVG等获取统计信息 ,但我不仅需要在一个范围内获取最大值,还需要该值为. . 对于给定的数据: sampleTime value 2015-08-28 00:00 10 2015-08-28 01:00 15 2015-08-28 02:00 13 我希望查询
18 2023-10-21
编程技术问答社区
在CentOS 6.5 64位和Cassandra PDO上安装thrift
可能是我在这个空间中的第一个问题.从最近两天开始,我一直在努力解决这个问题.是的,这似乎很多.这是发生了什么 要安装节俭,我正在遵循Apache Thirfts网站(Thrift.apache.org/docs/install/centos/) 上的某种内容 yum install boost-devel php-devel pcre-devel automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel libtool* 然后我将执行以下命令 cd /opt/ wget https://github.com/apache/thrift/archive/0.9.1.tar.gz tar -xzvf 0.9.1.tar.gz ./bootstrap.sh ./confgure 这是我遇到的最后一个错误
24 2023-10-20
编程技术问答社区
将cassandra连接到Tableau软件
我想将Tableau软件连接到我的Cassandra数据库.请注意,我在Windows7中使用Tableau,在Ubuntu(虚拟机)中使用了Cassandra. 为此,我已经安装了Cassandra ODBC(和Simba Cassandra ODBC,但我也遇到了同样的问题).我得到了一个成功,我找到了我的钥匙空间,但没有我的桌子! 但是" CIM" Keyspace中没有表! 请注意,在我的Keyspace" CIM"中,我有3个表,可以在Cassandra中提出任何问题.在创建ODBC驱动程序之前,我应该做些什么??? 谢谢您的帮助 解决方案 目前的ODBC驱动程序时使用thrift,因此无法直接与CQL3通信以显示表名称.描述命令也行不通.但是,您仍然应该能够从表中选择数据. ODBC驱动程序的更新应在新年的某个时候提供CQL3支持. 其他解决方案 更新Cassandra的Simba ODBC驱动程序支持CQL3并解决您的问题. http
26 2023-10-14
编程技术问答社区
Cassandra "检测到不可读的sstables" 错误
在我的Windows盒上,在Windows更新的优美重新启动后,我在Cassandra(2.2.0)中遇到以下错误,并且不会启动: 错误10:36:41检测到的不可读的SstableS D:\ cassandra_data \ data \ gutptptest-abcdedf-5040777777777777777777777777777777777777777557FCD8340170B-KEYCACHE-BEKECACHE-B.DB,DB.DB,d:\ cassandra-data-ddate-data-nime-data-ef seline 11E59BA77FCD8340170B-KEYCACHE-B.DB, D:\ cassandra_data \ data \ system-indexinfo-9f5c6374d48532299a0a50945094af94af9ad1e3-keycache-b.db,....,请检查news.txt 有什么建议我如何恢复数据库?或
42 2023-09-28
编程技术问答社区