Project Sheet

DataFrame Tool Configuration

Complete reference for configuring DataFrame / Java Shell tools in InTouch

The DataFrame Tool executes Java Shell (JShell) code with optional Tablesaw DataFrame operations and automatic Maven dependency management. This single tool provides access to the entire Java ecosystem.

DataFrame / Java Shell Tool

Execute Java code in a JShell environment with automatic dependency resolution. Write Pandas-like DataFrame operations, call REST APIs, process files, or run any Java logic.

ParameterDescriptionRequired
Code SourceJava Shell code to execute (inline or file reference)Yes
Source TypeInline (code in tool definition) or File (path to .jsh file)Yes
Maven DependenciesList of Maven coordinates (groupId:artifactId:version)No
Input FilesFiles available to the code for reading (CSV, Excel, JSON, etc.)No
Output FilesExpected output files for downstream toolsNo
TimeoutMaximum execution time before the tool is terminatedNo
Java VersionTarget Java version (11 or higher)No (default: system)

Dependency Management

How Automatic Maven Resolution Works

Declare dependencies at the top of your code using Maven coordinates. InTouch resolves the full dependency tree, downloads everything from Maven Central, and adds it to the classpath — automatically. Dependencies are downloaded once and cached for reuse across executions.

// Example dependency declarations at top of code
// %dependency com.google.code.gson:gson:2.10.1
// %dependency tech.tablesaw:tablesaw-core:0.43.1
// %dependency org.apache.httpcomponents:httpclient:4.5.14

import tech.tablesaw.api.*;
import com.google.gson.*;

Table sales = Table.read().csv("sales_data.csv");
Table summary = sales.summarize("amount", sum).by("region");
summary.write().csv("summary.csv");

DataFrame Operations Reference

Key Tablesaw operations available in the DataFrame environment:

OperationDescriptionExample
read.csv()Load data from a CSV fileTable.read().csv("data.csv")
where()Filter rows by conditiontable.where(col.isGreaterThan(100))
sortOn()Sort by one or more columnstable.sortAscendingOn("date")
summarize()Aggregate with functions (sum, mean, count, etc.)table.summarize("sales", sum).by("region")
pivot()Pivot table (rows to columns)table.pivot("category", "month", "sales", sum)
melt()Unpivot table (columns to rows)table.melt(idVars, measureVars)
joinOn()Join two tables on a key columntable1.joinOn("id").inner(table2)
write.csv()Export to CSV filetable.write().csv("output.csv")

Supported Data Import Formats

CSV / TSV

Comma and tab-separated values with configurable delimiters

Excel (.xlsx)

Read and write Microsoft Excel workbooks

JSON

Parse and generate JSON data structures

HTML Tables

Extract tables directly from HTML pages

Fixed-Width

Read positional/columnar fixed-width data files

JDBC / SQL

Load data directly from database queries

Common Configuration

Error Handling

Java exceptions are captured with full stack traces. InTouch logs the error, sends notifications to subscribers, and marks the tool as failed. Downstream tools are automatically held.

Scheduling

Trigger DataFrame tool runs on any of 7 native schedule types, file arrivals, API calls, AI triggers, or after upstream tool completion. Chain with SQL tools for complete ETL pipelines.

Logging & Audit

All console output (System.out, System.err) is captured in the tool log. Execution time, status, and output files are recorded for every run.

Workflow Integration

Output files from DataFrame tool runs can be consumed by downstream SQL imports, FTP transfers, or other DataFrame tool runs. Build multi-step data pipelines.

Learn More About the DataFrame Tool

View DataFrame Tool Product Page