GoCQL:将字符串编组到时间戳中

2024-01-16

我正在开发一个带有聚类列的时间序列数据模型,即

CREATE TABLE events (
    id text,
    time timestamp,
    type text,
    val double,
    PRIMARY KEY (id, time)
) WITH CLUSTERING ORDER BY (time DESC)

我希望对分区列“id”和集群列“time”执行选择。例如id:='1',时间戳:='2017-10-09'

query := "SELECT id, time, type, val FROM events WHERE id=? AND time>=?"
iterable := Cassandra.Session.Query(query, id, timestamp).Consistency(gocql.One).Iter()
for iterable.MapScan(m) {
        found = true
        event = Event{
                ID:       m["id"].(string),
                Time:     m["time"].(time.Time),
                Type:     m["type"].(string),
                Val:      m["val"].(float64),
        }
}

检查 iterable.Close() 上的 err 后,发现编组错误

{“错误”:[“无法将字符串编组到时间戳中”]}

我该如何解决这个问题?


以下是我最终通过将字符串文字(时间戳)转换为类型 time.Time 来解决此问题的方法

timestamp = "2017-10-09T13:25:00.000Z"
tsAfter,err = time.Parse(model.TimeLayout, timestamp)
if err != nil {
    errs = append(errs, err.Error())
}

log.Printf("GET param [id = %s]", idStr)
log.Printf("GET param [after = %s]", tsAfter.String())

m := map[string]interface{}{}
query := "SELECT id, time, type, val FROM events WHERE id = ? AND time >= ?"
iterable := cql.Session.Query(query, idStr, tsAfter).Consistency(gocql.One).Iter()

