mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
Adding readme for rolldice app deploy sample.
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
# Running a R script that returns a data frame in SQL Server big data cluster
|
||||
|
||||
### Contents
|
||||
|
||||
[About this sample](#about-this-sample)<br/>
|
||||
[Before you begin](#before-you-begin)<br/>
|
||||
[Run this sample](#run-this-sample)<br/>
|
||||
[Sample details](#sample-details)<br/>
|
||||
[Related links](#related-links)<br/>
|
||||
|
||||
<a name=about-this-sample></a>
|
||||
|
||||
## About this sample
|
||||
|
||||
This is a sample [R](https://www.r-project.org/) app, which shows how to run a R script in SQL Server big data cluster. This sample creates an app that simulates the rolling of dice. The code for this sample is in [roll-dice.R](roll-dice.R) The inputs and outputs are shown below.
|
||||
|
||||
### Inputs
|
||||
|Parameter|Description|
|
||||
|-|-|
|
||||
|`x`|The number of dice to roll|
|
||||
|
||||
### Outputs
|
||||
|Parameter|Description|
|
||||
|-|-|
|
||||
|`result`|Data frame containing the results of the dice rolls: `"Blue": [2], "Green": [6], "Red": [1]`|
|
||||
|
||||
|
||||
<a name=before-you-begin></a>
|
||||
|
||||
## Before you begin
|
||||
|
||||
To run this sample, you need the following prerequisites.
|
||||
|
||||
**Software prerequisites:**
|
||||
|
||||
1. SQL Server big data cluster CTP 2.3 or later.
|
||||
2. `mssqlctl`. Refer to [installing mssqlctl](https://docs.microsoft.com/en-us/sql/big-data-cluster/deploy-install-mssqlctl?view=sqlallproducts-allversions) document on setting up the `mssqlctl` and connecting to a SQL Server 2019 big data cluster.
|
||||
|
||||
<a name=run-this-sample></a>
|
||||
|
||||
## Run this sample
|
||||
|
||||
1. Clone or download this sample on your computer.
|
||||
2. Log in to the SQL Server big data cluster using the command below using the IP address of the `endpoint-service-proxy` in your cluster. If you are not familiar with `mssqltctl` you can refer to the [documentation](https://docs.microsoft.com/en-us/sql/big-data-cluster/big-data-cluster-create-apps?view=sqlallproducts-allversions) and then return to this sample.
|
||||
|
||||
```bash
|
||||
mssqlctl login -e https://<ip-address-of-endpoint-service-proxy>:30777 -u <user-name> -p <password>
|
||||
```
|
||||
3. Deploy the application by running the following command, specifying the folder where your `spec.yaml` and `roll-dice.R` files are located:
|
||||
```bash
|
||||
mssqlctl app create --spec ./RollDice
|
||||
```
|
||||
4. Check the deployment by running the following command:
|
||||
```bash
|
||||
mssqlctl app list -n roll-dice -v [version]
|
||||
```
|
||||
Once the app is listed as `Ready` you can continue to the next step.
|
||||
5. Test the app by running the following command:
|
||||
```bash
|
||||
mssqlctl app run -n roll-dice -v [version] --input x=[number of dice to roll]
|
||||
```
|
||||
You should get output like the example for three dice below. The results of the dice rolled are in the `result` data frame:
|
||||
```json
|
||||
{
|
||||
"changedFiles": [],
|
||||
"consoleOutput": "",
|
||||
"errorMessage": "",
|
||||
"outputFiles": {},
|
||||
"outputParameters": {
|
||||
"result": {
|
||||
"Blue": [
|
||||
2
|
||||
],
|
||||
"Green": [
|
||||
6
|
||||
],
|
||||
"Red": [
|
||||
1
|
||||
]
|
||||
}
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
```
|
||||
6. You can clean up the sample by running the following commands:
|
||||
```bash
|
||||
# delete app
|
||||
mssqlctl app delete --name roll-dice --version [version]
|
||||
```
|
||||
|
||||
<a name=sample-details></a>
|
||||
|
||||
## Sample details
|
||||
|
||||
Please refer to [roll-dice.R](roll-dice.R) for the code for this sample.
|
||||
|
||||
### Spec file
|
||||
Here is the spec file for this application. As you can see the sample uses the `R` runtime and calls the `rollEm` method in the `roll-dice.R` file, accepting an integer input named `x` for the number of dice and providing an data frame named `result` as the output.
|
||||
|
||||
```yaml
|
||||
name: roll-dice
|
||||
version: v1
|
||||
runtime: R
|
||||
src: ./roll-dice.R
|
||||
entrypoint: rollEm
|
||||
replicas: 1
|
||||
poolsize: 1
|
||||
inputs:
|
||||
x: integer
|
||||
output:
|
||||
result: data.frame
|
||||
```
|
||||
|
||||
<a name=related-links></a>
|
||||
|
||||
## Related Links
|
||||
For more information, see these articles:
|
||||
|
||||
[How to deploy and app on SQL Server 2019 big data cluster (preview)](https://docs.microsoft.com/en-us/sql/big-data-cluster/big-data-cluster-create-apps?view=sqlallproducts-allversions)
|
||||
Reference in New Issue
Block a user