如何在指定时间内使用cassandra将数据导出到csv?

CR7

我可以使用以下命令将所有数据导出到csv:

COPY data  TO '/usr/local/cassandra/my_data.csv';

但是现在我想将指定时间的数据导出到csv,例如这种情况:

select * from data where upload_time >='2020-10-16 00:00:00.000+00' and upload_time <'2020-10-17 00:00:00.000+0000' allow filtering ;

我应该如何使用命令?

亚历克斯·奥特

您可以将DSBulk实用程序与自定义查询一起使用,但是需要小心并放置优化条件,以便它将执行完整扫描,但要使用令牌范围(有关详细信息,请参见此博客文章)。

诸如此类的东西(用pk实际的分区键列的名称替换,并拆分查询字符串-我出于可读性考虑将其拆分):

dsbulk unload -url data.csv \
-query "SELECT * FROM ks.table WHERE token(pk) > :start AND token(pk) <= :end 
  AND upload_time >='2020-01-01 00:00:00.000+00' 
  AND upload_time <'2021-01-01 00:00:00.000+0000' allow filtering" 

另一种方法是将Spark与Spark Cassandra Connector一起使用(即使在本地主模式下)-它将spark-shell后台执行相同的操作(例如,Scala中的示例,可以通过pyspark进行类似操作):

import org.apache.spark.sql.cassandra._
val data = spark.read.cassandraFormat("table", "keyspace").load()
val filtered = data.filter("upload_time >= cast('2020-01-01 00:00:00.000+00' as timestamp) AND upload_time <= cast('2021-01-01 00:00:00.000+0000' as timestamp)")
filtered.write.format("csv").save("data.csv")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在一定时间内循环播放?

如何在给定时间内重新加载ajax调用函数

字符串pop_back如何在恒定时间内实现?

如何在C ++中使用计时器在给定时间内强制输入?

如何在固定时间内返回下标?

递归算法无法在指定时间内完成测试

如何在特定时间内锁定Android设备?

如何使用termcolor模块中的有色函数使字符串在指定时间内闪烁?[Python 2.7]

如何在固定时间内更改按钮的backColor?

如何在一定时间内运行代码?

如何在不同的指定时间内显示不同的组件?

如何在预定时间内发送报告

如何在碳日期时间内使用变量?

如何在特定时间内执行方法?

我可以在指定时间内将浮点值从x更改为y吗?

使用Rails如何在给定时间内查找用户预订的课程

如何在更短的时间内搜索数据库

如何在Debian中阻止cron作业在特定时间内运行?(“游戏” /“表演模式”)

如何在指定时间内获取curl请求的HTML

如何在窗口ReplaySubject时间内使用TestScheduler

如何在一定时间内暂停进程?

如何在更少的时间内使用我的vim配置?

如何在恒定时间内在N大小的列表中查找整数?

如何在固定的时间内使用javascript函数?

如何在恒定时间内获取每个元素?

如何在指定的时间内运行循环

如何在C中使用while循环在给定时间内运行

统计一定时间内的数据数量

如何在 Tkinter Text 小部件中限制仅在指定时间内输入文本