DataAI ETL Tableau — Production Installation Guide

Product: Tableau

Distribution: Production

Source document: DataAIETLTableau/README.md (installation and usage)

Source SHA-256: 6ebe18d471f915873e9f6ef402d1a3f08936cd22f55a86b5f08681fb866c9d97

Download the applicable package | Read the applicable license

Downloads and verification: Tableau package 1.0.0 | Spark libraries 1.0.0 | Production checksums

DataAI ETL for Tableau

DataAI ETL is proprietary, source-available commercial software from Yanbor LLC, built with open-source technologies including Apache Spark.

This folder is the complete customer-side Tableau integration for DataAI ETL. It is not a hosted service and it does not install a server, send telemetry, or transmit customer data. The Java adapter converts DataAiResult into stable Spark DataFrames; the customer chooses where and how to persist them. Tableau then connects with its native Spark SQL or Databricks connector.

The included Accelerator (accelerator/DataAI_ETL_Accelerator.twbx) opens with fictional embedded data for a fast, no-credential product overview. It can then be repointed to the customer's DataAI output tables.

Contents

Path Purpose
src/ Optional com.dataai:dataai-spark-tableau Java adapter and tests
accelerator/ Tableau workbook source and packaged Accelerator
sample-data/ Fictional CSV data and a generated Tableau Hyper extract
mapping/ Stable output schemas, relationships, and complete function coverage
examples/ Java persistence, Spark SQL, and Databricks connection examples
listing/ Tableau Exchange listing copy and submission checklist
assets/, screenshots/ Listing icon and fictional-data design previews
scripts/ Deterministic asset generator and offline package validator
manifest.json Package identity, compatibility, and artifact inventory
LICENSE.md, COMMERCIAL_LICENSE_TEMPLATE.md Production distribution notice and non-binding commercial sample copied from the repository root

1. Prerequisites

1.0.0 is an immutable production candidate. Commercial deployment requires Yanbor release authorization and the customer's applicable entitlement.

2. Extract and verify the package

Extract DataAIETL-Tableau-1.0.0.zip to a customer-controlled directory. Verify the adapter JAR checksum against CHECKSUMS.sha256 included in the package:

Get-FileHash <extract-root>\lib\dataai-spark-tableau-1.0.0.jar -Algorithm SHA256

Spark and Hadoop are provided by the customer runtime and are not bundled in the adapter JAR.

3. Add the adapter to a customer Spark application

Publish the licensed version to the customer's private Maven repository, then add:

<dependency>
  <groupId>com.dataai</groupId>
  <artifactId>dataai-spark-tableau</artifactId>
  <version>1.0.0</version>
</dependency>

The Tableau artifact brings dataai-spark-functions transitively, including all ETL, quality, analytics, time, business, market, map, matrix, and insight APIs. Spark remains a provided dependency.

4. Create and persist Tableau outputs

DataAiResult result = DataAiPipeline.fromDataset(input)
        .normalize()
        .recordKey("order_id")
        .profile()
        .validate(RuleSpec.required("customer-required", "customer_id"))
        .execute();

TableauOutputBundle tableau = TableauOutputs.from(result);

tableau.dashboardMetrics().write()
        .format("delta")
        .mode(SaveMode.Append)
        .saveAsTable("analytics.dataai_dashboard_metrics");

tableau.qualityFindings().write()
        .format("delta")
        .mode(SaveMode.Append)
        .saveAsTable("analytics.dataai_quality_findings");

tableau.fieldProfiles().write()
        .format("delta")
        .mode(SaveMode.Append)
        .saveAsTable("analytics.dataai_field_profiles");

The adapter itself performs no writes. The complete example is examples/java/TableauSparkExample.java; exact schemas are in mapping/TABLEAU_OUTPUT_SCHEMA.md.

5. Use all DataAI functions, including matrix balancing

All function results can be prepared for Tableau with the universal adapter:

Dataset<Row> tableauResult = TableauFunctionOutputs.withRunMetadata(
        dataAiFunctionResult,
        "market_demand",
        runId,
        completedAt,
        libraryVersion);

Matrix balancing has a dedicated helper that carries convergence information into the Tableau table:

MatrixBalanceResult balance = MatrixFunctions.balance(
        cells, "region", "category", "value",
        rowTargets, columnTargets, "target_total", 50, 0.001);

Dataset<Row> tableauMatrix = TableauFunctionOutputs.matrixBalance(
        balance, runId, Instant.now(), libraryVersion);

See mapping/FUNCTION_OUTPUTS_FOR_TABLEAU.md for the complete family mapping and examples/java/TableauMatrixBalancingExample.java for persistence.

6. Validate the Tableau experience

  1. Copy accelerator/DataAI_ETL_Accelerator.twbx to a computer with Tableau Desktop.
  2. Open it. The workbook uses fictional weekly DataAI run metrics included in the package, so no database credentials are required.
  3. Review the run trend, acceptance/rejection totals, quality score, and finding-severity views.
  4. When ready, replace the sample data source with the customer's dataai_dashboard_metrics table using Tableau's Replace Data Source command.
  5. Add dataai_quality_findings and dataai_field_profiles for drill-down dashboards, relating them by run_id.
  6. Validate field mappings, refresh behavior, row-level security, and workbook permissions in a non-production Tableau project.

The packaged workbook was generated and structurally validated without Tableau Desktop. Before commercial publication, open it in the supported Tableau Desktop versions, repair any version-specific metadata, refresh the extract, and complete visual/accessibility QA.

7. Connect Tableau to production outputs

Spark SQL

  1. Persist the DataAI outputs as Spark catalog tables.
  2. Make them visible to a Spark Thrift Server session.
  3. In Tableau, select Spark SQL and enter the server, port, authentication, and transport settings supplied by the customer platform team.
  4. Select the catalog/schema and the dataai_* tables.
  5. Relate the run, findings, and profiles tables on run_id.

See examples/spark-sql/README.md and the official Tableau Spark SQL connector documentation: https://help.tableau.com/current/pro/desktop/en-us/examples_sparksql.htm

Databricks

  1. Persist the outputs as governed Unity Catalog tables or views.
  2. In Tableau, select Databricks and supply the server hostname and HTTP path for a SQL warehouse.
  3. Use the customer's approved OAuth, personal access token, or service principal policy.
  4. Select the output views and replace the Accelerator's sample source.

See examples/databricks/README.md and the official connector documentation: https://help.tableau.com/current/pro/desktop/en-us/examples_databricks.htm

8. Licensing and support boundary

LICENSE.md is the production distribution notice. Commercial use is governed by an executed agreement, order form, or license certificate from Yanbor LLC. The generator copies the canonical notice and commercial template from the repository root so the Tableau folder is self-contained for production packaging. DataAI software is provided AS IS, with no obligations except those expressly accepted in a signed commercial agreement.

Customers remain responsible for deployment, adapter, connector, performance, security, and suitability testing in their target environment.