StreamGraph::haKeyedSource
First introduced in version: 3.00.3
Syntax
StreamGraph::haKeyedSource(name, keyColumn, colNames, colTypes, raftGroup,
cacheLimit, [retentionMinutes=1440])
Details
Creates a high-availability keyed stream table.
Return value: A DStream object.
Parameters
name is a string representing the name of the Orca stream table. You can provide either the fully qualified name (FQN), such as "trading.orca_table.factors", or just the table name, like "factors". If only the name is given, the system will automatically complete it using the current catalog.
keyColumn (optional) is a STRING scalar or vector specifying the primary key. When this parameter is set, a high-availability keyed stream table will be created, and its primary key cannot contain duplicate values.
colNames is a STRING vector of column names.
colTypes is a STRING vector of data types. It can use either the reserved words for data types or corresponding strings.
raftGroup can be either an integer greater than 1 or a string.
- Integer: represents the raft group ID.
- String: represents a raft group alias, which must be preconfigured via streamingRaftGroupAliases.
cacheSize is a positive integer representing the maximum number of rows of the high-availability stream table to be kept in memory. If cacheSize>1000, it is automatically adjusted to 1000.
retentionMinutes (optional) is an integer specifying for how long (in terms of minutes) a log file larger than 1GB will be kept after last update. The default value is 1440, which means the log file only keeps data in the past 24 hours.
Examples
if (!existsCatalog("orca")) {
createCatalog("orca")
}
go
use catalog orca
g = createStreamGraph("indicators")
g.haKeyedSource("ha_keyedTable",`symbol, `time`symbol`price`volume, [DATETIME,SYMBOL,DOUBLE,LONG], 3, 50000)
