首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何运行dsbulk卸载并直接写入S3

如何运行dsbulk卸载并直接写入S3
EN

Stack Overflow用户
提问于 2020-10-21 09:05:13
回答 1查看 259关注 0票数 1

我想运行dsbulk unload命令,但是我的cassandra集群在我想要导出的表中有大约1TB的数据。有没有一种方法可以运行dsbulk unload命令并将数据流式传输到s3中,而不是写入磁盘?

我在我的dev环境中运行以下命令,但显然这只是在我的机器上写入磁盘

bin/dsbulk unload -k myKeySpace -t myTable -url ~/data --connector.csv.compression gzip

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-21 16:06:19

它不支持“原生的”开箱即用。从理论上讲,它可以实现,因为DSBulk现在是open source,但它应该由某人来完成。

更新:解决方法可能是,正如Adam指出的那样,使用aws s3 cp并通过管道从DSBulk连接到它,如下所示:

代码语言:javascript
复制
dsbulk unload .... |aws s3 cp - s3://...

但有一个限制-卸载将在一个线程中执行,因此卸载可能会慢得多。

短期内,您可以通过Spark Cassandra Connector在本地主模式下使用Apache Spark,如下所示(对于Spark 2.4):

代码语言:javascript
复制
spark-shell --packages com.datastax.spark:spark-cassandra-connector-assembly_2.11:2.5.1

而在里面:

代码语言:javascript
复制
val data = spark.read.format("org.apache.spark.sql.cassandra")\
   .options(Map( "table" -> "table_name", "keyspace" -> "keyspace_name")).load()
data.write.format("json").save("s3a://....")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64455248

复制
相关文章

相似问题

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