From 067863f8c4d127ea9424cd13a8986cc4135f0a8e Mon Sep 17 00:00:00 2001 From: Sabby Anandan Date: Fri, 11 Dec 2015 13:58:06 -0800 Subject: [PATCH] Add http-mysql and http-transform-cassandra samples --- README.adoc | 16 ++ http-to-cassandra/README.adoc | 168 ++++++++++++++++++ http-to-cassandra/data.txt | 10 ++ .../img/cassandra_table_results.png | Bin 0 -> 92957 bytes http-to-mysql/README.adoc | 165 +++++++++++++++++ http-to-mysql/data.txt | 10 ++ http-to-mysql/img/mysql_table_results.png | Bin 0 -> 24793 bytes 7 files changed, 369 insertions(+) create mode 100644 http-to-cassandra/README.adoc create mode 100644 http-to-cassandra/data.txt create mode 100644 http-to-cassandra/img/cassandra_table_results.png create mode 100644 http-to-mysql/README.adoc create mode 100644 http-to-mysql/data.txt create mode 100644 http-to-mysql/img/mysql_table_results.png diff --git a/README.adoc b/README.adoc index 9acb3b4..046c7f3 100644 --- a/README.adoc +++ b/README.adoc @@ -1 +1,17 @@ # spring-cloud-dataflow-samples + +This repository provides sample starter applications and code for use with the Spring Cloud Data Flow project. The following samples are available: + +## Streaming + +### http-cassandra + +A data pipeline demonstration that consumes data from an `http` endpoint, `transforms` while the data is in-transit, and writes the transformed payload to `cassandra` database. + +### http-mysql + +A data pipeline demonstration that consumes data from an `http` endpoint and writes the transformed payload to MySQL database using the `jdbc` sink. + +## Task / Batch + +## Data Science diff --git a/http-to-cassandra/README.adoc b/http-to-cassandra/README.adoc new file mode 100644 index 0000000..12792eb --- /dev/null +++ b/http-to-cassandra/README.adoc @@ -0,0 +1,168 @@ +# HTTP to Cassandra Demo + +In this demonstration, you will learn how to orchestrate a data pipeline using http://cloud.spring.io/spring-cloud-dataflow/[Spring Cloud Data Flow] to consume data from an `http` endpoint, `transform` while the data is in-transit, and write the transformed payload to `cassandra` database. + +We will begin by discussing the steps to prep, configure and operationalize Spring Cloud Data Flow's `admin` Spring Boot application. We will deploy `admin` using the https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry[Cloud Foundry] SPI (Service Provider Interface) to demonstrate how Spring Cloud Data Flow takes advantage of _cloud-native_ platform capabilities natively. + +# Prerequisites for Pivotal Cloud Foundry + +In order to get started, make sure that you have the following components: + +* Cloud Foundry instance +* Local build of https://github.com/spring-cloud/spring-cloud-dataflow[Spring Cloud Data Flow] +* Local build of Spring Cloud Data Flow's https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry[Cloud-Foundry-Admin] +* The `Book` https://github.com/trisberg/spring-cloud-demo/tree/master/book[domain object] (maven artifact) +* Redis instance +* Cassandra instance + +## Running the Sample in Cloud Foundry + +. Verify that CF instance is reachable ++ + +``` +→ cf api +API endpoint: https://api.system.navy.springapps.io (API version: 2.43.0) + +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +No apps found +``` ++ +. Follow the instructions to deploy Spring Cloud Data Flow's `admin` from https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry/blob/master/README.adoc[CF SPI] repo + ++ +. Once you complete step#3 from https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry/blob/master/README.adoc[CF SPI] instructions, you'll be able to list the newly deployed `s-c-dataflow-admin` application in Cloud Foundry ++ + +``` +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +name requested state instances memory disk urls +s-c-dataflow-admin started 1/1 1G 1G s-c-dataflow-admin.app.navy.springapps.io +``` + ++ +. Notice that `s-c-dataflow-admin` application is started and ready for interaction via `http://s-c-dataflow-admin.app.navy.springapps.io` endpoint + +. Connect to Spring Cloud Data Flow's `shell`. ++ + +``` +→ cd +→ java -jar spring-cloud-dataflow-shell/target/spring-cloud-dataflow-shell-1.0.0.BUILD-SNAPSHOT.jar + + ____ ____ _ __ + / ___| _ __ _ __(_)_ __ __ _ / ___| | ___ _ _ __| | + \___ \| '_ \| '__| | '_ \ / _` | | | | |/ _ \| | | |/ _` | + ___) | |_) | | | | | | | (_| | | |___| | (_) | |_| | (_| | + |____/| .__/|_| |_|_| |_|\__, | \____|_|\___/ \__,_|\__,_| + ____ |_| _ __|___/ __________ + | _ \ __ _| |_ __ _ | ___| | _____ __ \ \ \ \ \ \ + | | | |/ _` | __/ _` | | |_ | |/ _ \ \ /\ / / \ \ \ \ \ \ + | |_| | (_| | || (_| | | _| | | (_) \ V V / / / / / / / + |____/ \__,_|\__\__,_| |_| |_|\___/ \_/\_/ /_/_/_/_/_/ + +1.0.0.BUILD-SNAPSHOT + +Welcome to the Spring Cloud Data Flow shell. For assistance hit TAB or type "help". +server-unknown:> +``` ++ +. Connect the `shell` with `admin` running at `http://s-c-dataflow-admin.app.navy.springapps.io` ++ + +``` +server-unknown:>admin config server http://s-c-dataflow-admin.app.navy.springapps.io +Successfully targeted http://s-c-dataflow-admin.app.navy.springapps.io +dataflow:>version +1.0.0.BUILD-SNAPSHOT +``` ++ +. Create the stream ++ + +``` +dataflow:>stream create cassandrastream --definition "http --spring.cloud.stream.bindings.output.contentType='application/json' | transform --includes='org.springframework.cloud.stream.demo:book:1.0.0.BUILD-SNAPSHOT,com.datastax.cassandra:cassandra-driver-core:2.1.5' --expression='\"new demo.domain.Book(T(com.datastax.driver.core.utils.UUIDs).timeBased(), payload.title, payload.author)\"' | cassandra --spring.cassandra.username='' --spring.cassandra.password='' --spring.cassandra.port= --spring.cassandra.contactPoints= --spring.cassandra.keyspace='' --includes='org.springframework.cloud.stream.demo:book:1.0.0.BUILD-SNAPSHOT' --spring.cassandra.entity-base-packages=demo.domain --spring.cassandra.schemaAction=create --queryType=INSERT" --deploy + +Created and deployed new stream 'cassandrastream' +``` ++ +. Verify the stream is successfully deployed ++ +``` +dataflow:>stream list +``` ++ +. Notice that `cassandrastream-http`, `cassandrastream-transform`, and `cassandrastream-cassandra` https://github.com/spring-cloud/spring-cloud-stream-modules/[Spring Cloud Stream] modules are running as _cloud-native_ (microservice) applications in Cloud Foundry ++ + +``` +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +name requested state instances memory disk urls +cassandrastream-cassandra started 1/1 1G 1G cassandrastream-cassandra.app.navy.springapps.io +cassandrastream-http started 1/1 1G 1G cassandrastream-http.app.navy.springapps.io +cassandrastream-transform started 1/1 1G 1G cassandrastream-transform.app.navy.springapps.io +s-c-dataflow-admin started 1/1 1G 1G s-c-dataflow-admin.app.navy.springapps.io +``` ++ +. Lookup the `url` for `cassandrastream-http` application from the list above. Post sample data pointing to the `http` endpoint: `/messages` ++ +``` +dataflow:>script --file /spring-cloud-dataflow-samples/http-to-cassandra/data.txt + +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 1\", \"author\": \"Spring Boot\"}" --target http://cassandrastream-http.app.navy.springapps.io/messages +> POST (application/json;charset=UTF-8) http://cassandrastream-http.app.navy.springapps.io/messages {"title": "The Art of JAR Files 1", "author": "Spring Boot"} +> 202 ACCEPTED +... +... +... +``` ++ +. Use a database utility tool such as http://dbeaver.jkiss.org/[DBeaver] to connect to the Cassandra instance. Query the table `book` to list all the 10 rows ++ +``` +select * from book; +``` +image:img/cassandra_table_results.png[Table Results] + ++ +. Now, let's try to take advantage of Pivotal Cloud Foundry's platform capability. Let's scale the `cassandrastream-http` application from 1 to 3 instances ++ +``` +→ cf scale cassandrastream-http -i 3 +Scaling app cassandrastream-http in org sabby-dataflow / space development as sabby... +OK +``` ++ +. Verify App instances (3/3) running successfully ++ +``` +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +name requested state instances memory disk urls +cassandrastream-cassandra started 1/1 1G 1G cassandrastream-cassandra.app.navy.springapps.io +cassandrastream-http started 3/3 1G 1G cassandrastream-http.app.navy.springapps.io +cassandrastream-transform started 1/1 1G 1G cassandrastream-transform.app.navy.springapps.io +s-c-dataflow-admin started 1/1 1G 1G s-c-dataflow-admin.app.navy.springapps.io +``` ++ +. That's it; you're done! + +# Summary + +In this sample, you have learned: + +* How to use Spring Cloud Data Flow in Pivotal Cloud Foundry +* How to use Spring Cloud Data Flow's `shell` +* How to create streaming data pipeline to connect and write to Cassandra using Spring Cloud Data Flow +* How to scale data microservice applications in isolation \ No newline at end of file diff --git a/http-to-cassandra/data.txt b/http-to-cassandra/data.txt new file mode 100644 index 0000000..e7ce749 --- /dev/null +++ b/http-to-cassandra/data.txt @@ -0,0 +1,10 @@ +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 1\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 2\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 3\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 4\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 5\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 6\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 7\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 8\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 9\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages +http post --contentType 'application/json' --data "{\"title\": \"The Art of JAR Files 10\", \"author\": \"Spring Boot\"}" --target http://YOUR-cassandrastream-http-APP-URL/messages \ No newline at end of file diff --git a/http-to-cassandra/img/cassandra_table_results.png b/http-to-cassandra/img/cassandra_table_results.png new file mode 100644 index 0000000000000000000000000000000000000000..ee14efba6ed13fc78a0e4ae3a9c43807a28f891b GIT binary patch literal 92957 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 literal 0 HcmV?d00001 diff --git a/http-to-mysql/README.adoc b/http-to-mysql/README.adoc new file mode 100644 index 0000000..ccd5681 --- /dev/null +++ b/http-to-mysql/README.adoc @@ -0,0 +1,165 @@ +# HTTP to MySQL Demo + +In this demonstration, you will learn how to orchestrate a data pipeline using http://cloud.spring.io/spring-cloud-dataflow/[Spring Cloud Data Flow] to consume data from an `http` endpoint and write to MySQL database through `jdbc` sink. + +We will begin by discussing the steps to prep, configure and operationalize Spring Cloud Data Flow's `admin` Spring Boot application. We will deploy `admin` using the https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry[Cloud Foundry] SPI (Service Provider Interface) to demonstrate how Spring Cloud Data Flow takes advantage of _cloud-native_ platform capabilities natively. + +# Prerequisites for Pivotal Cloud Foundry + +In order to get started, make sure that you have the following components: + +* Cloud Foundry instance +* Local build of https://github.com/spring-cloud/spring-cloud-dataflow[Spring Cloud Data Flow] +* Local build of Spring Cloud Data Flow's https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry[Cloud-Foundry-Admin] +* The `Book` https://github.com/trisberg/spring-cloud-demo/tree/master/book[domain object] (maven artifact) +* Redis instance +* MySQL instance + +## Running the Sample in Cloud Foundry + +. Verify that CF instance is reachable ++ + +``` +→ cf api +API endpoint: https://api.system.navy.springapps.io (API version: 2.43.0) + +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +No apps found +``` ++ +. Follow the instructions to deploy Spring Cloud Data Flow's `admin` from https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry/blob/master/README.adoc[CF SPI] repo + ++ +. Once you complete step#3 from https://github.com/spring-cloud/spring-cloud-dataflow-admin-cloudfoundry/blob/master/README.adoc[CF SPI] instructions, you'll be able to list the newly deployed `s-c-dataflow-admin` application in Cloud Foundry ++ + +``` +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +name requested state instances memory disk urls +s-c-dataflow-admin started 1/1 1G 1G s-c-dataflow-admin.app.navy.springapps.io +``` + ++ +. Notice that `s-c-dataflow-admin` application is started and ready for interaction via `http://s-c-dataflow-admin.app.navy.springapps.io` endpoint + +. Connect to Spring Cloud Data Flow's `shell`. ++ + +``` +→ cd +→ java -jar spring-cloud-dataflow-shell/target/spring-cloud-dataflow-shell-1.0.0.BUILD-SNAPSHOT.jar + + ____ ____ _ __ + / ___| _ __ _ __(_)_ __ __ _ / ___| | ___ _ _ __| | + \___ \| '_ \| '__| | '_ \ / _` | | | | |/ _ \| | | |/ _` | + ___) | |_) | | | | | | | (_| | | |___| | (_) | |_| | (_| | + |____/| .__/|_| |_|_| |_|\__, | \____|_|\___/ \__,_|\__,_| + ____ |_| _ __|___/ __________ + | _ \ __ _| |_ __ _ | ___| | _____ __ \ \ \ \ \ \ + | | | |/ _` | __/ _` | | |_ | |/ _ \ \ /\ / / \ \ \ \ \ \ + | |_| | (_| | || (_| | | _| | | (_) \ V V / / / / / / / + |____/ \__,_|\__\__,_| |_| |_|\___/ \_/\_/ /_/_/_/_/_/ + +1.0.0.BUILD-SNAPSHOT + +Welcome to the Spring Cloud Data Flow shell. For assistance hit TAB or type "help". +server-unknown:> +``` ++ +. Connect the `shell` with `admin` running at `http://s-c-dataflow-admin.app.navy.springapps.io` ++ + +``` +server-unknown:>admin config server http://s-c-dataflow-admin.app.navy.springapps.io +Successfully targeted http://s-c-dataflow-admin.app.navy.springapps.io +dataflow:>version +1.0.0.BUILD-SNAPSHOT +``` ++ +. Create the stream ++ + +``` +dataflow:>stream create --name mysqlstream --definition "http | jdbc --includes='mysql:mysql-connector-java:5.1.37' --spring.datasource.url='jdbc:mysql://:/' --spring.datasource.username= --spring.datasource.password= --tableName=names --columns=name --spring.datasource.driverClassName=com.mysql.jdbc.Driver --initialize=true" --deploy + +Created and deployed new stream 'mysqlstream' +``` ++ +. Verify the stream is successfully deployed ++ +``` +dataflow:>stream list +``` ++ +. Notice that `mysqlstream-http` and `mysqlstream-jdbc` https://github.com/spring-cloud/spring-cloud-stream-modules/[Spring Cloud Stream] modules are running as _cloud-native_ (microservice) applications in Cloud Foundry ++ + +``` +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +name requested state instances memory disk urls +mysqlstream-http started 1/1 1G 1G mysqlstream-http.app.navy.springapps.io +mysqlstream-jdbc started 1/1 1G 1G mysqlstream-jdbc.app.navy.springapps.io +s-c-dataflow-admin started 1/1 1G 1G s-c-dataflow-admin.app.navy.springapps.io +``` ++ +. Lookup the `url` for `mysqlstream-http` application from the list above. Post sample data pointing to the `http` endpoint: `/messages` ++ +``` +dataflow:>script --file /spring-cloud-dataflow-samples/http-to-mysql/data.txt +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 1\"}" +> POST (application/json;charset=UTF-8) http://mysqlstream-http.app.navy.springapps.io/messages {"name": "Spring Boot 1"} +> 202 ACCEPTED +... +... +... +``` ++ +. Use a database utility tool such as http://dbeaver.jkiss.org/[DBeaver] to connect to the MySQL instance. Query the table `book` to list all the 10 rows ++ +``` +select * from book; +``` +image:img/mysql_table_results.png[Table Results] + ++ +. Now, let's try to take advantage of Pivotal Cloud Foundry's platform capability. Let's scale the `mysqlstream-http` application from 1 to 3 instances ++ +``` +→ cf scale mysqlstream-http -i 3 +Scaling app mysqlstream-http in org sabby-dataflow / space development as sabby... +OK +``` ++ +. Verify App instances (3/3) running successfully ++ +``` +→ cf apps +Getting apps in org sabby-dataflow / space development as sabby... +OK + +name requested state instances memory disk urls +mysqlstream-http started 3/3 1G 1G mysqlstream-http.app.navy.springapps.io +mysqlstream-jdbc started 1/1 1G 1G mysqlstream-jdbc.app.navy.springapps.io +s-c-dataflow-admin started 1/1 1G 1G s-c-dataflow-admin.app.navy.springapps.io +``` ++ +. That's it; you're done! + +# Summary + +In this sample, you have learned: + +* How to use Spring Cloud Data Flow in Pivotal Cloud Foundry +* How to use Spring Cloud Data Flow's `shell` +* How to create streaming data pipeline to connect and write to MySQL using Spring Cloud Data Flow +* How to scale data microservice applications in isolation \ No newline at end of file diff --git a/http-to-mysql/data.txt b/http-to-mysql/data.txt new file mode 100644 index 0000000..18b79f9 --- /dev/null +++ b/http-to-mysql/data.txt @@ -0,0 +1,10 @@ +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 1\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 2\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 3\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 4\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 5\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 6\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 7\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 8\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 9\"}" +http post --contentType 'application/json' --target http://mysqlstream-http.app.navy.springapps.io/messages --data "{\"name\": \"Spring Boot 10\"}" diff --git a/http-to-mysql/img/mysql_table_results.png b/http-to-mysql/img/mysql_table_results.png new file mode 100644 index 0000000000000000000000000000000000000000..39ea33876ce5c9bf60eb1f232b672ce9da3b60ac GIT binary patch literal 24793 zcmce-Wmq23mL-h4ySux)yK92GI|P^D?hxE9Xz<|f8XSVV2X}{gA-DV9neP6&XMTMA z;CZV~ol{5m+H0>};YtdU@Gv+qKtMq7(o$k7KtRC3fZu~q5P<);eTo@CKrk(qqM}OD zqM}4fj`n7jHl{#8QsGG{kV*-Q7=vebg`q(hP~tKN?QU^;pj1+jxWv%JiAX9+HMCnW zmEg$8bhItgXgWzP7-DF!k$xbz;F@5GE;YGSG-sd$o9&$T`(wPUZXNpLnP)jpcBfen zkU-N=ffI_srod9$;b4ZZdUdG_TsWt0LLgv%;4(l=sUjWb78XqR%l8YgxoP{}Kd~!1 ztDdTe2aRCUfQ0g(D64~hu>~=b{0JPz3ze|kgUyaKe-YwDuWH?h-ca3c) zvB0#c@67d9ltwgV!o-D=ongvxE}%m!m{fE6wi5G(Z&|waa5gD{K`o7h6vB5Cρ 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 s10dcv=<-v<=MwnlhiQ