[HN Gopher] Show HN: MetricFlow - open-source metric framework
___________________________________________________________________
Show HN: MetricFlow - open-source metric framework
Hi HN community, I'm Nick, co-founder/CEO of Transform.co. I'm
thrilled to share MetricFlow, an open-source metric creation
framework: https://github.com/transform-data/metricflow MetricFlow
strives to make what has historically been an extremely repetitive
process, writing SQL queries on core normalized data models, much
more DRY. MetricFlow consolidates the definitions for joins,
aggregations, filters, etc., and programmatically generates SQL to
construct data marts. You can think of it like LookML, but more
powerful and ergonomic (and open source!). The project has three
components: 1. MetricFlow Spec: The specification encapsulates
metric logic in a more reusable set of abstractions: data_sources,
measures, dimensions, identifiers, metrics, and materializations.
2. DataFlow Planner: The Query Planner is a generalized SQL
constructor. We take in data sources (ideally normalized data
models) and generate a graph of data transformations (a flow, if
you will) - joins, aggregations, filters, etc. We take that graph
and render it down to db-specific SQL while optimizing it for
performance and legibility. 3. MetricFlow Interfaces: The CLI and
Python SDK rely on the flexibility of the Spec and Planner to build
just about any query you could ask for on top of your data
warehouse. These components enable novel features that other
semantic layers struggle to support today: - MetricFlow enables
the user to traverse the entire graph of a company's data warehouse
without confining their analysis to pre-built data models (dbt),
Explores (in Looker), or Cubes (in lots of tools). - The Metric
abstraction allows the construction of complex metrics that
traverse the graph described above to rely on multiple data
sources. We support several common metric types today, and adding
more is a critical part of the open-source roadmap. - The
Materialization abstraction allows users to define and then
programmatically generate data marts that rely on a single DRY
expression of the metrics and dimensions. MetricFlow is open
source(https://github.com/transform-data/metricflow) and
distributed through pypi (`pip install metricflow`). You can set up
(`mf setup`) a set of sample configs and try out a tutorial (`mf
tutorial). The docs are all
here(https://docs.transform.co/docs/overview/metricflow-overview).
We'd love contributions on GitHub. We're adding new Issues to share
our roadmap in the coming days, but feel free to open your own.
We're also opening up a Slack
community(https://community.transform.co/metricflow-signup) to talk
about the project and, more generally, metric tooling. Let us know
what you think - we'll be here answering any questions!
Author : nicholashandel
Score : 18 points
Date : 2022-04-06 22:12 UTC (48 minutes ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
___________________________________________________________________
(page generated 2022-04-06 23:00 UTC)