Publishing and Receiving CSV Events via Files
Purpose¶
This application demonstrates how to configure WSO2 Streaming Integrator Tooling to Publish and receive data events processed within Siddhi to files in CSV default format.
Prerequisites¶
-
Edit the uri
<SI-Tooling-Home>/samples/artifacts/CSVMappingWithFile/new/example.csv
by replacing<SI-Tooling-Home>
with the absolute path of your WSO2 SI Tooling home directory. -
You can also change the path for
file.uri
in the sink, if you want to publish your event file to a different location. -
Save this sample. If there is no syntax error, the following messages would be shown on the console:
CSVDefaultMapping.siddhi successfully deployed.
Executing & testing the Sample¶
- Start the Siddhi application by clicking on 'Run'.
- If the Siddhi application starts successfully, the following messages are shown on the console:
CSVDefaultMapping.siddhi - Started Successfully!
Viewing the results¶
-
Source takes input from the
<SI-Tooling-Home>/samples/artifacts/CSVMappingWithFile/new/example.csv
then produce the event. example.csv has data in below format.1,WSO2,23.5
2,IBM,2.5
-
Sink takes input from source output and produces the output to outputOfCustom.csv in CSV custom format.outputOfCustom.csv's data appear in below format.
1,WSO2,100.0
2,IBM,2.5
@App:name("CSVDefaultMapping")
@App:description('Publish and receive data events processed within Siddhi to files in CSV default format.')
@source(type='file',
dir.uri='file://<SI-Tooling-Home>/samples/artifacts/CSVMappingWithFile/new',
action.after.process='NONE',
@map(type='csv'))
define stream InputStream (id int, name string, amount double);
@sink(type='file', file.uri='/<SI-Tooling-Home>/samples/artifacts/CSVMappingWithFile/new/outputOfDefault.csv' , @map(type='csv'))
define stream OutputStream (id int, name string, amount double);
from InputStream
select *
insert into OutputStream;