---
source_url: https://docs.dolphindb.cn/zh/funcs/c/createOrcaHaKeyedStreamTable.html
fetched_at: 2026-05-19T09:16:38Z
category: funcs
title: createOrcaHaKeyedStreamTable
sha1: c59badf89ce31fb7d4226a8b454d3fc20bddcf18
---

# createOrcaHaKeyedStreamTable

首发版本：3.00.4

## 语法

`createOrcaHaKeyedStreamTable(name, keyColumn, colNames, colTypes, raftGroup,
cacheLimit, [retentionMinutes=1440])`

## 详情

创建一个高可用键值流数据表。

与 `StreamGraph::haKeyedSource`
的区别在于，`createOrcaHaKeyedStreamTable` 无需依赖流图。

## 参数

**name** 表示流表的名称。字符串标量，可以传入完整的流表全限定名（如
"trading.orca\_table.trades"）；也可以仅提供流表名（如 "trades"），系统会根据当前的 catalog
设置自动补全为对应的全限定名。

**keyColumn** 是一个字符串或向量，表示主键。主键的数据类型必须属于以下类别：INTEGRAL,
TEMPORAL, LITERAL 或 FLOATING。

**colNames** 是一个向量，表示列名。

**colTypes**
是一个向量，表示每列的数据类型，支持数组向量类型和元组（ANY）类型。可使用表示数据类型的系统保留字或相应的字符串。

**raftGroup** 是一个大于1的整数，或者字符串。

- 当为整数时，表示 Raft 组的 ID。
- 当为字符串时，表示 Raft 组的别名（需事先通过 *streamingRaftGroupAliases* 配置 ）。

**cacheSize** 是一个正整数，用于指定高可用流数据表在内存中最多保留多少行。如果 *cacheSize*
是小于1000的正整数，它会被自动调整为1000。

**retentionMinutes** 可选参数，整数，用于指定保留大小超过 1GB 的 log
文件的时间（从文件的最后修改时间开始计算），单位是分钟。默认值是1440，即一天。

## 返回值

返回一个表。

## 例子

```dolphindb
if(!existsCatalog("demo")){
    createCatalog("demo")
}
go
use catalog demo

createOrcaHaKeyedStreamTable("ha_keyedTable",`symbol, `time`symbol`price`volume, [DATETIME,SYMBOL,DOUBLE,LONG], 3, 50000)
```
