quinn
Metabase
Our great sponsors
quinn | Metabase | |
---|---|---|
9 | 67 | |
576 | 36,510 | |
- | 1.4% | |
9.2 | 10.0 | |
12 days ago | about 11 hours ago | |
Python | Clojure | |
- | GNU General Public License v3.0 or later |
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.
quinn
-
Brainstorming functions to make PySpark easier
We're brainstorming functions to make PySpark easier, see this issue: https://github.com/MrPowers/quinn/issues/83
-
PySpark OSS Contribution Opportunity
Adding some README documentation to the README should be quite straightforward. Here's a function that needs to be documented: https://github.com/MrPowers/quinn/issues/52 .
-
Invitation to collaborate on open source PySpark projects
quinn is a library with PySpark helper functions. I need to work through all the open issues / PRs and bump all versions. I should do another release. This library gets around 600,000 monthly downloads.
-
Pyspark now provides a native Pandas API
Pandas syntax is far inferior to regular PySpark in my opinion. Goes to show how much data analysts value a syntax that they're already familiar with. Pandas syntax makes it harder to reason about queries, abstract DataFrame transformations, etc. I've authored some popular PySpark libraries like quinn and chispa and am not excited to add Pandas syntax support, haha.
-
Register Native Functions in PySpark
Here's how I added a create_df method to the SparkSession class: https://github.com/MrPowers/quinn/blob/main/quinn/extensions/spark_session_ext.py
-
Is Spark - The Defenitive Guide outdated?
They spent a lot of effort improving the catalyst engine under the hood too and making it easier to extend and improve it in the future. Making it easy to add your own native code to Spark itself. Shameless plug of a blog post I wrote on this subject which basically reiterates what Matthew Powers, author of Spark Daria and quinn, wrote here.
-
Ask HN: What are some tools / libraries you built yourself?
I built daria (https://github.com/MrPowers/spark-daria) to make it easier to write Spark and spark-fast-tests (https://github.com/MrPowers/spark-fast-tests) to provide a good testing workflow.
quinn (https://github.com/MrPowers/quinn) and chispa (https://github.com/MrPowers/chispa) are the PySpark equivalents.
Built bebe (https://github.com/MrPowers/bebe) to expose the Spark Catalyst expressions that aren't exposed to the Scala / Python APIs.
Also build spark-sbt.g8 to create a Spark project with a single command: https://github.com/MrPowers/spark-sbt.g8
-
Open source contributions for a Data Engineer?
I've built popular PySpark (quinn, chispa) and Scala Spark (spark-daria, spark-fast-tests) libraries.
Metabase
-
HackTheBox - Writeup Analytics
Remote Code Execution via H2
-
Blazer: Business Intelligence Made Simple
We've used it for about a year - Blazer is okay if you need a quick SQL query console, but we found it lacking as an actual business intelligence tool. The support for graphs and dashboards is limited, for graphs it requires you to structure the query in an exact way as you can see in the Blazer readme.
After some research on available alternatives that don't break the bank, we decided to deploy a self-hosted instance of Metabase[0]. This took only a few minutes to set up using their Docker image[1] and it has much better graphing capabilities and you can easily put a custom layout together for dashboards. Upgrading is similarly easy (just redeploy). Also easy to configure: data sources, hiding or changing the data type of a column, G Suite sign-in for our domain. Highly recommend it if you need anything more than Blazer's table output.
[0]: https://github.com/metabase/metabase
-
Is Tableau Dead?
I've never used Tableau, but heard a lot of hate about it. However, in my previous role, we were big fans of Metabase (https://metabase.com). You can also self-host it, which was a huge win for us.
-
My mental model of Clojure transducers
It seems folks want a working example. Here's one in prod:
Metabase is a BI tool, backend written mostly in Clojure. Like basically all BI tools they have this intermediate representation language thing so you write the same thing in "MBQL (metabase query language)" and it theoretically becomes same query in like, Postgres and Mongo and whatever. End user does not usually write MBQL, it's a service for the frontend querybuilding UI thing and lots of other frontend UI stuff mainly in usage.
Whole processing from MBQL -> your SQL or whatever is done via a buncha big-ass transducers. Metabase is not materially faster than other BI tools (because all the other BI tools do something vaguely similar in their langs) but it's pretty comparable speed and the whole thing was materially written by like 5 peeps
https://github.com/metabase/metabase/blob/master/src/metabas...
(nb: I used to work for Metabase but currently do not. but open core is open core)
- Upgrade Your Metabase Installation
-
Upgrade your Metabase installation immediately
They haven't released the source, and the compiled versions are non-trivial to diff (e.g. there are nondeterministic numbers from the clojure compiler that seem to have changed from one to the other, and .clj files have been removed from the jar).
The old version has `hash=1bb88f5`, which is a public commit: https://github.com/metabase/metabase/commit/1bb88f5
-
Launch HN: Twenty.com (YC S23) – open-source CRM
We are unsure about the right license to use, so this is a great feedback. We had a MIT license one week ago that we know that we cannot hold on long term and we felt we were lying to the community by keeping an MIT license and changing it in one year.
By using AGPL, we feel it's the right level of restriction. It's the license used by Metabase for example (https://github.com/metabase/metabase) that many companies use internally.
-
Ask HN: Open-Source Self-Hosted No-Code Platforms?
The solution really depends on what sort of problems you are trying to solve and who your customers are.
There are a fair few low-code solutions out there for reporting and data visualisation that are great for finance and marketing teams for example. e.g. https://metabase.com/ , https://evidence.dev/
For multipurpose SMB workflows and organisational processes, I have used n8n in the recent past and found it was quite good and incredibly easy to maintain. https://n8n.io/engineering-resources/
For enterprise processes I'd go with Camunda (solely based on recommendations and not first hand experience). Although only parts of their platform are OSS https://github.com/camunda
Bear in mind that some of these are not suitable if you want to build something that competes with them while taking their OSS code. But are perfectly fine otherwise.
-
916 days of Emacs
Anyway, I have a collection of scripts that merge ActivityWatch data from all my machines and WakaTime exports to a PostgreSQL database which I then query with a project called Metabase. If you're curious, the scripts are in a repository called sqrt-data. I've been playing with this for ~4-5 years already I think.
-
Ask HN: Who is hiring? (April 2023)
Metabase | https://metabase.com | REMOTE | Full-time | Backend, Frontend, Full Stack, and DevOps engineers
Metabase is open source analytics software that lets anyone in your company rummage around in the databases you have. It connects to a number of databases / data warehouses (BigQuery, Redshift, Snowflake, Postgres, MySQL, etc).
What are some alternatives?
chispa - PySpark test helper methods with beautiful error messages
Apache Superset - Apache Superset is a Data Visualization and Data Exploration Platform [Moved to: https://github.com/apache/superset]
spark-daria - Essential Spark extensions and helper methods ✨😲
lightdash - Self-serve BI to 10x your data team ⚡️
spark-rapids - Spark RAPIDS plugin - accelerate Apache Spark with GPUs
appsmith - Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.
null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
Elasticsearch - Free and Open, Distributed, RESTful Search Engine
fugue - A unified interface for distributed computing. Fugue executes SQL, Python, Pandas, and Polars code on Spark, Dask and Ray without any rewrites.
superset - Apache Superset is a Data Visualization and Data Exploration Platform
etl-markup-toolkit - ETL Markup Toolkit is a spark-native tool for expressing ETL transformations as configuration
Redash - Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data.