finops-focus-superset-pinot
FinOps dashboards using Apache Superset and Apache Pinot with FOCUS datasets
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.1%) to scientific vocabulary
Keywords
Repository
FinOps dashboards using Apache Superset and Apache Pinot with FOCUS datasets
Basic Info
Statistics
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
FinOps FOCUS Dashboards and Charts with Apache Superset and Apache Pinot

The easy guide to create and operate your FinOps dashboards using FOCUS™, Apache Pinot™ and Apache Superset™.
A FinOps and FOCUS guide by Alexandre PARÈS, a FinOps Certified Professional.
What is FOCUS™?
The FinOps Cost and Usage Specification (FOCUS™) is an open-source specification that defines clear requirements for cloud vendors to produce consistent cost and usage datasets.
Supported by the FinOps Foundation, FOCUS™ aims to reduce complexity for FinOps Practitioners so they can drive data-driven decision-making and maximize the business value of cloud, while making their skills more transferable across clouds, tools, and organizations.
Learn more about FOCUS in this FinOps Foundation Insights article.
What is Apache Superset™?
Superset is a modern data exploration and data visualization platform. Superset can replace or augment proprietary business intelligence tools for many teams. Superset integrates well with a variety of data sources.
Learn more about Apache Superset in the Apache Superset Docs.
What is Apache Pinot™?
Originally developed at LinkedIn, Apache PinotTM is a real-time distributed OLAP datastore, purpose-built to provide ultra low-latency analytics at extremely high throughput.
With its distributed architecture and columnar storage, Apache Pinot empowers businesses to gain valuable insights from real-time data, supporting data-driven decision-making and applications.
Learn more about Apache Pinot in the Apache Pinot Docs.
Architecture diagram
mermaid
flowchart LR
AWS --> Ingestion
Azure --> Ingestion
OCI --> Ingestion
Ingestion --> id1[Apache Pinot]
id1[Apache Pinot] --> id2[Apache Superset]
Installation Guide
1. Download FOCUS exports
For each of your Cloud Service Provider, you will need to configure a FOCUS export (not covered by this tutorial). Once the export is setup and running you can download focus exports files. We recommend to sync periodically your downloaded files with up to date focus exports.
For each of your Cloud Service Provider, you will need to configure a FOCUS export (not covered by this tutorial). Once the export is setup and running you can download focus exports files. We recommend to sync periodically your downloaded files with up to date focus exports.
You can use the following script ./scripts/download_focus_export.sh to download your exports.
Examples: - AWS ```bash
Download AWS FOCUS exports files
./scripts/downloadfocusexport.sh \
-p aws \
-b bucketname \
-e exportname \
-d export/directory \
-o ./exports/aws/
- Azure
bash
Download Azure FOCUS exports files
./scripts/downloadfocusexport.sh \
-p azure \
-b storageaccountname \
-c containername \
-e exportname \
-d export/directory \
-o ./exports/azure/
- OCI
bash
Download OCI FOCUS exports files
./scripts/downloadfocusexport.sh \ -p oci \ -b bucket_name \ -o ./exports/oci/ ```
todo - [ ] Publish downloadfocusexport.sh script
2. Import FOCUS exports to Apache Pinot
Once FOCUS exports are downloaded and stored in the ./exports directory we can import them to Apache Pinot.
But first we need to initialize our Apache Pinot with FOCUS Schema and Table config for each Cloud Service Provider.
To start the Apache Pinot stack in development we use Docker Compose, config is stored in compose.yaml file.
```bash
We start all services (Apache Pinot + Apache Superset)
docker compose up -d
To stop you can use this command
docker compose down ```
Once the stack is running, we can run the init-pinot.sh script to config and populate our Pinot Cluster with FOCUS Schemas and FOCUS Tables for each Cloud Service Provider.
This script will also import FOCUS exports to Apache Pinot.
todo:
- [ ] Publish schemas for AWS, Azure, OCI and the blended table
- [ ] Publish table configs for AWS, Azure, OCI and the blended table
- [ ] Publish compose.yaml file
- [ ] Publish init-pinot.sh script
- [ ] Publish Spark ingestion jobs for AWS, Azure and OCI
3. Launch and configure Apache Superset
Add the Apache Pinot database to Apache Superset:
bash
pip install pinotdb
todo
Disclaimer
Apache Superset, Superset, Apache Pinot, Pinot, Apache, the Superset logo, the Apache Pinot project logo and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation. Apache Software Foundation resources
FOCUS™, is either registered trademarks or trademarks of The Joint Development Foundation. All other products or name brands are trademarks of their respective holders, including The Joint Development Foundation. Joint Development Foundation resources
DuckDB, the DuckDB logo are either registered trademarks or trademarks of The DuckDB Foundation. All other products or name brands are trademarks of their respective holders, including The DuckDB Foundation. DuckDB Foundation resources
Owner
- Name: Alexandre PARÈS
- Login: IAmFrench
- Kind: user
- Location: Switzerland
- Website: https://www.linkedin.com/in/alexandre-pares/
- Repositories: 20
- Profile: https://github.com/IAmFrench
FinOps Certified Professional | AWS Academy Certified Educator | FinOps Practitioner
Citation (CITATION.cff)
cff-version: 1.2.0
title: FinOps FOCUS Dashboards and Charts with Apache Superset and Apache Pinot
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- orcid: "https://orcid.org/0009-0002-1956-1126"
given-names: Alexandre
family-names: PARÈS
repository-code: >-
https://github.com/IAmFrench/finops-focus-superset-pinot
abstract: >-
FinOps FOCUS Dashboards and Charts with Apache Superset and Apache Pinot.
keywords:
- FinOps
- FOCUS
- focus-v1.0
- apache-superset
- apache-pinot
- aws-billing
- google-billing
- azure-billing
license: Apache-2.0
GitHub Events
Total
- Watch event: 5
Last Year
- Watch event: 5
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0