Откройте дескриптор соединения и обновите таблицу kdb с помощью hopen в PyQ - PullRequest
0 голосов
/ 29 ноября 2018

Я хотел бы использовать PyQ для анализа объекта json, а затем обновить таблицу kdb с ключами, запущенную на другом порту, протолкнув проанализированные данные через открытый дескриптор таблицы с ключами.

Чтобы открытьобработка и обновление таблицы kdb в q потребует следующих шагов:

На сервере;открыть порт, определить таблицу и функцию

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?

1 Ответ

0 голосов
/ 29 ноября 2018

Ваши клиентские команды можно преобразовать в 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.

...