首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将大量数据从Cassandra导出到CSV

将大量数据从Cassandra导出到CSV
EN

Stack Overflow用户
提问于 2014-07-23 03:38:48
回答 3查看 15.4K关注 0票数 23

我使用Cassandra 2.0.9在一个列系列中存储相当大的数据量,比如说100‘s。我想以快速的方式将此数据导出到CSV。我试过了:

  • sstable2json -它生成了相当大的json文件,很难解析-因为工具将数据放在一行中,并使用复杂的模式(例如。300Mb数据文件=~2 2Gb),转储需要很长时间,而且Cassandra喜欢根据其内部mechanism
  • COPY更改源文件名-导致大量records
  • CAPTURE的相当快的EC2实例超时-如上所述,导致具有分页的timeouts
  • reads -我对其使用了timeuuid,但它每秒返回约1,5k记录

我使用亚马逊Ec2实例,存储速度快,内存15 Gb,内核4核

将千兆字节的数据从Cassandra导出到CSV还有更好的选择吗?

EN

回答 3

Stack Overflow用户

发布于 2020-06-11 15:54:08

针对2020的更新: DataStax提供了一个名为DSBulk的特殊工具,用于从Cassandra (从Cassandra 2.1开始)和DSE (从DSE4.7/4.8开始)加载和卸载数据。在最简单的情况下,命令行如下所示:

代码语言:javascript
复制
dsbulk unload -k keyspace -t table -url path_to_unload

DSBulk针对加载/卸载操作进行了大量优化,并有许多选项,包括从压缩文件导入/导出,提供自定义查询等。

有一系列关于DSBulk的博客文章,可以提供更多信息和示例:123456

票数 4
EN

Stack Overflow用户

发布于 2015-01-20 01:10:11

因为当您尝试从Cassandra中导出一个包含数百万行的表时,使用COPY将非常具有挑战性,所以我所做的是创建一个简单的工具来从cassandra表中逐块(分页)获取数据块,并将其导出到CSV。

使用来自datastax的java库查看我的example solution

票数 3
EN

Stack Overflow用户

发布于 2020-01-21 19:04:18

受@user1859675答案的启发,下面是我们如何使用Spark从Cassandra导出数据

代码语言:javascript
复制
val cassandraHostNode = "10.xxx.xxx.x5,10.xxx.xxx.x6,10.xxx.xxx.x7";
val spark = org.apache.spark.sql.SparkSession
                                    .builder
                                    .config("spark.cassandra.connection.host",  cassandraHostNode)
                                    .appName("Awesome Spark App")
                                    .master("local[*]")
                                    .getOrCreate()

val dataSet = spark.read.format("org.apache.spark.sql.cassandra")
                        .options(Map("table" -> "xxxxxxx", "keyspace" -> "xxxxxxx"))
                        .load()

val targetfilepath = "/opt/report_values/"
dataSet.write.format("csv").save(targetfilepath)  // Spark 2.x

您需要在类路径中使用"spark-cassandra-connector“才能正常工作。

我使用的版本如下

代码语言:javascript
复制
    <groupId>com.datastax.spark</groupId>
    <artifactId>spark-cassandra-connector_2.11</artifactId>
    <version>2.3.2</version>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24896336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档