ETL - Blocks

When OrientDB executes the ETL module, blocks in the ETL configuration define components to execute in the process. The ETL module in OrientDB supports the following types of blocks:

Let Blocks

In a "let" block, you can define variables to the ETL process context.

  • Component name: let

Syntax

ParameterDescriptionTypeMandatoryDefault value
"name"Defines the variable name. The ETL process ignores any values with the $ prefix.stringyes
"value"Defines the fixed value to assign.an
"expression"Defines an expression in the OrientDB SQL language to evaluate and assign.string

Examples

  • Assign a value to the file path variable

    { 
      "let": { 
        "name": "$filePath",
        "value": "/temp/myfile"
      } 
    }
    
  • Concat the $fileName variable to the $fileDirectory to create a new variable for $filePath:

    { 
       "let": { 
          "name": "$filePath",  
      	"expression": "$fileDirectory.append($fileName )"
       } 
    }
    

Code Blocks

In the "code" block, you can configure code snippets to execute in any JVM-supported languages. The default language is JavaScript.

  • Component name: code

Syntax

ParameterDescriptionTypeMandatoryDefault value
"language"Defines the programming language to use.stringJavascript
"code"Defines the code to execute.stringyes

Examples

  • Execute a Hello, World! program in JavaScript, through the ETL module:

    { 
       "code": { 
          "language": "Javascript",
          "code": "print('Hello World!');"
       }
    }
    

Console Blocks

In a "console" block, you can define commands OrientDB executes through the Console.

  • Component name: console

Syntax

ParameterDescriptionTypeMandatoryDefault value
"file"Defines the path to a file containing the commands you want to execute.string
"commands"Defines an array of commands, as strings, to execute in sequence.string array

Example

  • Invoke the console with a file containing the commands:

    { 
       "console": { 
          "file": "/temp/commands.sql"
       } 
     }
    
  • Invoke the console with an array of commands:

    { 
       "console": {
          "commands": [
             "CONNECT plocal:/temp/db/mydb admin admin",
             "INSERT INTO Account set name = 'Luca'"
          ]
      }
    }