Python 在PyQ中打开连接句柄并使用hopen更新kdb表
我想使用PyQ解析json对象,然后通过将解析的数据通过打开的句柄推送到键控表来更新在不同端口上运行的键控kdb表 要在q中打开句柄并更新kdb表,需要执行以下步骤 在服务器上;打开端口,定义一个表和一个函数Python 在PyQ中打开连接句柄并使用hopen更新kdb表,python,python-3.x,kdb,pyq,Python,Python 3.x,Kdb,Pyq,我想使用PyQ解析json对象,然后通过将解析的数据通过打开的句柄推送到键控表来更新在不同端口上运行的键控kdb表 要在q中打开句柄并更新kdb表,需要执行以下步骤 在服务器上;打开端口,定义一个表和一个函数 q)\p 5000 q)t:([keycol:`aa`bb`cc]col2:10 20 30; col3: 1.1 2.2 3.3) q)f:{[x;y]update col2: y from t where keycol=x} q)t keycol| col2 col3 ------|
q)\p 5000
q)t:([keycol:`aa`bb`cc]col2:10 20 30; col3: 1.1 2.2 3.3)
q)f:{[x;y]update col2: y from t where keycol=x}
q)t
keycol| col2 col3
------| ---------
aa | 10 1.1
bb | 20 2.2
cc | 30 3.3
在客户方面;打开连接句柄,调用函数,关闭连接句柄
q)h:hopen `::5000
q)h (`f; `aa; 99)
keycol| col2 col3
------| ---------
aa | 99 1.1
bb | 20 2.2
cc | 30 3.3
q)hclose h
在PyQ中执行此操作的正确语法是什么?您的客户端命令可以转换为PyQ,如下所示:
>>> h = q.hopen('::5000')
>>> h(('f','aa',99)).show()
keycol| col2 col3
------| ---------
aa | 99 1.1
bb | 20 2.2
cc | 30 3.3
>>> h.hclose()
k('::')
请注意,除非将f更改为使用“t”而不是“t”,否则这不会更新服务器上的表。您的客户端命令可以转换为PyQ,如下所示:
>>> h = q.hopen('::5000')
>>> h(('f','aa',99)).show()
keycol| col2 col3
------| ---------
aa | 99 1.1
bb | 20 2.2
cc | 30 3.3
>>> h.hclose()
k('::')
请注意,这不会更新服务器上的表,除非您将f更改为使用`t而不是t