All Projects → activeviam → autopivot

activeviam / autopivot

Licence: Apache-2.0 License
AutoPivot automatically creates in-memory OLAP cubes from CSV files, that you can explore from Excel, Tableau or using the embedded ActiveUI web frontend

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to autopivot

OLAP-cube
is an hypercube of data
Stars: ✭ 23 (+0%)
Mutual labels:  olap, cube
DataWarehouse
从数据仓库到用户画像,从数据建设到数据应用
Stars: ✭ 298 (+1195.65%)
Mutual labels:  olap
lut
color lookup tables (LUTs) for color grading
Stars: ✭ 84 (+265.22%)
Mutual labels:  cube
node-emails-from-csv
A simple NodeJS aplication that helps sending emails for events. Uses CSV files for target users.
Stars: ✭ 18 (-21.74%)
Mutual labels:  csv-files
arrow-datafusion
Apache Arrow DataFusion SQL Query Engine
Stars: ✭ 2,360 (+10160.87%)
Mutual labels:  olap
MD Cubo
LED Cube Library (hardware independent)
Stars: ✭ 19 (-17.39%)
Mutual labels:  cube
HTAPBench
Benchmark suite to evaluate HTAP database engines
Stars: ✭ 15 (-34.78%)
Mutual labels:  olap
duckdb
DuckDB is an in-process SQL OLAP Database Management System
Stars: ✭ 4,707 (+20365.22%)
Mutual labels:  olap
vinum
Vinum is a SQL processor for Python, designed for data analysis workflows and in-memory analytics.
Stars: ✭ 57 (+147.83%)
Mutual labels:  olap
cubot.io
An Open Source Java Library for the Rubiks Cube!
Stars: ✭ 12 (-47.83%)
Mutual labels:  cube
matrixone
Hyperconverged cloud-edge native database
Stars: ✭ 1,057 (+4495.65%)
Mutual labels:  olap
quickstep
Quickstep project
Stars: ✭ 22 (-4.35%)
Mutual labels:  olap
csv-compare
Tool to compare curves from one csv files with curves from other csv files using an adjustable tolerance
Stars: ✭ 21 (-8.7%)
Mutual labels:  csv-files
cuber
优美而强大的网页魔方
Stars: ✭ 32 (+39.13%)
Mutual labels:  cube
systematic-review-datasets
A collection of fully labeled systematic review datasets (title-abstract screening)
Stars: ✭ 25 (+8.7%)
Mutual labels:  csv-files
Papers4DataAchitect
Collect papers for data engineering such as OLTP/OLAP/ETL/DistributedStorage.
Stars: ✭ 17 (-26.09%)
Mutual labels:  olap
csv2latex
🔧 Simple script in python to convert CSV files to LaTeX table
Stars: ✭ 54 (+134.78%)
Mutual labels:  csv-files
hadoop-data-ingestion-tool
OLAP and ETL of Big Data
Stars: ✭ 17 (-26.09%)
Mutual labels:  olap
monolog-http
A collection of monolog handlers that use a PSR-18 HTTP Client to send your logs
Stars: ✭ 34 (+47.83%)
Mutual labels:  cube
cubetl
CubETL - Framework and tool for data ETL (Extract, Transform and Load) in Python (PERSONAL PROJECT / SELDOM MAINTAINED)
Stars: ✭ 21 (-8.7%)
Mutual labels:  olap

ActiveViam AutoPivot

AutoPivot is a standalone application for online analysis (OLAP) of CSV files.

AutoPivot discovers the structure of CSV files, field separator, column names, column types, and loads data in memory with a high throughput parallel CSV source. AutoPivot exposes the data as a cube with hierarchies and aggregates that can be manipulated in the ActiveUI frontend or directly from the Microsoft Excel Pivot Table, using the XMLA protocol and MDX query language.

This project is built using Spring Boot

Launching AutoPivot

Build the project with Maven using the standard mvn clean install command. This will generate a jar file, which can be run using standard java commands. ActiveUI, ActiveViam's user interface for exploring the cube, will be available from http://localhost:9090/ui.

Performance

The multithreaded CSV source usually parses CSV data at several hundreds of MB/s. Of course this kind of throughput can only be reached with fast storage, a local SSD drive for instance or network storage accessed through a 10Gbps network at least.

AutoPivot is powered by the ActivePivot technology, the in-memory analytical platform developed by ActiveViam. ActivePivot runs on all sizes of hardware, from laptops to large servers with hundreds of cores and tens of terabytes of memory. When used in fire and forget mode, AutoPivot targets files up to a few hundreds of gigabytes.

CSV Format

AutoPivot expects a standard CSV file, with headers (column names) on the first row.

Options

The most common options can be set in the /src/main/resources/application.properties file. All the supported options can also be passed as JVM parameters such as -DfileName=data.csv.

Tweaking The Project

AutoPivot tries to guess what's in the data and do everything automatically. More generally it illustrates ActivePivot cubes can be configured programmatically and started on the fly, a very powerful concept for ActivePivot developers that can be reused beyond the simple usage of AutoPivot.

Here are some entry points to jump into the code, starting from src/main/java:

  • com.av.csv.discover.CSVDiscovery logic to discover the CSV separator character and the data types of the columns
  • com.av.autopivot.AutoPivotGenerator logic to create an ActivePivot cube (hierarchies, aggregates...) based on the file format
  • com.av.autopivot.spring this package contains the Spring configuration of the AutoPivot application
  • src/main/resources/application.properties options of the AutoPivot application

Licensing

The code of the AutoPivot application is open source, licensed under the Apache License 2.0. The AutoPivot application depends on the ActivePivot (commercial) software, the ActivePivot jar files distributed by ActiveViam must be available in the maven repository for the application to build. Running the AutoPivot application requires a license for the ActivePivot software. To use the ActiveUI frontend, the ActivePivot license must have the ActiveUI option enabled.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].