DataProfiler
superset
Our great sponsors
DataProfiler | superset | |
---|---|---|
61 | 137 | |
1,349 | 57,792 | |
2.6% | 2.4% | |
7.0 | 9.9 | |
1 day ago | 5 days ago | |
Python | TypeScript | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
DataProfiler
-
Data Profiler 0.9.0 -- offering a massive improvement to memory usage during profiling of large datasets
Great call out -- would you be willing to write up an issue for that on the repo? Thank you! https://github.com/capitalone/DataProfiler/issues/new/choose
- FLiPN-FLaNK Stack Weekly for 20 March 2023
-
Miller – tool for querying, shaping, reformatting data in CSV, TSV, and JSON
My team built a similar tool in Python to load any delimited file, json, parquet and Avro with one command:
https://github.com/capitalone/DataProfiler
Effectively loads anything into a dataframe
-
PyTorch vs. TensorFlow in 2022
The thing is, tensorflow has more ability to run cross platform.
I help maintain https://github.com/capitalone/DataProfiler
Our sensitive data detection library is exported to iOS, android, and Java; in addition to Python. We also run distributed and federated use cases with custom layers. All of which are improved in tensorflow.
That said, I’d use pytorch if I could. Simply put, it has a better user experience.
-
Fast CSV Processing with SIMD
I really should write up how we did delimiter and quote detection in this library:
https://github.com/capitalone/DataProfiler
It turns out delimited files IMO are much harder to parse than say, JSON. Largely because they have so many different permutations. The article covers CSVs, but many files are tab or null separated. We’ve even seen @ separated with ‘ for quotes.
Given the above, it should still be possible to use the method described. I’m guessing you’d have to detect the separators and quote chars first, however. You’d have to also handle empty rows and corrupted rows (which happen often enough).
-
Dask – a flexible library for parallel computing in Python
Having used both ray, dask, and writing custom threads, my personal view is that while there are advantages I wouldn’t want to use any of these unless absolutely necessary.
My personal approach for most of these tasks are to try to break down the problem to be as asynchronous as possible. Then you can create threads.
The nice thing about dask is really the way you can effectively use it as a pandas dataframe.
Having said that, we opted to write our own parallelization for this library:
https://github.com/capitalone/DataProfiler
As opposed to using the dask frame. Effectively, it’s a high overhead and easier to maintain the threading ourselves given the particular approaches taken.
That said, if I was working with large pandas dataframes, id likely use dask. For large datasets which couldn’t be stored in memory of use ray.io
-
Launch HN: Metaplane (YC W20) – Datadog for Data
My team has worked on a library for a similar purpose:
https://github.com/capitalone/DataProfiler
Load any document, profile and monitor the profiles for changes that would impact downstream applications.
Very common problem, you all are in a great space! Very interested and will check out!
-
Show HN: Graphsignal – Production Model Monitoring
We built a very similar application internally with our open source library: https://github.com/capitalone/dataprofiler
Effectively, you can monitor changes between profiles:
# Load a CSV file
-
Miller CLI – Like Awk, sed, cut, join, and sort for CSV, TSV and JSON
Not exactly the same, but we wrote a library to easily load any delimited type of file and finds header (even if not first row). It also works to load JSON, Parquet, AVRO and loads it into a dataframe. Not CLI exactly, but pretty easy:
https://github.com/capitalone/dataprofiler
Anyway, pretty interesting Miller CLI
superset
-
Apache Superset
Had a very good experience with Superset.
Superset allowed us to replace Tableau and not looking back
Took me a while figure out how to embed it into my app using Superset Embedded SDK.
Superset Embedded SDK - "Embedded SDK allows you to embed dashboards from Superset into your own app, using your app's authentication. Embedding is done by inserting an iframe, containing a Superset page, into the host application."
https://github.com/apache/superset/tree/master/superset-embe...
Superset is based on very high quality and well maintained chart library eChart
https://echarts.apache.org/examples/en/#chart-type-linesG
Community Roadmap
https://github.com/apache/superset/projects?query=is%3Aopen
Huge respect to Preset.io and its team for contributing to the project and keep it in a great shape
Superset source code is very easy to read and understand, and as a result it's possible to implement some advanced caching techniques reduce the load on charts.
No BI is perfect.
Watching Superset for years gives me confidence the project will work as supposed down the road, and eventually some of its packages can be reusable for all kind of visualizations and data hacking.
Superset is absolutely phenomenal. I really hope Microsoft eventually releases all of their customizations they made to it internally to the OS community someday.
-
A modern data stack for startups
Do you have any thoughts on Superset? Did you consider it as a candidate?
For anyone who doesn't know: https://superset.apache.org/
(There's at least one service that offers managed Superset hosting if that's what you're looking for; it's easy to find so I won't link it here.)
I recently ran a little shootout between Superset, Metabase, and Lightdash. All have nontrivial weaknesses but I ended up picking Lightdash.
Superset the best of them at _data visualization_ but I honestly found it almost useless for self-serve _BI_ by business users. This issue on how to do joins in Superset (with stalebot making a mess XD) is everything difficult about Superset for BI in a nutshell. https://github.com/apache/superset/issues/8645
Metabase is pretty great and it's definitely the right choice for a startup looking to get low cost BI set up. It still has a very table centric view, but feels built for _BI_ rather than visualization alone.
Lightdash has significant warts (YAML, pivoting being done in the frontend, no symmetric aggregates) but the Looker inspiration is obvious and it makes it easy to present _groups of tables_ to business users ready to rock. I liked Looker before Google acquired it. My business users are comfortable with star and snowflake schemas (not that they know those words) and it was easy to drop Lightdash on top of our existing data warehouse.
- FLaNK Stack Weekly for 20 Nov 2023
-
Yandex open sourced it's BI tool DataLens
Or like not being able to delete a user without running some SQL:
https://github.com/apache/superset/issues/13345
Almostl instantly run into this issue setting up a test instance of Superset. And the issue has been around for years.
-
Apache Superset: Installing locally is easy using the makefile
Are you interested in trying out Superset, but you're intimidated by the local setup process? Worry not! Superset needs some initial setup to install locally, but I've got a streamlined way to get started - using the makefile! This file contains a set of scripts to simplify the setup process.
-
More public SQL-queryable databases?
Recently I discovered BigQuery public datasets - just over 200 datasets available for directly querying via SQL. I think this is a great thing! I can connect these direct to an analytics platform (we use Apache Superset which uses Python SQLAlchemy under the hood) for example and just start dashboarding.
-
Real-time data analytics with Apache Superset, Redpanda, and RisingWave
In today's fast-paced data-driven world, organizations must analyze data in real-time to make timely and informed decisions. Real-time data analytics enables businesses to gain valuable insights, respond to real-time events, and stay ahead of the competition. Also, the analytics engine must be capable of running analytical queries and returning results in real-time. In this article, we will explore how you can build a real-time data analytics solution using the open-source tools Redpanda a distributed streaming platform, Apache Superset, a data visualization, and a business intelligence platform, combined with RisingWave a streaming database.
What are some alternatives?
streamlit - Streamlit — A faster way to build and share data apps.
jupyter-dash - OBSOLETE - Dash v2.11+ has Jupyter support built in!
Apache Hive - Apache Hive
lightdash - Open source BI for teams that move fast ⚡️
Metabase - The simplest, fastest way to get business intelligence and analytics to everyone in your company :yum:
django-project-template - The Django project template I use, for installation with django-admin.
react-admin - A frontend Framework for building data-driven applications running on top of REST/GraphQL APIs, using TypeScript, React and Material Design
ydata-profiling - 1 Line of code data quality profiling & exploratory data analysis for Pandas and Spark DataFrames.
nifi - Apache NiFi
Baserow - Open source no-code database and Airtable alternative. Create your own online database without technical experience. Performant with high volumes of data, can be self hosted and supports plugins
Airflow - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
appsmith - Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.