Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Running a R script that returns a data frame in SQL Server big data cluster

Contents

About this sample
Before you begin
Run this sample
Sample details
Related links

About this sample

This is a sample R 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. 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]

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. azdata. Refer to installing azdata document on setting up the azdata and connecting to a SQL Server 2019 big data cluster.

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 controller-svc-external in your cluster. If you are not familiar with azdata you can refer to the documentation and then return to this sample.

    azdata login -e https://<ip-address-of-controller-svc-external>:30080 -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:

    azdata app create --spec ./RollDice
  4. Check the deployment by running the following command:

    azdata 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:

    azdata app run -n roll-dice -v [version] --input x=3

    You should get output like the example for three dice below. The results of the dice rolled are in the result data frame:

    {
      "changedFiles": [],
      "consoleOutput": "",
      "errorMessage": "",
      "outputFiles": {},
      "outputParameters": {
        "result": {
          "Blue": [
            2
          ],
          "Green": [
            6
          ],
          "Red": [
            1
          ]
        }
      },
      "success": true
    }

    RESTful web service. Note that any app you create is also accessible using a RESTful web service that is Swagger compliant. See step 6 in the Addpy sample for detailed instructions on how to call the web service.

  6. You can clean up the sample by running the following commands:

    # delete app
    azdata app delete --name roll-dice --version [version]

Sample details

Please refer to 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.

name: roll-dice
version: v1
runtime: R
src: ./roll-dice.R
entrypoint: rollEm
replicas: 1
poolsize: 1
inputs:
  x: integer
output:
  result: data.frame

Related Links

For more information, see these articles:

How to deploy and app on SQL Server 2019 big data cluster