for iterable.MapScan(m) {
    eventList = append(eventList, model.Event{
        ID:         m["id"].(string),
        Time:       m["time"].(time.Time),
        Type:       m["type"].(string),
        Val:        m["val"].(float64),
    })
    m = map[string]interface{}{}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GoCQL:将字符串编组到时间戳中 的相关文章

  • Cassandra cqlsh - 如何显示时间戳列的微秒/毫秒?

    我正在插入带有时间戳列的 Cassandra 表 我的数据具有微秒精度 因此时间数据字符串如下所示 2015 02 16T18 00 03 234 00 00 但是 在 cqlsh 中 当我运行选择查询时 微秒数据不会显示 我只能看到精确到
  • 如何对结构切片而不是切片结构进行范围调整

    稍微玩了一下 Go HTML 模板后 我发现的所有循环模板中对象的示例都是将切片结构传递给模板 有点像这个示例 type UserList struct Id int Name string var templates template M
  • 如何通过在切片上查找来从切片复制到数组

    我正在编写一个库来处理二进制格式 我有一个带有数组变量的结构 我想保留它以用于文档目的 我还需要从输入字节片中查找和判断 一些伪代码 type foo struct boo 5 byte coo 3 byte func main input
  • 管理多租户 ArangoDB 连接

    我使用 ArangoDB Go 使用 go driver 并且需要实现多租户 这意味着每个客户都将在单独的数据库中拥有他的数据 我想要弄清楚的是如何使这种多租户发挥作用 我知道为每个请求创建一个新的数据库连接是不可持续的 这意味着我必须维护
  • 使用生成的 Golang DLL 返回字符串或 *C.Char

    我一直在努力追随z505 goDLL https github com z505 goDLL回购并遇到了一个大问题 该方法无法返回字符串 我无法读取结果的输出变量 这是我到目前为止使用的代码 Go 完整代码https play golang
  • ioutil.ReadFile - 没有这样的文件或目录[重复]

    这个问题在这里已经有答案了 对于以下代码 package main import fmt io ioutil strings func main b err ioutil ReadFile shakespeare txt if err ni
  • 多个生产者,单个消费者:所有 goroutine 都在睡觉 - 死锁

    在继续工作之前 我一直遵循检查通道中是否有任何内容的模式 func consume msg lt chan message for if m ok lt msg ok fmt Println More messages m else bre
  • 如何使用 exec.Command 在 golang 中执行 Mysql 脚本

    您好 我正在尝试执行一个脚本以使用 Golang 将数据填充到数据库中 func executeTestScript cmd exec Command usr local mysql bin mysql h127 0 0 1 P3333 u
  • 为什么 Go 中不允许在包级别声明短变量?

    这是允许的 package main var a 3 但这不是 package main a 3 为什么不 为什么不能将函数外部的短变量声明视为没有类型的常规声明 只是为了简化解析 根据伊恩 兰斯 泰勒的说法这个线程 https group
  • 如何覆盖 go 模块中的依赖项?

    In dep您可以选择覆盖依赖项并使其指向不同的存储库 例如以下内容https github com kubermatic glog logrus https github com kubermatic glog logrus库一需要将以下
  • 在 OSX 上交叉编译 Go?

    我正在尝试在 OSX 上交叉编译 go 应用程序以构建适用于 Windows 和 Linux 的二进制文件 我已经阅读了网上能找到的所有内容 我发现的最接近的例子已经发布在 除了疯狂邮件列表上许多未完成的讨论之外 http solovyov
  • 如何从 golang fyne 容器中删除对象

    我正在开发 GUI 应用程序 需要动态添加和删除 gui 元素 我想知道是否有办法从 golang fyne 容器中删除元素 在下面的示例代码中 我创建了容器并动态添加元素 现在我希望能够删除这些元素而不是隐藏它们 我尝试的一个 解决方案
  • 记录 http.ResponseWriter 内容

    Premise 我发现了类似的问题 但不适用于我的情况 因此请不要将其标记为重复 我在 Go 中有一个 HTTP 服务器 并且创建了一个中间件记录请求 响应时间 我也想记录响应 我用过httputil DumpRequest在一个名为的函数
  • go build 不断抱怨:go.mod 有 post-v0 模块路径

    Go 1 11 发布后 我一直在尝试将我的存储库移动到 Go 模块 方法是添加go mod文件在其根目录下 我的根库之一my host root其版本为17 0 1 所以我在其中写道go mod file module my host ro
  • 带有导出字段的私有类型

    在 Go 教程的第二天有这样的练习 为什么拥有带有导出字段的私有类型会很有用 例如 package geometry type point struct X Y int name string 请注意point是小写的 因此不会导出 而字段
  • Golang:使用像 Node.js 中那样的可读流从 PostgreSQL 数据库中选择几百万行

    我有大约 5000 万行的 PostgreSQL 表 我想编写 Go 代码来从该表中选择大约 100 万行 并以有效的方式处理它们 上次我使用了nodejs和这个NPM模块pg 查询流 https www npmjs com package
  • 限制 FormFile 中的文件大小

    我让用户使用 FormFile 上传文件 我应该在什么时候检查文件大小是否太大 当我做 file header fileErr r FormFile file 文件对象已经创建 那么我是否已经产生了读取整个文件的成本 https golan
  • 正则表达式不匹配

    我正在尝试以下代码 d byte x01 x00 x00 x00 x00 x00 x00 x00 x00 x00 x00 x80J x13 x80SQ x80L xe0 x80 x92 x80L x80H xe0 r regexp Must
  • 如何获取文件的 ctime、atime、mtime 并更改它们

    如何使用 Go 获取文件的 ctime mtime atime 并更改它们 在 Go 1 1 2 中 os Stat只能获取mtime os Chtimes 可以更改 mtime 和 atime 但不能更改 ctime Linux ctim
  • 聚类键的范围查询

    我有一个表 用于记录在我的网站上执行的用户活动 我的表结构如下 CREATE TABLE key space log id uuid time bigint ip text url text user id int PRIMARY KEY

随机推荐

  • 如何在 ControlTemplate 中声明事件处理程序?

    我有以下内容ControlTemplate
  • 并行过程的最佳种子

    我需要在不同的机器上并行运行蒙特卡洛模拟 代码是用 C 编写的 但程序是使用 python 脚本设置和启动的 该脚本设置了很多东西 特别是随机种子 函数 setseed 获取一个 4 字节无符号整数 使用一个简单的 import time
  • 如何在渲染前获取textview的行数?

    如何获取字符串在 a 中占用的行数TextView在渲染之前 A ViewTreeObserver不起作用 因为它们仅在渲染后才会被触发 当将整个单词放在下一行以避免破坏单词时 接受的答案不起作用 hello world 100 确定行数的
  • Google Play 商店正在向用户提供额外积分? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我们正在使用服务器端验证来验证 Play 商店中的应用内订阅 谷歌针对其中一个请求返回了这样的响应 kind androidpublisher sub
  • 处理大量rtsp摄像头,无实时限制

    问题定义 假设我有大量 rtsp 摄像机 gt 100 我想对其执行一些操作 例如图像特征提取 重要提示 我对实时性能不感兴趣 我什至可以在一分钟内进行 4 次特征提取 显然 越多越好 As now 瓶颈是图像采集 帧是通过以下方式获取的c
  • iOS WebView远程html与本地图像文件

    以前也有人问过类似的问题 但我一直找不到解决方案 这是我的情况 我的 UIWebView 加载远程 html 页面 网页中使用的图像在构建时是已知的 为了使页面加载速度更快 我想将iOS应用程序中的图像文件打包并在运行时替换它们 请注意 h
  • 如何修复错误:(psycopg2.errors.NotNullViolation)“id”列中的空值违反非空约束?

    为什么会出现下面的错误 我知道db session add 方法但是我想使用原始 SQL 来学习 UUID 不应该自动生成吗 也许我在 postgresql 文本中遗漏了一些内容或者模型中的 id 不正确 error Error psyco
  • 如何配置概率占用地图人员检测器

    概率占用图是一种多摄像头人体检测程序 其c 免费实施可在以下位置获取 http cvlab epfl ch software pom http cvlab epfl ch software pom 为了利用这个方便的软件 需要 经过背景去除
  • 如何比较两个文件的创建日期?

    使用 XP 的批处理 如何使用返回 true 或 false 的函数 isMoreRecentThan pathToFile1 pathToFile2 来比较两个文件的创建日期 该解决方案应在没有管理员权限的情况下运行 特别是不应使用 wm
  • 将 Array Of String 转换为 Double,然后在 Swift 中计算总和

    我有一个字符串数组 我想将其转换为双精度 然后我想将数组中的每个项目加在一起并得到总和 到目前为止 这是我的代码 枚举数组后 我在将它们全部添加在一起时遇到问题 update Xcode 10 1 Swift 4 2 1 或更高版本 let
  • 为什么事件上的composedPath在延迟时返回不同的值?

    因为简单来说path不存在于MouseEvent or WheelEvent类型 我正在使用替代方案 composedPath方法 直到现在我还无法体验到它们之间的区别 我包裹了我的wheel听众与requestAnimationFrame
  • 使用 Apache2 在 Ubuntu 12.04 上启用 htaccess 错误

    我尝试启用 htaccess 我变了
  • 找出当前选择的是哪个 gtk 小部件

    我有一个收藏GtkEntry小部件 其中一些是可编辑和可聚焦的 而另一些则不是 我想找出其中哪些 如果有 当前选择了文本 以便实现 编辑 gt 复制 菜单项 除了迭代所有小部件直到gtk editable get selection bou
  • 删除 iOS Swift 发布版本的 println()

    我想全局忽略所有println 如果我不在调试版本中 则调用我的 Swift 代码 我找不到任何可靠的分步说明 希望得到指导 有没有办法在全球范围内做到这一点 或者我需要包围每个println with IF DEBUG ENDIF声明 最
  • 为什么二进制序列化比 xml 序列化更快?

    为什么二进制序列化比 xml 序列化更快 考虑序列化双精度 例如 二进制序列化 将内存地址中的 8 个字节写入流中 二进制反序列化 读取相同的8个字节 xml 序列化 写入标记 转换为文本 写入结束标记 I O 增加近三倍 CPU 利用率增
  • 使用 localToScene(x,y) 获取节点场景中的位置返回错误值

    我想将弹出的窗格的位置绑定到调用它的按钮的位置 我尝试通过调用来这样做button localToScene button getLayoutX button getLayoutY 然而 返回的 Point2D 变量中的 X 坐标错误 我在
  • 如何在scala中返回一个函数

    How can I return a function side effecting lexical closure https stackoverflow com questions 22288329 side effecting lex
  • 空文本框上的 JQuery 默认文本

    我有一个电子邮件表单文本框 虽然它是空的 但我希望它具有值 电子邮件 当您单击它时 文本就会消失 如果有人点击它但没有输入文本 关于模糊 我希望它恢复为默认文本 我一直在尝试一些事情 但没有任何效果 有人可以指出我正确的方向吗 或者你可以只
  • Linux中如何从另一个终端访问一个终端上运行的进程?

    我想知道该过程 以便我可以从终端访问或控制 Linux 中其他终端上运行的进程 两个终端属于同一系统 也许你想要类似的东西reptyr https github com nelhage reptyr https github com nel
  • GoCQL:将字符串编组到时间戳中

    我正在开发一个带有聚类列的时间序列数据模型 即 CREATE TABLE events id text time timestamp type text val double PRIMARY KEY id time WITH CLUSTER