Contents
The Union operator sample uses a Union operator to interleave trades from a Reuters
feed and the Interactive Data PlusFeed (formerly Comstock). The input streams contain
schemas with the fields Symbol, PricePS (per share), Time, and
FeedID.
-
In the Package Explorer, double-click to open the
Union.sbappapplication. Make sure the application is the currently active tab in the EventFlow Editor. -
Click the
Run button. This opens the SB
Test/Debug perspective and starts the application.
-
In the Application Output view, select the
UnionOutoutput stream. No output is displayed at this point, but the dequeuer is prepared to receive output. This view eventually shows the output of the application. -
In the Manual Input view, select the
ComstockIninput stream. -
Enter
amat,24,1, and0in theSymbol,PricePS,Time, andFeedIDfields, respectively. -
Click Send Data, and observe this data appears in the Application Output view:
Symbol=amat, PricePS=24.0, Time=1, FeedID=0
-
Select the
ReutersIninput stream. -
Enter
msft,40,2, and1in theSymbol,PricePS,Time, andFeedIDfields, respectively. -
Click Send Data, and observe this data appears in the Application Output view:
Symbol=msft, PricePS=40.0, Time=2, FeedID=1
-
Enter
intc,24,3, and1in theSymbol,PricePS,Time, andFeedIDfields, respectively. -
Click Send Data, and observe this data appears in the Application Output view:
Symbol=intc, PricePS=24.0, Time=3, FeedID=1
-
Select the
ComstockIninput stream. -
Enter
amat,23,4, and0in theSymbol,PricePS,Time, andFeedIDfields, respectively. -
Click Send Data, and observe this data appears in the Application Output view:
Symbol=amat, PricePS=23.0, Time=4, FeedID=0
-
Select the ReutersIn input stream.
-
Enter
intc,22,5, and1in theSymbol,PricePS,Time, andFeedIDfields, respectively. -
Click Send Data, and observe this data appears in the Application Output view:
Symbol=intc, PricePS=22.0, Time=5, FeedID=1
Note that the time in this tuple is before the time in the previous tuple. In other words, the Union operator is agnostic to the order of input tuples. Use a Merge operator if you want to order on a field by using a criterion such as time.
-
When done, press F9 or click the
Stop Running Application button.
This section describes how to run the sample in UNIX terminal windows or Windows command prompt windows. On Windows, be sure to use the StreamBase Command Prompt from the Start menu as described in the Test/Debug Guide, not the default command prompt.
-
Open three terminal windows on UNIX, or three StreamBase Command Prompts on Windows. In each window, navigate to the directory where the sample is installed, or to your workspace copy of the sample, as described above.
-
In window 1, type:
sbd Union.sbapp
-
In window 2, type:
sbc dequeue UnionOut
No output is displayed at this point, but the dequeuer is prepared to receive output. This window eventually shows the output of the application.
-
In window 3, type:
sbc enqueue
The sbc command now waits for keyboard input. Ttype:
ComstockIn,amat,24,1,0
Observe this line in the dequeue window:
amat,24.000000,1,0
-
Type:
ReutersIn,msft,40,2,1
Observe this line in the dequeue window:
msft,40.000000,2,1
-
Type:
ReutersIn,intc,24,3,1
Observe this line in the dequeue window:
intc,24.000000,3,1
-
Type:
ComstockIn,amat,23,5,0
Observe this line in the dequeue window:
amat,23.000000,5,0
-
Type:
ReutersIn,intc,22,4,1
Observe this line in the dequeue window:
intc,22.000000,4,1
Note that the time in this tuple is before the time in the previous tuple. In other words, the Union operator is agnostic to the order of input tuples. Use a Merge operator if you want to order on a field by using a criterion such as time.
-
In window 3, type: Ctrl+Z (Windows) or Ctrl+D (UNIX) to exit the sbc session.
-
In window 3, type the following command to terminate the server and dequeuer:
sbadmin shutdown
In StreamBase Studio, import this sample with the following steps:
-
From the top menu, click → .
-
Select operator from the Data Constructs and Operators category.
-
Click OK.
StreamBase Studio creates a single project for the operator samples.
By default, the sample files are installed in:
-
On Windows:
C:\Program Files\StreamBase Systems\StreamBase.n.m\sample\operator -
On UNIX:
/opt/streambase/sample/operator
When you load the sample into StreamBase Studio, Studio copies the sample project's
files to your Studio workspace. StreamBase Systems recommends that you use the
workspace copy of the sample, especially on UNIX, where you may not have write access
to /opt/streambase. In the default installation, the
path to this sample in your Studio workspace is:
UNIX: ~/streambase-studio-n.m-workspace/sample_operator Windows XP: C:\Documents and Settings\username\My Documents\StreamBase Studion.mWorkspace\ sample_operator Windows 7 and Windows Vista: C:\Users\username\Documents\StreamBase Studion.mWorkspace\ sample_operator
