This connector is entirely hosted and documented on Github.
mstr-kafka-sink is a Kafka Connect plugin for sending data from Kafka to a Strategy server. The data residing in Strategy is stored in memory, optimized for Dashboard creation and fast access to the real time data stream.
The information below assumes you have at least Strategy 10.9, Kafka and Kafka Connect deployed.
Configuring the connector requires at least the following information:
This connector only supports pushing a JSON topic to a Strategy Cube. Other formats (TXT, CSV, etc.) need to be transformed in Kafka prior to be pushed to Strategy. KSQL can help you do this
Clone this repository, open the project in eclipse and compile the connector:
The resulting jar file should go in the Plugins folder of Kafka Connect. If you're using Docker to run it, make sure to have a Shared folder with your server that contains the Jar and is properly mapped to the
CONNECT_PLUGIN_PATHparameter
You should be good to go, just restart Kafka Connect and let's configure the Sink
2 options are available to configure the Sink. You can either create it using a REST API Call on Kafka Connect, or if you are using Confluent.io, use the Control Center to create it from a user friendly web portal.
Currently, all cubes go the the Shared Reports of the project. Custom folders support will probably be considered in a near future
Update bold parameters
curl -XPOST -H 'Accept: application/json' -H "Content-type: application/json" -d '{"name": "StrategySinkTest","config": {"connector.class": "com.Strategy.se.kafka.pushapi.StrategySink", "topics": "users","CONFIG_LIBRARY_URL": "yourserver-url/StrategyLibrary","CONFIG_USER": "mstr","CONFIG_PASSWORD": "yourpassword", "CONFIG_PROJECT": "Strategy Tutorial","CONFIG_CUBE": "Strategy & Kafka","CONFIG_UPDATEPOLICY": "Replace"}}' 'kafka-machine:8083/connectors'
SINKSand click the
+ New Sinkbutton
What data volume can be processed ?
This has been successfully tested with a stream of few hundred events per second, resulting in about 500K rows in Strategy streamed in less than an hour. It can scale beyond that but hasn't been extensively tested yet
This is a very first implementation of such connector. We took a lot of shortcuts to make it work. Feel free to enhance it and share code updates as you use it.
First items in the list would be:
To Alex Fernandes, who implemented this first and passed along the knowledge so we could reuse it
This customization is provided as a convenience to Strategy users and is only directly applicable to the version stated. While this code may apply to other releases directly, Strategy Technical Support makes no guarantees that the code provided will apply to any future or previous builds. In the event of a code change in future builds, Strategy Technical Support makes no guarantee that an updated version of this particular customization will be provided. In the event of a code change in future builds, Strategy may not be able to provide additional code on this matter even though this customization is provided at this time for this specific build. For enhancements to this customization or to incorporate similar functionality into other versions, contact your Account Executive to inquire about Strategy Consulting assistance.