0 安装 q/kdb+

在使用VScode这个壳成功调用q/kdb之前,你需要先明白三层东西:

q/kdb+ 本体        -> 真正执行 q 代码,q.exe 是真正的 kdb/q 解释器。所有 q 代码最终都要在它里面跑。
VS Code           -> 编辑器
KX kdb 插件        -> 让 VS Code 能写 q、运行 q、打开 .kxnb

KX 插件不是 q 本体。必须先有 q.exe,插件才能运行 q 代码。所以第一步是安装q,就像你先安装python之后才能使用jupyter notebook或者VScode等IDE去调用它一样。

你需要去 KX 官网下载 kdb+ Personal Edition 或你已有的公司版本。关于qstudio和jupyterq的IDE不建议使用,可以参考下文直接在VSCode中使用KX的kxnb进行调用,我个人感觉稳定性好、更方便调用(因为不要每一次都开端口)并且能够在VSCode中运行,你甚至可以在你的python项目中嵌套使用q。

在安装好q之后你可以进行尝试,打开 PowerShell,运行:

q

如果成功,会进入:

q)

然后输入:

1+2

应该返回:

3

退出 q:

\\

也可以检查版本:

@('.z.K', '.z.k', '.z.o', '\\') | q -q

正常会看到版本、构建日期和平台。

1 安装 VS Code

安装 VS Code,这一步就不说了。

2 安装 KX 插件

在 VS Code Extensions 里搜索:

KX kdb

在这里插入图片描述

0 安装 q/kdb+

在使用VScode这个壳成功调用q/kdb之前,你需要先明白三层东西:

q/kdb+ 本体        -> 真正执行 q 代码,q.exe 是真正的 kdb/q 解释器。所有 q 代码最终都要在它里面跑。
VS Code           -> 编辑器
KX kdb 插件        -> 让 VS Code 能写 q、运行 q、打开 .kxnb

KX 插件不是 q 本体。必须先有 q.exe,插件才能运行 q 代码。所以第一步是安装q,就像你先安装python之后才能使用jupyter notebook或者VScode等IDE去调用它一样。

你需要去 KX 官网下载 kdb+ Personal Edition 或你已有的公司版本。这个步骤你可以借鉴 https://hackmd.io/@keepwith/rki5Qh2NWl, 你可以只借鉴安装q的内容,关于qstudio和jupyterq的IDE不建议使用,可以参考下文直接在VSCode中使用KX的kxnb进行调用,我个人感觉稳定性好、更方便调用(因为不要每一次都开端口)并且能够在VSCode中运行,你甚至可以在你的python项目中嵌套使用q。

在安装好q之后你可以进行尝试,打开 PowerShell,运行:

q

如果成功,会进入:

q)

然后输入:

1+2

应该返回:

3

退出 q:

\\

也可以检查版本:

@('.z.K', '.z.k', '.z.o', '\\') | q -q

正常会看到版本、构建日期和平台。

1 安装 VS Code

安装 VS Code,这一步就不说了。

2 安装 KX 插件

在 VS Code Extensions 里搜索:

KX kdb

在这里插入图片描述

它支持:

  • .q 语法高亮
  • q 代码运行
  • q REPL
  • KX Notebook:.kxnb
  • 连接本地或远程 q 进程
  • 查询结果表格显示

你不需要装一些其他的旧的 vscode-q / vscode-kdb-q。当前更推荐官方 KX 插件。说这一点的目的是在安装py环境时候环境激活、语法高亮和语言本身三个在vscode中是分开的。

3 用KX运行.q文件

新建一个文件:

test.q

写入:

show 1+2;
show .z.K;

3.1 用命令行运行一整个文件

这个在(base) PS E:\XXX\L2数据拆分与透视> 下面如何用命令行运行0_kdb_setup\test.q?

q .\0_kdb_setup\test.q

3.2 使用运行插件运行整个文件或者部分代码段

这个和qstudio类似,但是我觉得前端设计比qstudio好看😁
在这里插入图片描述

你可以选择运行整个文件,或者滑动选中一些代码段,然后点击部分运行。相关的结果如下:

4 用 .kxnb Notebook 运行代码

这是我偏爱的方式运行代码,因为kdb本身带有交互的性质,所以使用类似于jupyter notebook的IDE我认为更可以清晰的展示出数据处理的流程。

命令面板:

Ctrl + Shift + P

搜索:

KX: New Notebook

或者打开已有:

*.kxnb

在 q cell 里写:

1+2

运行 cell。

KX 插件能在使用的时候自动找到找到 q.exe,它可以自动启动本地 q REPL,所以你可能不需要手动连接 q -p 5000。这比在命令行或者qstudio中每次都要开启端口方便多了。

5 什么时候需要开启端口连接 q -p 5000

普通 notebook 开发不一定需要。

只有当你想要一个长期运行、明确可连接的 q 服务时,才启动:

q -p 5000

你需要在 KX 插件 Connections 里添加:

Type: My q
Server Name: local5000
Address: localhost
Port: 5000
Username: 留空
Password: 留空
TLS: 不勾

这种方式适合:

  • 多个文件共享同一个 q session
  • 手动管理长期变量和表
  • 连接远程 kdb
  • 让别的程序通过 IPC 连接 q

如果只是写 .kxnb 学习和开发,先不用它。

在连接的时候你只需要右击connections中的connect sever即可。

它支持:

  • .q 语法高亮
  • q 代码运行
  • q REPL
  • KX Notebook:.kxnb
  • 连接本地或远程 q 进程
  • 查询结果表格显示

你不需要装一些其他的旧的 vscode-q / vscode-kdb-q。当前更推荐官方 KX 插件。说这一点的目的是在安装py环境时候环境激活、语法高亮和语言本身三个在vscode中是分开的。

3 用KX运行.q文件

新建一个文件:

test.q

写入:

show 1+2;
show .z.K;

3.1 用命令行运行一整个文件

这个在(base) PS E:\XXX\L2数据拆分与透视> 下面如何用命令行运行0_kdb_setup\test.q?

q .\0_kdb_setup\test.q

3.2 使用运行插件运行整个文件或者部分代码段

这个和qstudio类似,但是我觉得前端设计比qstudio好看😁

你可以选择运行整个文件,或者滑动选中一些代码段,然后点击部分运行。相关的结果如下:

4 用 .kxnb Notebook 运行代码

这是我偏爱的方式运行代码,因为kdb本身带有交互的性质,所以使用类似于jupyter notebook的IDE我认为更可以清晰的展示出数据处理的流程。

命令面板:

Ctrl + Shift + P

搜索:

KX: New Notebook

或者打开已有:

*.kxnb

在 q cell 里写:

1+2

运行 cell。

KX 插件能在使用的时候自动找到找到 q.exe,它可以自动启动本地 q REPL,所以你可能不需要手动连接 q -p 5000。这比在命令行或者qstudio中每次都要开启端口方便多了。

5 什么时候需要开启端口连接 q -p 5000

普通 notebook 开发不一定需要。

只有当你想要一个长期运行、明确可连接的 q 服务时,才启动:

q -p 5000

你需要在 KX 插件 Connections 里添加:

Type: My q
Server Name: local5000
Address: localhost
Port: 5000
Username: 留空
Password: 留空
TLS: 不勾

这种方式适合:

  • 多个文件共享同一个 q session
  • 手动管理长期变量和表
  • 连接远程 kdb
  • 让别的程序通过 IPC 连接 q

如果只是写 .kxnb 学习和开发,先不用它。

在连接的时候你只需要右击connections中的connect sever即可。

更多推荐