TableauUsageToDatabricks 1.0.1
See the version list below for details.
dotnet add package TableauUsageToDatabricks --version 1.0.1
NuGet\Install-Package TableauUsageToDatabricks -Version 1.0.1
<PackageReference Include="TableauUsageToDatabricks" Version="1.0.1" />
<PackageVersion Include="TableauUsageToDatabricks" Version="1.0.1" />
<PackageReference Include="TableauUsageToDatabricks" />
paket add TableauUsageToDatabricks --version 1.0.1
#r "nuget: TableauUsageToDatabricks, 1.0.1"
#:package TableauUsageToDatabricks@1.0.1
#addin nuget:?package=TableauUsageToDatabricks&version=1.0.1
#tool nuget:?package=TableauUsageToDatabricks&version=1.0.1
TableauUsageToDatabricks
Overview
TableauUsageToDatabricks is a .NET application designed to extract Tableau usage data and upload it to Databricks in a structured format. It parses Tableau XML and JSON files, transforms them into models, and writes the results as Parquet files for analytics and reporting in Databricks.
Prerequisites
For Users
- Windows 64-bit OS
- PowerShell or CMD (Command Prompt) to run the application
- Access to Tableau server with role that has access to required resources
- Databricks workspace and credentials
- No .NET installation required (if using the provided self-contained executable)
How to create tokens and find IDs
- Tableau Server Personal Access Token:
- Log in to Tableau Server.
- Go to your account settings (top right corner).
- Find "Personal Access Tokens" and click "Create a new token".
- Enter a name, generate the token, and copy it. Save the token name and secret for use in
appsettings.json
.
- Databricks Personal Access Token:
- Log in to Databricks workspace.
- Click your user icon (top right) and select "User Settings".
- Go to "Access Tokens" and click "Generate New Token".
- Copy the generated token and use it in
appsettings.json
.
- Databricks SQL Warehouse ID:
- In Databricks workspace, go to "SQL" from the sidebar.
- Click on "SQL Warehouses".
- Select the warehouse you want to use.
- Copy the "Warehouse ID" from the warehouse details page and use it in
appsettings.json
.
For Developers
- Additionally, pre-install .NET 8 SDK (required to build or publish the application)
Configuration: appsettings.json
Before running the application, you must create and configure an appsettings.json
file. This file contains all necessary settings for Tableau and Databricks integration.
Where to place
- Place
appsettings.json
in the same directory asTableauUsageToDatabricks.exe
(the published executable). - Users can edit this file at any time to update configuration without modifying the application.
Example appsettings.json
{
"Tableau": {
"BaseUrl": "https://your-tableau-server.com",
"TokenName": "your-token-name",
"TokenSecret": "your-token-secret"
},
"Databricks": {
"Host": "https://your-databricks-instance.cloud.databricks.com",
"PersonalAccessToken": "your-databricks-token",
"WarehouseId": "your-warehouse-id",
"VolumePath": "/mnt/your-volume",
"DatabaseName": "your-database-name"
},
"Parquet": {
"DataSourcesFileName": "datasources.parquet",
"WorkbooksFileName": "workbooks.parquet",
"ViewsFileName": "views.parquet",
"WorkbookUsageFileName": "workbook_usage.parquet",
"ViewUsageFileName": "view_usage.parquet",
"WorkbookConnectionsFileName": "workbook_connections.parquet",
"WorkbookDatasourcesFileName": "workbook_datasources.parquet",
"DataSourceConnectionsFileName": "datasource_connections.parquet"
}
}
Required fields
- Tableau: Connection details for your Tableau server and API token.
- Databricks: Host URL, access token, warehouse ID, volume path, and database name for Databricks.
- Parquet: Output file names for each data type.
Edit the values to match your environment and credentials.
Usage
- Edit
appsettings.json
with your Tableau and Databricks configuration. - The application connects to Tableau Server, collects usage statistics, and saves them as Parquet files in Temp folders before uploading to Databricks.
- If Parquet files already exist in Temp, they will be reused.
- Newly created Parquet files will not be overwritten or re-created on the same day.
- Run the application from PowerShell or CMD:
.\TableauUsageToDatabricks.exe
Features
- Collects usage statistics from Tableau workbooks, views, and datasources
- Converts data to Parquet format
- Uploads data to Databricks
- Supports configuration via
appsettings.json
How to Build and Publish (Self-Contained, Win-x64)
Restore dependencies
dotnet restore
Publish a self-contained release build for Windows 64-bit
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o publish
- Output will be in the
publish
folder.
- Output will be in the
Create a ZIP file of the release
Compress-Archive -Path publish\* -DestinationPath TableauUsageToDatabricks-win-x64.zip
Publishing to NuGet
Build the NuGet package:
dotnet pack -c Release
Publish to NuGet.org:
dotnet nuget push .\bin\Release\TableauUsageToDatabricks.1.0.0.nupkg --api-key <your-nuget-api-key> --source https://api.nuget.org/v3/index.json
Replace <your-nuget-api-key>
with your actual NuGet.org API key.
Let me know if you want to automate or customize further!
License
See LICENSE for details.
Support
For issues and feature requests, use the project's issue tracker.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Configuration.Json (>= 9.0.8)
- Newtonsoft.Json (>= 13.0.2)
- ParquetSharp (>= 20.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.