当我尝试在KDB +中联合加入('cast
)两个非常简单的五行表时,我收到错误uj
。
以下代码中出现错误的原因是什么?
q)t1b
Symbol | RIC
---------| ---------
000001.SZ| 000001.SZ
000001.ZK| 000001.ZK
000002.SZ| 000002.SZ
000002.ZK| 000002.ZK
000004.SZ| 000004.SZ
q)t2b
Symbol| RIC
------| ------
1301 | 1301.T
1332 | 1332.T
1333 | 1333.T
1334 | 1334.T
1352 | 1352.T
q)meta t1b
c | t f a
------| -----
Symbol| s
RIC | s
q)meta t2b
c | t f a
------| -----
Symbol| s
RIC | s
q)keys t1b
,`Symbol
q)keys t2b
,`Symbol
q)t1b uj t2b
k){+.[x;(!+y;i);:;.+y z i:&z<#y]}
'cast
q))
如果我删除主键,加入,然后重新应用主键,它就可以了。但为什么?当然,我在这里遗漏了一些关于KDB +的基本信息。
q)tuj: `Symbol xkey (() xkey t1b) uj (() xkey t2b)
q)tuj
Symbol | RIC
---------| ---------
000001.SZ| 000001.SZ
000001.ZK| 000001.ZK
000002.SZ| 000002.SZ
000002.ZK| 000002.ZK
000004.SZ| 000004.SZ
1301 | 1301.T
1332 | 1332.T
1333 | 1333.T
1334 | 1334.T
1352 | 1352.T
q)meta tuj
c | t f a
------| -----
Symbol| s
RIC | s
q)keys tuj
,`Symbol
答案 0 :(得分:3)
很可能是因为您的某些符号已枚举,而某些符号不是
答案 1 :(得分:0)
您可以查看上面的示例代码: 您已声明两个表 t1b和t2b ,但是在尝试加入 t1和t2 时会出现转换错误?这些表的价值是什么?
t1b和t2b将加入:
docker exec -i 418f46e5595d mongoexport --db saveInfo --collection infoobjects --type=csv --fields _id,postLink,postTitle,contactPhone --out ./info.csv
答案 2 :(得分:0)
看起来您正在尝试联合表t1
和t2
而不是t1b
和t2b
。如图所示加入示例表应该可以正常工作。