<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Mark Grover on Medium]]></title>
        <description><![CDATA[Stories by Mark Grover on Medium]]></description>
        <link>https://medium.com/@mark-grover?source=rss-545a3a89c3d0------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*WPVFX9ZeAykt3R95kXywDw.jpeg</url>
            <title>Stories by Mark Grover on Medium</title>
            <link>https://medium.com/@mark-grover?source=rss-545a3a89c3d0------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 16:35:06 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@mark-grover/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Amundsen Monthly Update — September 2021]]></title>
            <link>https://medium.com/amundsen-io/amundsen-monthly-update-september-2021-d0ac55c48150?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/d0ac55c48150</guid>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[metadata]]></category>
            <category><![CDATA[lineage]]></category>
            <category><![CDATA[data-discovery]]></category>
            <category><![CDATA[amundsen]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Thu, 07 Oct 2021 17:20:06 GMT</pubDate>
            <atom:updated>2021-10-07T17:20:06.036Z</atom:updated>
            <content:encoded><![CDATA[<h3>Amundsen Monthly Update — September 2021</h3><h3><strong>Summary</strong></h3><p><strong>September highlights from the Amundsen community:</strong></p><ul><li>Integrating Slack with Amundsen at Convoy</li><li>Adding stats at a table level</li><li>Improved support for showing nested columns</li><li>Additional metadata for BigQuery</li><li>Search revamp</li><li>Extending badges browsing capabilities</li></ul><p>All that and more details below!</p><p><em>Check out last month’s highlights </em><a href="https://medium.com/amundsen-io/amundsen-monthly-update-august-2021-f7f6c6da9d9f"><em>here</em></a>.</p><p><strong>Don’t forget:</strong> Join our Slack community at<a href="http://slack.amundsen.io/"> slack.amundsen.io</a>. We can’t wait to meet you!</p><h3><strong>Integrating Slack with Amundsen at Convoy</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*SdvDzqtpJ6swQW2C" /><figcaption>Image by Author: Slack Integration with Amundsen</figcaption></figure><p>This past summer, <a href="https://www.linkedin.com/in/georgenpu/">George Pu</a> joined Convoy’s Data Platform team as an intern to help surface common questions about data usage within Slack through Amundsen. The result? A usable and robust Slack integration. Learn more about the process he took and the team’s next steps: <a href="https://medium.com/convoy-tech/integrating-slack-with-amundsen-for-ease-of-data-discovery-ef3b54834da5">Integrating Slack with Amundsen for Ease of Data Discovery</a></p><h3><strong>Adding stats at a table level</strong></h3><p>Up until now, we have allowed adding stats (min, max, count distinct) on a column level. Moving forward, we now additionally allow adding stats on a <em>table level,</em> allowing us to share stats like “daily active users” or “query count” on a table basis.</p><p><em>See </em><a href="https://github.com/amundsen-io/amundsen/pull/1503"><em>PR</em></a><em> details for more info! Huge props to </em><a href="https://www.linkedin.com/in/allisonsuarez/"><em>Allison Suarez Miranda</em></a><em>!</em></p><h3><strong>Improved support for showing nested columns</strong></h3><p>We now support <em>showing nested columns as individual rows</em> in the list of columns instead of showing them in a modal.</p><p><em>See </em><a href="https://github.com/amundsen-io/amundsen/pull/1489"><em>PR</em></a><em> details for more info. Thanks to </em><a href="https://www.linkedin.com/in/danwon/"><em>Daniel Won</em></a><em>!</em></p><h3><strong>Additional metadata for BigQuery</strong></h3><p>We now show the column’s mode for BigQuery tables.</p><p><em>See </em><a href="https://github.com/amundsen-io/amundsen/pull/1491/files"><em>PR</em></a><em> details for more info. Thanks to </em><a href="https://www.linkedin.com/in/marwan-n-baghdad/"><em>Marwan Baghdad</em></a><em>!</em></p><h3><strong>Search revamp</strong></h3><p>We’re looking to revamp search with a cleaner backend implementation, more robust queries, better customizability, and make use of modern v7 ES features.</p><p>This revamp would include deprecating Apache Atlas as a search backend. If you run Amundsen without Elasticsearch and instead rely purely on Atlas for search AND migrating to Elasticsearch would be prohibitive, please reach out to <a href="https://www.linkedin.com/in/kunitskiy/">Dmitriy Kunitskiy</a>. The goal is to improve the Amundsen search/ranking experience and remove a limited and likely-unused option of using Atlas in place of ES.</p><p><em>Check out the </em><a href="https://github.com/amundsen-io/rfcs/pull/43"><em>RFC</em></a><em> for more info and let us know what you think!</em></p><h3><strong>Extending badges browsing capabilities — badges on landing page and browse view</strong></h3><p>We’re looking to introduce a “Popular/All badges” section below “Popular tags” on the landing page, as well as a browse section.</p><p><em>Check out the </em><a href="https://github.com/amundsen-io/rfcs/pull/44"><em>RFC</em></a><em> for more info and let us know what you think!</em></p><h3><strong>Announcements</strong></h3><p>📣 No community meeting updates from last month due to my vacation. I took a week off and went to <a href="https://en.wikipedia.org/wiki/Orcas_Island">Orcas Island</a> for a short trip before Labor Day!</p><h3><strong>Coming up next…</strong></h3><p><strong>Next community meeting</strong></p><ul><li>Date: Thursday, November 4, 9am Pacific, 12pm Eastern, 6pm Central Europe</li><li>Add to your calendar: <a href="https://evt.to/sahdiasw">https://evt.to/sahdiasw</a></li></ul><p><strong>Join us on Slack:</strong><a href="http://slack.amundsen.io/"> slack.amundsen.io</a></p><p><strong>Subscribe for periodic updates:</strong><a href="https://medium.com/amundsen-io"> Medium</a> &amp;<a href="https://twitter.com/amundsenio"> Twitter</a></p><p><em>Curated with ❤ by</em><a href="https://stemma.ai/"><em> Stemma</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d0ac55c48150" width="1" height="1" alt=""><hr><p><a href="https://medium.com/amundsen-io/amundsen-monthly-update-september-2021-d0ac55c48150">Amundsen Monthly Update — September 2021</a> was originally published in <a href="https://medium.com/amundsen-io">amundsen-io</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[3 Steps for a Successful Data Migration]]></title>
            <link>https://medium.com/data-science/3-steps-for-a-successful-data-migration-9de8e7f1671c?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/9de8e7f1671c</guid>
            <category><![CDATA[editors-pick]]></category>
            <category><![CDATA[data-migration]]></category>
            <category><![CDATA[notes-from-industry]]></category>
            <category><![CDATA[lineage]]></category>
            <category><![CDATA[data-engineering]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Thu, 07 Oct 2021 15:21:14 GMT</pubDate>
            <atom:updated>2021-10-08T13:03:41.349Z</atom:updated>
            <content:encoded><![CDATA[<h4><a href="https://towardsdatascience.com/tagged/notes-from-industry">Notes from Industry</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PhvoybEGnHahFMfhFQvKkQ.jpeg" /><figcaption>Photo by<a href="https://unsplash.com/@patrickian4?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"> Patrick Fore</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>Migrations are one of the most common initiatives that data teams own. But as everyone knows, they are <em>complex beasts</em>. They always take longer than they need to, many different teams are involved, and they’re super visible — not just to users, but execs, too. Everyone is anxious when a migration is underway. And, there’s always one ongoing or about to start.</p><p>Over my career, I have been a data engineer myself and have worked with hundreds of data engineers. One thing I’ve learned which correlates with the quality of data engineering teams is <em>how well they do migrations</em>.</p><p><strong>I’ve found that <em>how</em> a data engineering team handles migrations can be a good proxy for the quality of a data engineering team. </strong>I’ll dive into the 3 crucial steps that I have seen great data engineering teams take to ensure a successful migration:</p><ol><li>Determine the complexity and order of migration</li><li>Migrate and test level-1 tables</li><li>Provide tools for downstream owners and kick-off ripple migration</li></ol><p>Each of these steps could be a blog post of its own, but for the sake of coherence I have tried to tackle them in one post.</p><p>Migrations are usually based on something that’s happening organizationally or externally to the company that’s pushing them to migrate. Migrations are exhaustive because success is tied to killing something rather than simply just moving something. <strong>In most migrations, getting 90% done isn’t good enough, even getting 100% done is not good enough, you really have to kill something old in order for a migration to be successful.</strong></p><p>Here are some common reasons why data teams migrate, along with what success looks like in each of these cases:</p><ol><li>Wholesale migration from one data warehouse to another, usually to reduce costs, consolidate, increase scalability or reliability. Success: no activity on the previous warehouse.</li><li>Migrate from one source of data to another, due to a decision made “upstream”. A common example is a company moving from Hubspot to Salesforce as their CRM and all the downstream sales analytics pipelines, dashboards and metrics need to be updated due to the change. Another common example is “decomp” or decomposition of upstream services from a monolith to a number of microservices. These microservices end up having their own databases, which leads to new decomposed sources of data that data warehouse ETL needs to be rebuilt on, and of course. Success: zero queries on old data.</li></ol><p>It turns out that it’s much harder to kill something than to stand up something new. And, this is precisely why migrations are so hard and complex.</p><p>These are the 3 steps that I have seen great data engineering teams take when it comes to migrations.</p><h3>Step 1 — Determine the complexity and order of migration</h3><h4><strong>Complexity of migration</strong></h4><p>The first step to any migration is understanding how complex it is. Is it a 2 week, 2 month, or 2 year migration? The closest proxy to complexity of a migration is determined by two factors for the data source in question:</p><ol><li>How many levels of data assets do you have?</li><li>How many data assets overall are built on the data source?</li></ol><p>A data asset can be a table, dashboard, etc.</p><p>To look at it another way, if you had a lineage graph like the one below, these factors are:</p><ol><li>What’s the depth of the graph?</li><li>How many nodes are there in the graph?</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Ykgix1YfeKYI5FG0" /><figcaption>Image by Author: Lineage Graph</figcaption></figure><h4><strong>Order of migration</strong></h4><p>Great data engineering teams are thoughtful and intentional about the order in which they choose to migrate. In a lineage graph like above, you still have to choose which “branch” to migrate first.</p><p>When determining the order of which branch to choose first, here are the three most common categories that great teams think about:</p><ol><li><strong>Cost </strong>— we’re going to migrate the most costliest data first.</li><li><strong>Usage Impact </strong>— we’re going to migrate the most used data sets last in order to reduce user impact.</li><li><strong>Risk</strong> — we’re going to migrate the least riskiest data first. For example, let’s save core financial metrics to be migrated last since they get reported externally.</li></ol><p><strong>Migrations are easy, as long as you don’t have to worry about dependencies.</strong></p><p>This brings me to the hardest part of migration. Once you have picked which branch to migrate, you have to determine how the existing data is being used.</p><p><strong>Level-1</strong> usage means that there are only leaf level consumers of the data like dashboards, ad hoc queries on the tables. <strong>Level-2</strong> usage means that there are other tables built on the table that have dashboards and ad hoc queries being run on them.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*M6JQwjljT2NsrgxC" /><figcaption>Image by Author: Levels of Data Usage</figcaption></figure><p>An automated data catalog that captures lineage of your data can help you gain a good understanding of your levels of usage.</p><p>The data catalog that surfaces this lineage graph should be able to automatically capture these 3 kinds of relationships at a minimum:</p><ol><li>Table level lineage</li><li>Dashboards/reports built on the tables</li><li>Names of users and number of ad hoc queries run by them, over the last 30 days</li></ol><p>Nice to have (not must have):</p><ul><li>Column level lineage — this is hard to capture at a high level of granularity and accuracy and not needed for many migrations.</li><li>More information about what process/ETL was used to generate the downstream tables.</li></ul><p>There are other use-cases for column level lineage, like meeting regulatory needs or deprecating a column. However, for the larger migrations as described at the beginning of this post, I find that table level lineage is sufficient.</p><h3>Step 2 — Migrate &amp; test level-1 tables</h3><p>In most organizations, you are going to have more than one level of usage. The first step is always to migrate these level-1 tables first. In some organizations, no real ETL/ELT is being done. In such cases, this step is a no-op.</p><p>There are two common cases here:</p><ol><li>The upstream change is “absorbed,” or</li><li>The upstream change is “leaked.”</li></ol><h4>Testing</h4><p>If the new tables are supposed to be equivalent to the old tables, it’s important to do data testing. A good data quality product will be able to profile the old data and the new data, highlighting the differences in row count, distribution, min, max, average, etc. You would often want to run the two jobs in parallel (at least 2 weeks) to ensure that the profiles are within some upper bound during that time period.</p><h3>Step 3 — Provide tools for downstream owners and kick-off ripple migration</h3><p>Migrations have a ripple effect. Great data engineering teams have a clear understanding of this and are able to build feedback loops in both directions to orchestrate the migration.</p><p>Once you have migrated level-1 tables, it’s time to notify downstream consumers of the data. There are 3 kinds of possible downstream consumers:</p><ol><li>Dashboards built on the tables</li><li>Ad hoc queriers of the data</li><li>Derived downstream tables</li></ol><p>For each category of downstream consumers, you are passing the responsibility of downstream migration to them. This means that:</p><ul><li>Downstream dashboard owners will need to migrate their dashboard to use the new source of data.</li><li>Ad hoc queriers of the data will need to query the new sources of data instead of the old ones.</li><li>Downstream table owners will need to migrate their ETL job to read from the new sources of data.</li></ul><p>The last case for downstream table owners is the most interesting because either their table will absorb the change and no one further downstream of them needs to be notified. Or, their ETL job or table won’t be able to absorb the change and they will have triggered their own ripple effect, asking the consumers of their data to migrate.</p><p>Great data engineering teams provide tools for downstream consumers to know what their data is being used for, so they can perform their part of the migration.</p><h4>Downstream tables and dashboards</h4><p>Usually, data engineering teams will file a JIRA, which is integrated with their data catalog. This files tickets for downstream table or dashboard owners.</p><p>Dashboard owners update their dashboards, if needed. They often end up deprecating them since they no longer need them.</p><p>Downstream table owners have to do the same thing that the level-1 owners did. They either absorb or leak the change. If they absorb the change, they close the ticket. If they leak the change, they create tickets for their downstream consumers. They can use the same catalog and JIRA integration to create tickets for their downstream users.</p><h4><strong>Ad hoc queriers</strong></h4><p>While the JIRA ticket works well for downstream dashboard and table owners, it doesn’t work well for those who ad hoc query the data. Even if they were notified via a Slack message or an email message, a new data user can and will easily miss that detail.</p><p>It’s important to document the status of the migration so that those who mistakenly use the wrong data are politely redirected to the new one.</p><p>A good way to do that is to have a banner in your data catalog tool like so:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QjrHYi8Sb9AITYJK" /><figcaption>Image by Author: Banner on a table announcing a migrated table</figcaption></figure><p>For example, <strong>if a new user stumbles upon an old table and its outdated documentation in their data catalog, they’ll be notified via banner that a new version of the table exists and redirected to use that one instead. </strong>Similar to how Amazon notifies users via banner about a new version of a product when it becomes available.</p><h3>Taming the beast</h3><p>Migrations don’t have to be the complex beasts that they always seem to be. There are numerous ways to ensure a smooth migration, they just involve a little extra love and care. The four steps above are the most common ways that I’ve seen data engineering teams tame the beast that is a migration, and at the heart of it lies the power of lineage and how it can transform your team’s approach. Because at the core of it, having the capability to quickly understand upstream and downstream dependencies in your data is one of the most crucial aspects of a successful migration.</p><p><strong>To read more posts like this and stay in touch, follow me on </strong><a href="https://twitter.com/mark_grover"><strong>Twitter</strong></a><strong> or receive a monthly newsletter by subscribing </strong><a href="https://www.stemma.ai/blog"><strong>here</strong></a><strong>.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9de8e7f1671c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/3-steps-for-a-successful-data-migration-9de8e7f1671c">3 Steps for a Successful Data Migration</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Amundsen Monthly Update — August 2021]]></title>
            <link>https://medium.com/amundsen-io/amundsen-monthly-update-august-2021-f7f6c6da9d9f?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/f7f6c6da9d9f</guid>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[lineage]]></category>
            <category><![CDATA[metadata]]></category>
            <category><![CDATA[amundsen]]></category>
            <category><![CDATA[data-discovery]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Tue, 14 Sep 2021 16:08:51 GMT</pubDate>
            <atom:updated>2021-09-14T16:09:22.231Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Amundsen Monthly Update — August 2021</strong></h3><h3><strong>Summary</strong></h3><p>August highlights from the Amundsen community:</p><ul><li>Driving Data Governance Maturity with Amundsen at Revolut</li><li>Amundsen at Devoted Health</li><li>Using Column Level Lineage in Amundsen at Alvin</li><li>Extending support for databuilder Atlas integration with table metadata models</li><li>OpenLineage extractor for databuilder</li><li>Generalized application model and adding Databricks application support</li><li>Data quality integration</li></ul><p>All that and more details below!</p><p><em>Check out last month’s highlights </em><a href="https://medium.com/amundsen-io/amundsen-monthly-update-july-2021-5a6f0a8c0c7e"><em>here</em></a>.</p><p><strong>Don’t forget:</strong> Join our Slack community at<a href="http://slack.amundsen.io/"> slack.amundsen.io</a>. We can’t wait to meet you!</p><h3><strong>Driving Data Governance Maturity with Amundsen at Revolut</strong></h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fci1XDPEdVOo%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dci1XDPEdVOo&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fci1XDPEdVOo%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/13d95e3d36b10e1ef10f74e569ec4c2e/href">https://medium.com/media/13d95e3d36b10e1ef10f74e569ec4c2e/href</a></iframe><p><a href="https://www.linkedin.com/in/dinan-amiendiartha/">Dinan Amiendiartha</a>, a Data Risk Manager at Revolut, joined us at our last community meeting to share how his team drove data governance maturity with Amundsen. Since January 2020, Revolut has expanded its global presence, seen a 4x increase in volume of data (and exponentially growing!), and rapidly developing new products for Retail. Due to this hyper growth, Revolut needed a solution to better manage its data and build greater trust. Dinan discussed why they chose Amundsen, dove into the details of their databuilder ingestion pipeline, how Amundsen is supporting their 4 data governance initiatives, and overall impact of Amundsen.</p><p>Check out Dinan’s presentation to hear all the details.💡</p><h3><strong>Amundsen at Devoted Health</strong></h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FZvEpJUjW6OM%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DZvEpJUjW6OM&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FZvEpJUjW6OM%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/8b118d724b8864a0ffbcabfa9e923e69/href">https://medium.com/media/8b118d724b8864a0ffbcabfa9e923e69/href</a></iframe><p><a href="https://www.linkedin.com/in/adam-boscarino-47267313/">Adam Boscarino</a>, Manager of Data Engineering at Devoted Health, joined us at our last community meeting to share how his team has been using Amundsen at Devoted. The Devoted team was experiencing problems that many of us have heard time and time again. They had a growing data platform with increasing pipelines and tables, but no source of truth for documentation and no data lineage. They were finding it difficult to understand their own documentation and how tables were populated. There was too much tribal knowledge. They needed a single source of truth. Adam discusses why they chose Amundsen, dives deeper into their infrastructure and customization, highlights their dbt integration, and wraps up with impact and future work.</p><p>Check out Adam’s presentation to learn more.💡</p><h3><strong>Using Column Level Lineage in Amundsen at Alvin</strong></h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FMxTaHfMtvDI%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DMxTaHfMtvDI&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FMxTaHfMtvDI%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/d857e57aad5753aa98bb0dafaef58ae5/href">https://medium.com/media/d857e57aad5753aa98bb0dafaef58ae5/href</a></iframe><p><a href="https://www.linkedin.com/in/oisincoveney/">Oisin Coveney</a>, a Software Engineer at Alvin, joined us at our last community meeting to share the development process of enabling column level lineage in Amundsen. He shared how they see lineage at Alvin and then dove into the development process of how they developed a transformer for Amundsen and mapped Alvin to enable column level lineage.</p><p>Check out Oisin’s presentation to learn more.💡</p><h3><strong>Extending support for databuilder Atlas integration with table metadata models</strong></h3><p>We have extended support for the databuilder Atlas integration with table metadata models. 🎉</p><p>What does this mean?</p><ul><li>You can use databuilder extractors for a majority of table-related metadata to populate data in Atlas</li><li>This is a backwards-compatible feature (although you might want to test it in your dev/acc Atlas before running this on prod)</li><li>This change bridges the gap in terms of Neo4j vs. Atlas feature coverage, leaving just Column Features support to be introduced</li><li>You can still use Atlas tools for metadata ingestion (ilke hive hook or your custom scripts) in parallel to databuilder ingestions to load the metadata from other databases</li><li>You can use sample_data_loader_atlas.py to kickstart your Atlas test instance with the same sample data that is used for Neo4j or RDS</li></ul><p>Huge shoutout to <a href="https://www.linkedin.com/in/gorskimariusz/">Mariusz Gorski</a>!</p><h3><strong>OpenLineage extractor for databuilder</strong></h3><p>We now have an OpenLineage extractor for databuilder! This means you can extract table lineage information from <a href="https://github.com/OpenLineage/OpenLineage">OpenLineage</a> events.</p><p><em>See </em><a href="https://github.com/amundsen-io/amundsen/pull/1444"><em>PR</em></a><em> details for more info. Props to </em><a href="https://www.linkedin.com/in/dominik-choma-b0231555/"><em>Dominik Choma</em></a><em>!</em></p><h3><strong>Generalized application model and added Databricks application support</strong></h3><p>Amundsen has had first-class citizen support for Airflow from Day 1. However, many companies don’t use Airflow, so we have now generalized the application model. Specifically, we have added support for Databricks application, for those companies that use Databricks’ ETL jobs.</p><p><em>See </em><a href="https://github.com/amundsen-io/amundsen/pull/1398"><em>PR</em></a><em> details for more info. Props to </em><a href="https://www.linkedin.com/in/jroof88/"><em>Jack Roof</em></a><em>!</em></p><h3><strong>Data quality integration</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/494/0*7gukDS6R7Rd3ql9f" /><figcaption>Data quality checks</figcaption></figure><p>We are starting to integrate existing Data Quality projects into Amundsen. The first step includes updating the frontend to display the status of the table. Specifically, we are working on display table status as: number of checks, number passing, and an optional timestamp.</p><p>Check out the open <a href="https://github.com/amundsen-io/rfcs/pull/41">RFC</a> and let us know what you think! <strong>👀</strong></p><h3><strong>Announcements</strong></h3><p>📣 We hosted office hours last month aimed for those just getting started with Amundsen. Check out the recording <a href="https://www.youtube.com/watch?v=_WeLijTzXEA">here</a>.</p><p>📣 We are not hosting a September community meeting due to Mark Grover’s vacation earlier this month. Our next meeting will be on Thursday, October 7. See you next month!</p><h3><strong>Coming up next…</strong></h3><p><strong>Next community meeting</strong></p><ul><li>Date: Thursday, October 7, 9am Pacific, 12pm Eastern, 6pm Central Europe</li><li>Add to your calendar: <a href="https://evt.to/diuoeeiw">https://evt.to/diuoeeiw</a></li></ul><p><strong>Join us on Slack: </strong><a href="http://slack.amundsen.io/">slack.amundsen.io</a></p><p><strong>Subscribe for periodic updates: </strong><a href="https://medium.com/amundsen-io">Medium</a> &amp; <a href="https://twitter.com/amundsenio">Twitter</a></p><p><em>Curated with ❤ by </em><a href="https://stemma.ai/"><em>Stemma</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f7f6c6da9d9f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/amundsen-io/amundsen-monthly-update-august-2021-f7f6c6da9d9f">Amundsen Monthly Update — August 2021</a> was originally published in <a href="https://medium.com/amundsen-io">amundsen-io</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Defining Data Ownership]]></title>
            <link>https://medium.com/data-science/defining-data-ownership-3fbe95fd0125?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/3fbe95fd0125</guid>
            <category><![CDATA[data-discovery]]></category>
            <category><![CDATA[stemma]]></category>
            <category><![CDATA[big-data]]></category>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[metadata]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Tue, 17 Aug 2021 16:09:46 GMT</pubDate>
            <atom:updated>2021-08-17T16:09:46.682Z</atom:updated>
            <content:encoded><![CDATA[<h4>“Who’s the data owner?” Learn how to define data ownership and how a data catalog can help you document this information.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*v5r2sU0iFvAwjMCkpRdMzA.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/@carterjack?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Jack Carter</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>In the first paragraph of a <a href="https://www.stemma.ai/blog/top-2-reasons-why-data-catalogs-fail">post I had written</a> earlier this month, I referred to data engineers as producers of data. Someone immediately replied something to the extent of, “<em>You lost me at the first sentence. Data Engineers can’t be data owners.”</em></p><p>Clearly, I ruffled some feathers, and I have done the same plenty in the past whenever I talked about ownership of data.</p><p>Let’s say your company uses Segment to send events from its website to its data warehouse. Each Segment event, by default, creates a table in the warehouse. You, the data engineer, have created a derived view that aggregates all of these events into one table to make it much more accessible and consumable. A few days later, an analyst comes to you and says, “This view no longer has up-to-date data for any event.” And then asks the dreaded question: <em>“Who’s the owner?”</em></p><p>In this case, the answer is somewhat obvious — the person who created this derived view, i.e. you — the data engineer.</p><p>But what if the question being asked was slightly different:</p><ul><li>What action on the website triggers this event to happen? OR,</li><li>What does a particular item in the payload for <em>place_order</em> event mean?</li></ul><p>It’s obvious that data engineers can’t be held responsible for answering such questions.</p><p><strong>It turns out that <em>who</em> the data owner is depends on the <em>question being asked</em>.</strong></p><p>Here are some common situations where someone could be asking the ownership question:</p><ul><li>The data is stale. Who should triage and fix it?</li><li>The data is “wrong.” Some fields are nulls or malformed.</li><li>What does this particular field mean?</li><li>Can this data be used for a new ML model that will show a different price to different people on the website?</li></ul><p><strong>Ultimately, ownership of data can be divided into 3 categories:</strong></p><ol><li><strong>Delivery owner</strong> — Ensures that this particular data gets delivered on time, on a promised delivery SLA. Usually, this is a data engineer or analytics engineer responsible for developing and maintaining the pipeline that produces this data.</li><li><strong>Domain owner</strong> — What does this particular value in a field (or column) mean? When does this particular event get triggered? Usually, this is a product engineer who created the event or the analysts and data scientists who use this data most frequently and understand the physical reality that the data represents.</li><li><strong>Policy owner</strong> — Ensures that this data gets used according to the classification and terms associated with it. Sometimes you acquire data from a source that should not be used for a certain category of use-cases. For example, YouTube is permitted to show ads to kids, but not permitted to personalize them. Therefore, the personalization data can’t be used if the subject is a child. The person making these calls is usually not an engineer or data scientist, but someone on the Policy or Privacy team at the company.</li></ol><p>Aside — <strong>Quality owner</strong>: This may depend on organization, but I’ve found there to be a general resistance to take ownership of end-to-end quality of a data set. Why? Because data engineers don’t consider themselves owners of the data that’s produced from the upstream application and can’t be held responsible for hunting down a website bug that impacts the data in the warehouse. The product engineers don’t have enough context about how data gets joined and transformed downstream to own the final derived data artifact as their output. This may change as decentralized data management (AKA data mesh) is deployed more broadly.</p><p>There’s a tendency in some organizations to build “shared ownership.” This fails to work well in practice. The only times I’ve seen it work well is when there’s a shared understanding of different facets of ownership within this shared owner group and the group is able to redirect to the right person within the group based on each question.</p><p>In practice, the data engineer plays the role that a triage nurse would play in an Emergency Room. An issue (patient) comes in, they triage to see what’s going on. Sometimes it’s a problem they can fix, so they fix it and resolve the issue (injury). In other cases, they redirect to the appropriate owner (a different health practitioner). As you can see, the issue (or question being asked) informs who the owner will be.</p><p>Lastly, ownership does not need to be articulated at this level of granularity for all of your data. Data and organizations are ever-changing and any information around ownership is bound to become stale. What’s important is to have high quality granular ownership for the most important 20% of your data and have good defaults for the remaining 80%.</p><p>Organizations typically use a data catalog to document ownership information. For the most important 20% data within your organization:</p><h3>Metadata and related owners</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L6JfZrdIuMeOMuR2-HC1hg.png" /><figcaption>Image by Author: Metadata and related owners</figcaption></figure><p>For the remaining 80% of data in your organization — automation. Frequent users are a good proxy for domain owners. And, the person who last changed the ETL code or gets alerted when the ETL job fails is a good proxy for the delivery owner.</p><p>So, the next time someone asks you about ownership, ask yourself: <em>Are you looking for the delivery, domain, or policy owner?</em></p><p><strong>To read more posts like this and stay in touch, follow me on </strong><a href="http://twitter.com/mark_grover"><strong>Twitter</strong></a><strong> or get a monthly newsletter with content like this by subscribing </strong><a href="http://stemma.ai/blog"><strong>here</strong></a><strong>.</strong></p><p><em>Thanks to Chris Riccomini for reviewing a draft of this post.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3fbe95fd0125" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/defining-data-ownership-3fbe95fd0125">Defining Data Ownership</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Amundsen Monthly Update — July 2021]]></title>
            <link>https://medium.com/amundsen-io/amundsen-monthly-update-july-2021-5a6f0a8c0c7e?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/5a6f0a8c0c7e</guid>
            <category><![CDATA[data-discovery]]></category>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[metadata]]></category>
            <category><![CDATA[lineage]]></category>
            <category><![CDATA[amundsen]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Thu, 12 Aug 2021 17:51:10 GMT</pubDate>
            <atom:updated>2021-08-12T17:51:10.616Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Amundsen Monthly Update — July 2021</strong></h3><h3>Summary</h3><p>July highlights from the Amundsen community:</p><ul><li>ML features discovery in Amundsen</li><li>MySQL support in Amundsen</li><li>Compatibility with Elasticsearch 7</li><li>Salesforce &amp; Oracle extractors</li><li>Adding support for nested data types in Delta</li><li>Proposal to make programmatic descriptions editable</li><li>How-to: Setup OIDC Authentication in Amundsen</li></ul><p>All that and more details below!</p><p><em>Check out last month’s highlights </em><a href="https://medium.com/amundsen-io/amundsen-monthly-update-june-2021-a2b543b5b657"><em>here</em></a>.</p><p><strong>Don’t forget:</strong> Join our Slack community at<a href="http://slack.amundsen.io/"> slack.amundsen.io</a>. We can’t wait to meet you!</p><h3><strong>ML Features Discovery in Amundsen</strong></h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FO8aHloC_GeQ%3Fstart%3D1%26feature%3Doembed%26start%3D1&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DO8aHloC_GeQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FO8aHloC_GeQ%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/cc7a05b2c5c24a9c37e610cd10224cf9/href">https://medium.com/media/cc7a05b2c5c24a9c37e610cd10224cf9/href</a></iframe><p>We have exciting news for all the data scientists and ML modelers out there! <a href="https://www.linkedin.com/in/allisonsuarez/">Allison Suarez Miranda</a>, a Software Engineer on the Amundsen team at Lyft, joined us at our July community meeting to speak about ML features discovery in Amundsen. She talked about why we’re starting with features, development of the first iteration, and a sneak peek into future work that we have in store. You can discover features, like the way you discover data in Amundsen!</p><p>Check out Allison’s presentation to hear all the details.💡</p><h3><strong>MySQL Support in Amundsen</strong></h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FFqAwQkf_IdQ%3Fstart%3D80%26feature%3Doembed%26start%3D80&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DFqAwQkf_IdQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FFqAwQkf_IdQ%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/6a0413f1c49724b3036168c6a1e42ae6/href">https://medium.com/media/6a0413f1c49724b3036168c6a1e42ae6/href</a></iframe><p>We have the initial support to use MySQL as the backend metadata store. 🎉 At our July community meeting, Xuan Shen, who’s on the Data Infra team at WePay, spoke about adding MySQL support in Amundsen. This will allow you to use existing MySQL infrastructure as Amundsen’s backend without having to rely on a graph database. Xuan dove into Amundsen RDS and how MySQL works in databuilder and metadata service.</p><p>Check out Xuan’s presentation to learn more.💡</p><h3><strong>Compatibility with Elasticsearch 7</strong></h3><p>Amundsen is now compatible with Elasticsearch 7! This change is fully backward compatible. If you haven’t upgraded to ES.7, don’t worry. Amundsen works with both ES.6 and ES.7. <strong>😀</strong></p><p>Huge shoutout to <a href="https://www.linkedin.com/in/verdan/">Verdan Mahmood</a> &amp; <a href="https://www.linkedin.com/in/gorskimariusz/">Mariusz Gorski</a>! You can see more details about the implementation here: <a href="https://github.com/amundsen-io/amundsen/pull/1386">https://github.com/amundsen-io/amundsen/pull/1386</a></p><h3><strong>Salesforce &amp; Oracle Extractors</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*fvvAAPgQo6HeY6PN" /><figcaption>Added new Salesforce &amp; Oracle connectors to Amundsen</figcaption></figure><p>Salesforce, Oracle, who’s next? We’ve got two new extractors in Amundsen. <strong>🙌</strong></p><p><strong>Salesforce extractor</strong> — provides support for extracting basic Salesforce object metadata from <a href="https://developer.salesforce.com/">Salesforce</a> into Amundsen.</p><p><em>See </em><a href="https://github.com/amundsen-io/amundsen/pull/1370"><em>PR</em></a><em> details and </em><a href="https://github.com/amundsen-io/amundsen/tree/main/databuilder#salesforceextractor"><em>docs</em></a><em> for more info. Props to </em><a href="https://www.linkedin.com/in/benrifkind/"><em>Ben Rifkind</em></a><em>!</em></p><p><strong>Oracle extractor </strong>— extracts table and column metadata (including database, schema, table name, table description, column name, and column description) from the <a href="https://www.oracle.com/database/">Oracle</a> database into Amundsen.</p><p><em>See </em><a href="https://github.com/amundsen-io/amundsen/pull/1357"><em>PR</em></a><em> details and </em><a href="https://github.com/amundsen-io/amundsen/tree/main/databuilder#oraclemetadataextractor"><em>docs</em></a><em> for more info. Props to </em><a href="https://www.linkedin.com/in/savio-teles-6707b111/"><em>Sávio Teles</em></a><em>!</em></p><h3><strong>Adding support for nested data types in Delta</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*wJ5Z3u-eZ-Rk54RD" /><figcaption>Nested Type in Amundsen</figcaption></figure><p>We’re adding support for nested datatypes in Delta! Amundsen has had support for extracting, displaying and even searching for nested data for other data sources (like BigQuery). Thanks to <a href="https://www.linkedin.com/in/jroof88/">Jack Roof</a> at Samsara, we recently added support for extracting and displaying nested data coming from Databricks Delta.</p><p>Check out the PR details <strong>👉</strong> <a href="https://github.com/amundsen-io/amundsen/pull/1326">here</a> &amp; <a href="https://github.com/amundsen-io/amundsen/pull/1329">here</a>.</p><h3><strong>Proposal to make programmatic descriptions editable</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*NKi_ZPN_t88tM-9B" /><figcaption>Programmatic descriptions in Amundsen</figcaption></figure><p>We’re proposing editable programmatic descriptions.💥 Programmatic descriptions are a useful way for us to store and display business specific metadata about tables in Amundsen. This new feature will allow us to <strong>customize machine generated metadata</strong>.</p><p>Check out the open <a href="https://github.com/amundsen-io/rfcs/pull/42">RFC</a> and let us know what you think! <strong>👀</strong></p><h3><strong>How-to: Setup OIDC Authentication in Amundsen</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tsjmMFaXHwIqlyZU" /><figcaption>OpenID Connect + Amundsen</figcaption></figure><p><a href="https://www.linkedin.com/in/verdan/">Verdan Mahmood</a> wrote a <a href="https://medium.com/stemma/how-to-setup-oidc-authentication-in-amundsen-47f704345c1"><strong>step-by-step guide</strong></a> on how to enable OIDC for your Amundsen installation. Check it out and let him know what you think!</p><h3><strong>Announcements</strong></h3><p>📣 We’d like to welcome 3 new maintainers to Amundsen! Maintainers are hugely important to our community — they make significant contributions to the project and it signifies community growth. 🌱 This means we’ll be able to develop more and support an even greater amount of users. <strong>Please welcome </strong><a href="https://www.linkedin.com/in/kunitskiy/"><strong>Dmitriy Kunitskiy</strong></a><strong> from Lyft, </strong><a href="https://www.linkedin.com/in/grant-seward-23bb88ab/"><strong>Grant Seward</strong></a><strong> from Stemma, and </strong><a href="https://www.linkedin.com/in/dominik-choma-b0231555/"><strong>Dominik Choma</strong></a><strong> from ING as new Amundsen maintainers!</strong> Don’t hesitate to lean on them for questions and support.</p><p>📣 We’ve done a bit of Slack housekeeping over the last month. What does this mean for you? Going forward, we’ll be using:</p><p><strong>Updated Channels</strong></p><p>#announcements — for all announcements for the project. Only maintainers can post on this channel (renamed from #general-no-use).</p><p>#amundsen-general-questions — for any general questions you may have about the project (renamed from #amundsen).</p><p>#troubleshoot — for specific debugging questions (no changes here).</p><p><strong>New Channels (consider joining!)</strong></p><p>#introductions — for introducing ourselves. All new members will be added here.</p><p>#randomness — because we’re all multifaceted people and sometimes things don’t fit in an existing bucket. 😁</p><h3><strong>Coming up next…</strong></h3><p><strong>Next community meeting</strong></p><ul><li><strong>Date: </strong>Thursday, September 2, 9am Pacific, 12pm Eastern, 6pm Central Europe</li><li><strong>Add to your calendar:</strong> <a href="https://evt.to/hsusdihw">https://evt.to/hsusdihw</a></li></ul><p><strong>Join us on Slack: </strong><a href="http://slack.amundsen.io/">slack.amundsen.io</a></p><p><strong>Subscribe for periodic updates: </strong><a href="https://medium.com/amundsen-io">Medium</a> &amp; <a href="https://twitter.com/amundsenio">Twitter</a></p><p><em>Curated with ❤ by </em><a href="https://stemma.ai/"><em>Stemma</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5a6f0a8c0c7e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/amundsen-io/amundsen-monthly-update-july-2021-5a6f0a8c0c7e">Amundsen Monthly Update — July 2021</a> was originally published in <a href="https://medium.com/amundsen-io">amundsen-io</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Top 2 Reasons Why Data Catalogs Fail]]></title>
            <link>https://medium.com/data-science/top-2-reasons-why-data-catalogs-fail-615edacec1c0?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/615edacec1c0</guid>
            <category><![CDATA[big-data]]></category>
            <category><![CDATA[data-discovery]]></category>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[stemma]]></category>
            <category><![CDATA[amundsen]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Sat, 31 Jul 2021 18:18:09 GMT</pubDate>
            <atom:updated>2021-07-31T18:18:09.853Z</atom:updated>
            <content:encoded><![CDATA[<h4>Here are the top two reasons why, despite all good intentions, many data catalogs end up failing</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*8GGbF0n9mKBqD_QD" /><figcaption>Photo by <a href="https://unsplash.com/@chuttersnap?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">CHUTTERSNAP</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>You notice that data producers (data engineers, product engineers, analytics engineers) and data consumers (data analysts, data scientists, business users) don’t know what data exists, how to use it, and what is trustworthy. You see a ton of questions on slack and a real hit on the productivity of the data team.</p><p>You get a big fancy data catalog — it has lots of bells and whistles but months go by and no one uses it. You show it in your all-hands meeting, you send email blasts, you even reprimand people when they talk about data stuff in the Slack channel, pushing them to have this conversation within the data catalog.</p><p>But at the end of the day, the usage never sticks. Your data catalog never gets adopted.</p><p>I have seen this story play out so many times. Here are the top 2 reasons why, despite all good intentions, many data catalogs end up failing:</p><h3>1. Catalog ghost town — lack of descriptions and metadata</h3><p>In order to derive value from most data catalogs, you need to populate it with valuable information. This information includes descriptions, tags, primary keys, foreign keys, common ways to query the data, most common FAQs, etc. You get the idea. The hard part is getting your co-workers to enter this context.</p><p>Even if you somehow convinced others to add documentation, once it’s added, it quickly becomes out-of-date. Because data evolves quickly, not only does it need to be added once, it needs constant upkeep.</p><p>When upkeep doesn’t happen, well, your data catalog doesn’t help — it hurts. This story is the single most common story of data catalog failure.</p><p>I have seen the three best antidotes to this:</p><p><strong>Automate as much as possible.</strong> Try to get as much metadata as possible through automation. There’s no reason why someone needs to populate foreign keys, primary keys, common ways to query the data for every single data set. All of that information is already buried and up-to-date in the existing usage patterns and logs. Extract the most common filters, join conditions, upstream dependencies, and downstream consumers. More on how to do that in a future blog post.</p><p><strong>Extract documentation from “the flow”. </strong>Documentation is best obtained when it’s in the flow of the user. When a new data set is being created, you need to enforce documentation to be added then. Sometimes it’s a process change, but quite often it’s technical — I have seen quite a few successful deploys where you put in documentation checks in your CI/CD and break the build if the appropriate documentation isn’t supplied.</p><p><strong>Curate the top 20%</strong>. There’s no denying that some things require a human to curate. Take your most commonly viewed metrics, dashboards, and tables and document them. The pre-requisite to doing this is realizing that you can’t boil the ocean and having an understanding of what are your most commonly queried tables and most commonly viewed dashboards.</p><h3>2. Your catalog is too broad and not deep enough — leading to fragmentation</h3><p>Often in understanding and trusting data, you need to answer and do the following:</p><ul><li>What are the most common conversations about this data?</li><li>What knowledge base/wikis exist about this data?</li><li>Query the data to explore it further</li></ul><p>More recently, catalogs have become quite bulky and cause fragmentation in the user’s<a href="https://designsprintkit.withgoogle.com/methodology/phase2-define/golden-path"> golden path</a>:</p><ul><li>Conversations — You can have them on Slack or in your data catalog</li><li>Knowledge base — You can write wiki articles in Confluence or in your data catalog</li><li>Querying — You can query in your BI tool (Tableau, Looker, Mode, Snowflake UI) or you can query data via your data catalog.</li></ul><p>This fragmentation is the worst possible thing. Why?</p><ul><li>The users now have to figure out which tool to choose for what.</li><li>The data team now has to maintain the above two options. Take querying, for example. You now have to implement RBAC in your BI tool <em>and</em> your data catalog’s querying tool. Like implementing RBAC in just one tool wasn’t hard enough.</li></ul><p>Ultimately, this fragmentation leads to enough friction, both individually and organizationally, for the data catalog to fail. Your catalog ends up doing a crappy job at too many things.</p><p>The antidote to this problem — if you have a catalog product that’s too bulky, choose your golden path thoughtfully and disable duplicate features amongst your products so that there’s one suggested option. For example, have one place for people to have conversations, either in your catalog <em>or</em> in Slack. Discourage the other option.</p><h3>Summary</h3><p>Data catalogs fail for two reasons:</p><ol><li>Catalog Ghost town — not enough descriptions &amp; metadata.</li><li>Catalog too broad, and not deep enough — fragmentation in the user’s golden path.</li></ol><p>To avoid these problems, regardless of your tool choice, automate as much metadata as possible, curate only on the most impactful data, and be laser-focused on your user’s golden path.</p><p>To read more posts like this and stay in touch, follow me on <a href="http://twitter.com/mark_grover">Twitter</a> or get a monthly newsletter with content like this by subscribing <a href="http://stemma.ai/blog">here</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=615edacec1c0" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/top-2-reasons-why-data-catalogs-fail-615edacec1c0">Top 2 Reasons Why Data Catalogs Fail</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Amundsen monthly update — June 2021]]></title>
            <link>https://medium.com/amundsen-io/amundsen-monthly-update-june-2021-a2b543b5b657?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/a2b543b5b657</guid>
            <category><![CDATA[metadata]]></category>
            <category><![CDATA[data-discovery]]></category>
            <category><![CDATA[amundsen]]></category>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[lineage]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Tue, 13 Jul 2021 15:18:32 GMT</pubDate>
            <atom:updated>2021-07-13T15:31:01.726Z</atom:updated>
            <content:encoded><![CDATA[<h3>Amundsen Monthly Update — June 2021</h3><h3>Summary</h3><p>June highlights from the Amundsen community:</p><ul><li>How Convoy got 80% of its tech org to use Amundsen</li><li>Query Intelligence: View common query patterns in Amundsen</li><li>Unifying shared dependencies — making life a lot easier for Amundsen devs and installers</li><li>Amundsen now uses Mode discovery API</li><li>Initial support to use MySQL as backend metadata store</li><li>See popular dashboards in Amundsen</li><li>Lineage graph visualization</li></ul><p>All that and more details below!</p><p><em>Check out last month’s highlights </em><a href="https://medium.com/amundsen-io/amundsen-monthly-update-may-2021-d384e3d1be50"><em>here</em></a>.</p><p><strong>Don’t forget:</strong> Join our Slack community at<a href="http://slack.amundsen.io/"> slack.amundsen.io</a>. We can’t wait to meet you!</p><p><strong>How Convoy got 80% of its tech org to use Amundsen</strong></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fk9aZiVy5zPg%3Fstart%3D10%26feature%3Doembed%26start%3D10&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dk9aZiVy5zPg&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fk9aZiVy5zPg%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/e5efdc787c22168996497274f8b1fce5/href">https://medium.com/media/e5efdc787c22168996497274f8b1fce5/href</a></iframe><p><a href="https://www.linkedin.com/in/chad-sanderson/">Chad Sanderson</a> and <a href="https://www.linkedin.com/in/danieldicker/">Daniel Dicker</a>, from the Data Platform team at <a href="https://convoy.com/">Convoy</a>, joined us at our June community meeting and spoke about their success in implementing and onboarding their data consumers to Amundsen. They dove into the gaps that led them to make investments in Amundsen, their data discovery goals, implementation journey, and where they’re looking to take Amundsen into the future.</p><p><strong>Gaps in Data Discovery</strong></p><p>In early 2020, the team at Convoy started experiencing issues with data discovery. It was time-consuming to share information about what was in the data warehouse and the overhead of updating documentation kept increasing. Lots of conversations were happening in Slack and information became siloed, with institutional knowledge steadily becoming the norm. It was difficult for a single person to have a holistic view of the Convoy data model. With Convoy constantly growing and changing, the team knew they had to find a solution that would scale and allow a better data discovery experience.</p><p><strong>Data Discovery Goals</strong></p><p>Chad, Daniel, and their team had 4 main goals as they searched for a solution:</p><ol><li>Lower the barrier to entry for adding informative, useful information. They wanted to make this as easy as possible for data consumers.</li><li>Improve search functionality to enable users to quickly find relevant information.</li><li>Add more useful context around the data: Who is using tables? Who are the owners of each table? What queries are being run against tables?</li><li>Strong foundation to build additional features as their data discoverability tool grew and changed with the business.</li></ol><p><strong>Choosing Amundsen</strong></p><p>Chad, Daniel, and their team chose Amundsen for three main reasons: feature set, familiar technologies, and growing community. Since its implementation, the catalog has been a great success — 80% of the Product and Engineering team has used it over the past year, with over 4,500 searches per month.</p><p>Check out Chad and Daniel’s <a href="https://docs.google.com/presentation/d/16-ScPWxhYhj043hp8j2ebwK4kU6J1YV4r9EY53meQmo">presentation</a> to hear more about how they rolled out Amundsen to the broader team and upcoming plans for their data catalog.</p><h3>Query Intelligence: View common query patterns in Amundsen</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FFHzY6otnwVw%3Fstart%3D21&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DFHzY6otnwVw&amp;image=http%3A%2F%2Fi.ytimg.com%2Fvi%2FFHzY6otnwVw%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/e3851457b0bfa89e8b8a3d22e0b44ab1/href">https://medium.com/media/e3851457b0bfa89e8b8a3d22e0b44ab1/href</a></iframe><p>We also heard from Grant Seward, founding engineer at Stemma, at our June community meeting. He gave a presentation about query intelligence and how Amundsen is able to show common query patterns now.</p><p>As we think about the data discovery lifecycle, we’ve all had some form of these kinds of questions pop into our minds: What data exists? How do I join these tables together? What is the right way to form these queries? Are there any “gotchas” that exist in the data?</p><p>Grant gives a framework on how data discovery provides comprehensive answers to six fundamental questions:</p><p><em>What? Where? Who? When? Why? How?</em></p><p>However, Amundsen has had limited coverage for the question, “How?”</p><p>Query intelligence aims to augment our understanding of how data can be used by providing historical examples, which can then be utilized as a starting point during the research phase or referenced during development.</p><p>Since queries are by far the most widely used way in which we interact with data, by indexing query components, we can answer questions such as:</p><ul><li>What tables are most commonly joined to this table and how?</li><li>Are there any filters (where clauses) that are always applied when accessing this table?</li><li>What real-world queries are being used on this table?</li><li>What queries are relevant now, given the recent queries that have been executed?</li></ul><p>The answers to these questions form the building blocks that provide context about the data prior to any hands-on exploration that is done. This intelligence will answer the “How?” question, helping you discover <em>how</em> to use your data.</p><p>Check out <a href="https://docs.google.com/presentation/d/1vQoLAfkSqu-NhPoUkja69HkbRIr-RNon36scvtfR9Oo/edit#slide=id.gdd281e5fe0_0_0">Grant’s presentation</a> to see a live demo and learn how Amundsen indexes query components.</p><h3><strong>Developer Experience — Unifying shared dependencies</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Wu-iuTOt6wNSwSsD" /><figcaption>GitHub pull request for “refactor: shared dependencies unification #1163”</figcaption></figure><p>We’ve merged refactoring dependency management in monorepo. <em>If you’re building Amundsen packages/docker image from monorepo, this change will likely affect you.</em></p><p><strong>Problem</strong></p><p>Prior to this change, Python packages were pretty much the same for each proxy. This made it hard to sync across all repositories, and as a result, each proxy was running its own version of the dependency. We were having a lot of issues resulting in amundsen-common mismatch between FE and Metadata.</p><p><strong>Solution</strong></p><p>By unifying dependencies shared across multiple services (for both core and testing dependencies), all packages will be located in one place, which will keep dependencies similar across versions. This will make it possible to open a single PR that will update multiple packages.</p><p><strong>What can you expect from this change?</strong></p><ul><li>Installation from source — when installing from the source, use “pip3 install -e .” to ensure dependencies are properly pulled</li><li>Building docker images — we moved docker images to root directory of Amundsen repo</li><li>Makefile actions were adjusted to this change — you can do “make install_deps” OR “make image” to install from the source, OR build docker image respectively. The same goes for all docker-compose files available in monorepo.</li></ul><p>Huge shoutout to <a href="https://www.linkedin.com/in/gorskimariusz/">Mariusz Gorski</a> and the community for this refactor! You can see more details of the implementation <a href="https://github.com/amundsen-io/amundsen/pull/1163">here</a>.</p><h3><strong>Migration to Mode discovery API</strong></h3><p>The Amundsen Mode dashboard integration has now been migrated over to the newly performant Mode discover API. 🎉 This will greatly improve the experience for those using the Mode dashboard integration.</p><p>Big thanks to <a href="https://www.linkedin.com/in/junda-yang-a4a152114/">Junda Yang</a> from Brex and <a href="https://www.linkedin.com/in/neha-p-hystad/">Neha Hystad</a> from Mode for the support.</p><h3><strong>Initial support to use MySQL as backend metadata store</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*0tVKFm6-9J0rq9NV" /><figcaption>GitHub pull request for “feat: support mysql in metadata service #1182”</figcaption></figure><p>Thanks to WePay’s Xuan Shen’s contributions, Amundsen now has the initial support to use MySQL as the backend metadata store! This will allow you to use existing MySQL infrastructure as Amundsen’s backend without having to rely on a graph database. See more details <a href="https://github.com/amundsen-io/amundsen/pull/1182">here</a>.</p><p>Xuan Shen gave a detailed presentation at our July community meeting. We’ll share more details in our next monthly update. ✨</p><h3><strong>Popular Dashboards</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*VetrjvdCvRsyoBH1" /><figcaption>See most viewed dashboards in Amundsen</figcaption></figure><p>You can now see popular dashboards in Amundsen. You have always been able to see popular tables — we gave the same love to dashboards. BTW, popular here means most queried/most viewed dashboards, not popular based on Amundsen activity.</p><p>Thanks to <a href="https://www.linkedin.com/in/verdan/">Verdan Mahmood</a> for his contributions here. <strong>🙌</strong></p><h3><strong>Lineage Graph Visualization</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Q-IhWcZomxSSMvC9" /><figcaption>Lineage graph visualization design in Amundsen</figcaption></figure><p>As part of Amundsen’s commitment to building in lineage exploration, we had two additional iterations on the graphical visualization UI for table lineage. We brought in atlas proxy support as well as multiple stability improvements following direct community feedback. Our next steps are to enter a brief period of aggregating community use cases and shaping the future of the lineage feature UX.</p><p>Huge props to <a href="https://www.linkedin.com/in/boyan-bonev-ams/">Boyan Bonev</a> for spearheading these UI/UX iterations!</p><h3>Announcements</h3><p>📣 We’d like to welcome <a href="https://www.linkedin.com/in/junda-yang-a4a152114/">Junda Yang</a>, Amundsen’s latest committer (<a href="https://github.com/youngyjd">Junda’s GitHub</a>). Junda was an early engineering member on the Data Tools team at Lyft working on Amundsen. He’s recently done a fantastic job integrating Amundsen with Mode dashboard and its latest discovery API. Looking forward to more contributions from Junda in the future! Amundsen is a Linux Foundation project, with an open governance model. Adding new committers like Junda, and growing our dev community, is an important, ongoing part of our project.</p><p>📣 We have deprecated the <a href="https://github.com/dwarszawski/amundsen-atlas-types/">amundsen-atlas-types</a><strong> </strong>repository. Up until now, we maintained a separate package for creating proper entity types in Atlas in order to facilitate integration between Atlas and Amundsen. Moving forward, we are still keeping the approach of creating those entity types, BUT, we are moving the code directly to Amundsen repo. Moving forward, amundsen databuilder repo should be used instead of amundsen-atlas-types. Please see the <a href="https://github.com/amundsen-io/amundsen/blob/main/databuilder/README.md#register-entity-types-using-standalone-script">tutorial</a> for more details.</p><p>📣 We have a new version of flaskoidc. The new version available on <a href="https://pypi.org/project/flaskoidc/">PyPi</a> is 1.0.2 and is backward <em>incompatible</em>. With this new version, we’ve moved away from flask-oidc and now rely on <a href="https://docs.authlib.org/en/latest/">Authlib</a>, there’s no need to maintain a separate clients_secrets.json file anymore. Configuration is cleaner and requires a few environment variables to enable e2e OIDC support. The access token is not being refreshed at the moment — this will be fixed in future releases. More details on how to configure this new version on <a href="https://github.com/verdan/flaskoidc#readme">github</a>.</p><h3>Coming up next…</h3><p><strong>ML Feature Discovery in Amundsen</strong></p><p>A few months ago, we presented the first version of ML feature discovery in which <a href="https://www.linkedin.com/in/mariusz-strzelecki/">Mariusz Strzelecki</a>, from GetInData, had built V1 of what ML feature discovery and integration with Feast looks like. More recently during our July community meeting, <a href="https://www.linkedin.com/in/allisonsuarez/">Allison Suarez Miranda</a>, from Lyft, shared what the next version of ML feature discovery in Amundsen looks like.</p><p><strong>Next community meeting</strong></p><ul><li>Date: Thursday, August 5, 9am Pacific, 12pm Eastern, 6pm Central Europe</li><li>Add to your calendar: <a href="https://evt.to/huuaiauw">https://evt.to/huuaiauw</a></li></ul><p><strong>Join us on Slack:</strong><a href="http://slack.amundsen.io/"> slack.amundsen.io</a></p><p><strong>Subscribe for periodic updates: </strong><a href="https://medium.com/amundsen-io">Medium</a> &amp;<a href="https://twitter.com/amundsenio"> Twitter</a></p><p><em>Curated with ❤ by</em><a href="https://stemma.ai/"><em> Stemma</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a2b543b5b657" width="1" height="1" alt=""><hr><p><a href="https://medium.com/amundsen-io/amundsen-monthly-update-june-2021-a2b543b5b657">Amundsen monthly update — June 2021</a> was originally published in <a href="https://medium.com/amundsen-io">amundsen-io</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Make Your Data Catalog Successful]]></title>
            <link>https://medium.com/data-science/how-to-make-your-data-catalog-successful-3df6894f1975?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/3df6894f1975</guid>
            <category><![CDATA[metadata]]></category>
            <category><![CDATA[data-discovery]]></category>
            <category><![CDATA[data-governance]]></category>
            <category><![CDATA[snowflake]]></category>
            <category><![CDATA[data-catalog]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Tue, 29 Jun 2021 00:38:55 GMT</pubDate>
            <atom:updated>2021-06-29T01:03:16.552Z</atom:updated>
            <content:encoded><![CDATA[<h4>Learnings from dozens of companies on how to make your data catalog successful</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aJZD9Rg5X8QWQHk92LFQOQ.jpeg" /><figcaption>PHOTO BY<a href="https://unsplash.com/@sortino?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"> JOSHUA SORTINO</a> ON <a href="http://unsplash.com/">UNSPLASH</a></figcaption></figure><p>There are only 2 goals that matter when it comes to measuring the success of a data catalog: 1) adoption, and 2) customer satisfaction. If you nail these two, you are successful.</p><p>I’m the co-creator of the leading open-source data catalog, Amundsen, which is used by 35+ companies including Instacart, Square, Brex, Asana, and many more. In this post, I share key learnings from Lyft, other Amundsen adopters, and <a href="http://stemma.ai/">Stemma</a> customers on what makes a data catalog install successful.</p><p>There are learnings that we have incorporated in Stemma, but this article captures learnings that haven’t been captured in the product yet. These learnings focus on how to launch the product, how to land it for great adoption, and how to measure success.</p><h3>1. Prioritize a persona and its use-cases</h3><p>There are many user personas and use cases for a data catalog. Successful installs prioritize which personas and use cases to focus on first. Here’s a simplified view¹ of the most common personas and use-cases for a data catalog. It’s less important which persona you start with first, but more important that you start with a specific target group of users.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RIi3dIv--2g-CtXnSjLgMA.png" /><figcaption>Image by author: Most common personas and use-cases for a data catalog</figcaption></figure><h3>2. Launch in phases</h3><p>In this section, I’ll dive deeper into best practices for launching your data catalog.</p><p><strong>Step 1: Identify a small set of tables</strong> to get alpha user feedback on.</p><ul><li>This set can be the most commonly used tables within the company (often referred to as “core” tables) or one domain within the company like marketing, growth or finance, etc.</li><li>More often, I have seen core tables being the chosen set, partly because they are the most impactful, but also because there’s often a central data team responsible for maintaining them.</li></ul><p><strong>Step 2: Populate MVP metadata </strong>on these tables.</p><ul><li>This is where most data catalogs fail. In order for users to get value out of them, descriptions, tags, owners, etc. need to be curated. However, this isn’t sustainable without having an army of data stewards, and this documentation quickly becomes out of date. This is the single biggest reason why data catalogs fail. Avoid this pitfall by choosing an automated data catalog for the majority of data and curate only the most impactful data.</li><li>Where you must, for tribal knowledge, it helps to do a “docs jam session” with a group of data producers and consumers. You can even offer a reward (like a gift card) for those that put in the most docs!</li></ul><p><strong>Step 3: Alpha launch </strong>to 5–20 alpha users.</p><ul><li>It’s best for alpha users to be ultra-vocal users. These will be from the prioritized persona you chose earlier. These users will become the data catalog’s avid supporters when you launch to a broader audience.</li><li>Incorporate feedback and iterate. Some types of feedback are super valuable here, like when someone says, “Oh, we already have this metadata in this spreadsheet — we should pull that in here, too.”</li></ul><p><strong>Step 4: Beta launch</strong> to all users of the prioritized persona.</p><ul><li>It’s important to focus your beta launch on your prioritized users (data consumers, for example). One common mistake is to dilute the focus of your launch by opening up to all personas. That doesn’t mean that you should lock out other personas from the data catalog, it just means that you sequence which personas to focus on first.</li><li>Graduate to GA if you can meet success metrics targets. More on that in a later section on measuring success.</li></ul><h3>3. Land for great adoption</h3><p>In order to get great adoption, here are a few best practices I have seen work:</p><ul><li><strong>Update Slack channel headers</strong> where people ask each other questions. Product features can be super helpful here — for example, if your catalog has Slack integration and can link these conversations to the catalog automatically.</li><li><strong>Embed into new hire training.</strong> Tagging data sets per domain (marketing, growth, etc.) can help new hires quickly onboard to their domains. If you have existing training, showcase the catalog as an entry point. At Lyft, we had all tech new hires instrument a metric during onboarding. They used Lyft’s data catalog for discovering and understanding the right data for that task.</li><li><strong>Linkages with other products.</strong> Create links between various data tools. For example, auto-populate a link between Airflow DAG that populates a table and the table page in the data catalog (and vice-versa). Another impactful link is between the table page in the data catalog and a link to the code that is used to generate the table.</li><li><strong>Showcase the catalog at a group or company meeting. </strong>Deliver a short 5-minute demo at an all-hands meeting that targets persona users. Educate, answer questions, and thank your alpha users — it’s super impactful by creating more awareness and an opportunity to learn.</li></ul><h3>4. Measure success</h3><p>Like I said earlier, adoption and customer satisfaction are the only two goals that matter. I dig further into what specific metric definitions to use for each of them:</p><p><strong>1. Adoption:</strong></p><ul><li><strong>WAUs:</strong> I’d suggest starting off with Weekly Active Users (WAUs) instead of Daily Active Users or Monthly Active Users. Common usage frequency is weekly, not daily or monthly.<strong>‍</strong></li><li><strong>Target Penetration rate: 80%.</strong> A great penetration rate is 80% within your target persona.</li></ul><p><strong>2. Customer Satisfaction (CSAT):</strong></p><ul><li><strong>Measure out of band periodically. </strong>In my experience, out of band (not in product), CSAT feedback measured periodically (every 3 or 6 months) is better than getting feedback within the data catalog product. I have learned that when feedback is measured in the product, the most recent experience can tarnish the feedback shared by the user.</li></ul><p>There are a few other metrics that companies often consider: documentation quality, search quality, etc. However, my recommendation is to stick to the core metrics at the onset. As your data catalog matures and you ingest more metadata into your data catalog over time, you can use those specific metrics to track the impact of those various improvements.</p><p>I hope this step-by-step guide helps inform you and your team as you navigate your data catalog install and makes your data catalog successful. The right data catalog can greatly reduce the overhead of curation. However, the above steps still play a huge role in ensuring your success, regardless of the data catalog you choose.</p><p>Want to learn more about Stemma’s fully managed data catalog? Check out the demo and get started on <a href="http://stemma.ai/">stemma.ai</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3df6894f1975" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/how-to-make-your-data-catalog-successful-3df6894f1975">How to Make Your Data Catalog Successful</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Amundsen Monthly Update — May 2021]]></title>
            <link>https://medium.com/amundsen-io/amundsen-monthly-update-may-2021-d384e3d1be50?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/d384e3d1be50</guid>
            <category><![CDATA[metadata]]></category>
            <category><![CDATA[lineage]]></category>
            <category><![CDATA[amundsen]]></category>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[data-discovery]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Wed, 16 Jun 2021 16:29:06 GMT</pubDate>
            <atom:updated>2021-06-16T16:29:06.466Z</atom:updated>
            <content:encoded><![CDATA[<h3>Amundsen Monthly Update — May 2021</h3><p>Why Snap chose Amundsen, dbt integration, lineage graph viz, mono repo, and more!</p><h3>Summary</h3><p>May highlights from the Amundsen community:</p><ul><li>Why Snap chose Amundsen</li><li>dbt ♥ Amundsen</li><li>Lineage graph viz</li><li>One repo to rule them all</li><li>ML feature discovery in Amundsen</li><li>Answer how to best use this table — with queries in Amundsen</li><li>Sydney DataEng meetup</li></ul><p>All that and more details below!</p><p><em>Check out last month’s highlights </em><a href="https://medium.com/amundsen-io/amundsen-monthly-update-april-2021-ab617c20a6d6"><em>here</em></a><em>.</em></p><p><strong>Don’t forget:</strong> Join our Slack community at<a href="http://slack.amundsen.io/"> slack.amundsen.io</a>. We can’t wait to meet you!</p><h3>Why Snap chose Amundsen</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FpGbKzzqFHSM&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DpGbKzzqFHSM&amp;image=http%3A%2F%2Fi.ytimg.com%2Fvi%2FpGbKzzqFHSM%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/fedba6454f5a54609c0d2c51a75bcaf4/href">https://medium.com/media/fedba6454f5a54609c0d2c51a75bcaf4/href</a></iframe><p>This month, we heard from <a href="https://www.linkedin.com/in/justin-jordan-56573382/">Justin Jordan</a>, a developer on Snap’s analytics engineering team, about why his team chose Amundsen and how they use it to solve their problems with data discovery, specifically metrics discovery metadata.</p><p><strong>Problem</strong></p><p>Due to high growth, Snap ran into problems related to metrics discovery. With the number of metrics accelerating every year, it became difficult to know what metrics existed and how to use them. Challenging questions arose: Who owns the metrics? Where are they surfaced? What do they mean? Where is their data stored?</p><p><strong>Solution</strong></p><p>Justin and his team chose Amundsen to build Snap’s metric catalog. This catalog allows teams to search for metrics and definitions. This is a huge step forward — now teams can see all relevant technical and business metadata for their metrics. They can manage the entire metric lifecycle with one source of truth.</p><p>Check out Justin’s presentation below to hear him explain why Amundsen was chosen and what’s next for his team.</p><h3>dbt ♥ Amundsen</h3><p><a href="https://www.getdbt.com/">dbt</a> has enabled thousands of analysts and analytics engineers to transform data in their data warehouse. Many Amundsen users are also heavy dbt users. To that effect, we have built a deep integration with dbt ingesting rich metadata like lineage, tags, and descriptions from dbt into Amundsen.</p><p>Thanks to contributions from <a href="https://www.linkedin.com/in/grant-seward-23bb88ab/">Grant Seward</a>, Amundsen now integrates with dbt’s core metadata. There’s still a lot to be done here. Join <a href="http://slack.amundsen.io/">Amundsen Slack</a> — we’d love your feedback.</p><h3>Lineage Graph Viz</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cM-QqCUBZL22c4tXUIWWBA.png" /><figcaption>Graph Visualization design</figcaption></figure><p>Amundsen already has support for lineage. However, the default way of viewing lineage thus far was a list-based view, which includes downstream and upstream tabs. Amundsen has been working on a graphical view of lineage. Thanks to <a href="https://www.linkedin.com/in/knowlbaek/">Knowl Baek</a> for designs and to <a href="https://www.linkedin.com/in/verdan/">Verdan Mahmood</a> for building the first beta version of the graph viz.</p><p>Amundsen lineage currently supports Neo4j proxy and support for Atlas proxy is coming soon.</p><p>We also want to highlight a common question from the community — <em>how do you enable lineage on the front end?</em> Verdan provides the answer in our community meeting recording<a href="https://www.youtube.com/watch?v=pGbKzzqFHSM"> here</a>.</p><h3>One repo to rule them all</h3><p>As you know, Amundsen has a microservice-based architecture. For more flexibility, we started with one code repo for each of the four services — frontend service, metadata service, search service, and databuilder (which is a library not a service, but you get the idea). We learned from community and developer feedback that having different code repositories was a big pain, especially when changes needed to be coordinated across repositories.</p><p>We heard you!</p><p>We decided to move Amundsen code to one repo. If you develop on Amundsen, you should switch all your development to the<a href="https://github.com/amundsen-io/amundsen/tree/main"> new main branch</a>. If you deploy Amundsen, this change doesn’t have much impact on you since the Python packages remain unchanged.</p><h3>ML feature discovery in Amundsen</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XHSAHOIrzJUeWI4HAAyTLQ.png" /><figcaption>Design of Feature page in Amundsen</figcaption></figure><p>It’s happening! For a long time, many of us have wanted to integrate our ML projects in Amundsen. Feature engineering is one of the most time-consuming steps for ML engineers, and Amundsen is here to help. <a href="https://www.linkedin.com/in/allisonsuarez/">Allison Suarez Miranda</a> and <a href="https://www.linkedin.com/in/knowlbaek/">Knowl Baek</a> proposed an RFC for indexing ML projects in Amundsen. The goal is for ML features to be indexed as first-class citizens just like tables, dashboards, and people — providing easy discoverability and ultimately, greater model re-usage and overall productivity.</p><h3>Answer how to best use this table — with queries in Amundsen</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/914/1*e74zL7pS2zXsdkzVO2Vn6w.png" /><figcaption>Proposed model for storing common join conditions</figcaption></figure><p>Another exciting proposal for our roadmap, this time from <a href="https://www.linkedin.com/in/grant-seward-23bb88ab/">Grant Seward</a> — the ability to index queries and their individual components. Queries are one of the most common ways that Amundsen users interact with data. There is a <em>significant</em> amount of latent information that exists within these queries, which can be useful for users to discover. What does indexing queries mean for you? This means Amundsen will be able to answer key questions such as:</p><ul><li>What tables are most commonly joined to this table and how?</li><li>Are there any filters (where clauses) that are always applied when accessing this table?</li><li>What real-world queries are being used on this table?</li><li>What queries are relevant now, given the recent queries that have been executed?</li></ul><p>This will help you discover <em>how to use</em> your data.</p><p><strong>Sydney DataEng meetup</strong></p><p><a href="https://www.linkedin.com/in/peterhanssens/">Peter Hanssens</a> presented at the Sydney DataEng meetup! He spoke about Amundsen/Neptune/CDK. See video below</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FKffMAnKYCRQ&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKffMAnKYCRQ&amp;image=http%3A%2F%2Fi.ytimg.com%2Fvi%2FKffMAnKYCRQ%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/1f6d7989a510cfbfea1178764ee305c5/href">https://medium.com/media/1f6d7989a510cfbfea1178764ee305c5/href</a></iframe><h3>Coming up next…</h3><p><strong>Shared dependencies across microservices</strong></p><p>We’re continuing to work on making Amundsen easy to install and develop. After monorepo, we are working on unifying shared dependencies across various microservices. The goal is to avoid any potential mismatch between libraries shared between frontend, metadata, and search services. You can read more details <a href="https://github.com/amundsen-io/rfcs/pull/38">here</a>.</p><p><strong>Dashboard support in Atlas metadata proxy</strong></p><p>Amundsen was the first data catalog to add support for dashboards — reducing the duplication of analytical work as well as easing with change management. We currently support Tableau, Mode, Redash, and Superset. Dashboards only worked when you used the neo4j backend, we are now working on making dashboards work for Amundsen users who use the Atlas backend.</p><p><strong>Next community meeting</strong></p><ul><li>Date: Thursday, July 1, 9am Pacific, 12pm Eastern, 6pm Central Europe</li><li>Add to your calendar: <a href="https://evt.to/odsidaaw">https://evt.to/odsidaaw</a></li></ul><p><strong>Join us on Slack:</strong><a href="http://slack.amundsen.io/"> slack.amundsen.io</a></p><p><strong>Subscribe for periodic updates:</strong><a href="https://medium.com/amundsen-io"> Medium</a> &amp;<a href="https://twitter.com/amundsenio"> Twitter</a></p><p><em>Curated with ❤ by</em><a href="https://stemma.ai/"><em> Stemma</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d384e3d1be50" width="1" height="1" alt=""><hr><p><a href="https://medium.com/amundsen-io/amundsen-monthly-update-may-2021-d384e3d1be50">Amundsen Monthly Update — May 2021</a> was originally published in <a href="https://medium.com/amundsen-io">amundsen-io</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Stemma: Helping you trust your data]]></title>
            <link>https://medium.com/stemma/stemma-helping-you-trust-your-data-7b5db9c8923c?source=rss-545a3a89c3d0------2</link>
            <guid isPermaLink="false">https://medium.com/p/7b5db9c8923c</guid>
            <category><![CDATA[data-catalog]]></category>
            <category><![CDATA[venture-capital]]></category>
            <category><![CDATA[metadata]]></category>
            <category><![CDATA[data-discovery]]></category>
            <category><![CDATA[open-source]]></category>
            <dc:creator><![CDATA[Mark Grover]]></dc:creator>
            <pubDate>Wed, 02 Jun 2021 15:23:03 GMT</pubDate>
            <atom:updated>2021-06-02T15:23:03.323Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ExUQiMMaMqw7IQQ2bU9E3w.jpeg" /></figure><p>Today, we are excited to announce the launch of <a href="http://stemma.ai/">Stemma</a> — a fully managed data catalog, powered by Amundsen, the leading open-source data catalog with the largest community and broadest adoption. We raised $4.8M in seed funding led by Sequoia to bring the power of the leading open-source data catalog to every organization.</p><h3>The problem: Too much data, too little trust</h3><p>Over the last decade companies have first captured more data and then made it accessible to more and more people within the company.</p><blockquote>Everyone has access to data but few know what exists, what’s trustworthy, and how to use it.</blockquote><p>This leads to a huge productivity loss and a big risk for the company. This problem doesn’t just impact the organization. It’s deeply visceral to data consumers like data analysts, data scientists, and business users and data producers like product and data engineers. It impacts them every day.</p><p>Analysts and Data Scientists deliver inaccurate reports and models because they inadvertently use the wrong source or incorrect logic. Even worse, the data keeps changing underneath them. Data gets delayed, deprecated or completely shut off and analysts and data scientists are the last ones to find out.</p><p>Data Engineers, on the other hand, are constantly bogged down with keeping everyone informed about the current status and upcoming changes to data. Data owners don’t know exactly what and who a change will impact, so they spray and pray. They blast their users with blanket emails that no one reads, let alone remembers.</p><h3>First attempt: Gossip Protocols</h3><p>The first attempt to bring sense to this lack of trust is the natural human response — gossip protocols of Slack and shoulder-tapping.</p><p>You create a Slack channel <em>#ask-analytics</em> where users ask questions like “What is the source of truth for X?”. It may take a few days to get an answer, but over time you get repeat questions. You wish people searched the Slack channel before they asked the same question over and over again.</p><p>It gets worse. Data evolves. And now you wish people would never search the Slack channel, lest they find out-of-date info. You’re thinking about limiting the retention to a couple of weeks.</p><p>But it gets worse. Wrong data leads to wrong conclusions: two different departments show two different forecasts for gross shipments during a board meeting, and suddenly everyone realizes this isn’t working, and something must be done!</p><h3>Second attempt: Curated data catalog</h3><p>The second attempt is to curate and document information about data — descriptions, experts, dependencies, update frequency, foreign keys, sample queries, and the list goes on. You document this either in a wiki or buy a full-blown product that’s simply just a data-aware wiki.</p><p>Sometimes you try to get an army of volunteers to enter documentation into this wiki. If you are lucky, you get the first set of docs in, but it starts rotting the day it’s written because the writing documentation requires the user to leave their existing flow.</p><p>Sometimes, you find someone (aka data steward) whose job it is to ensure this documentation is entered and remains up-to-date. But this doesn’t work because data stewards, while super valuable, don’t have context on all the uses of data, so they end up relying on data experts, bringing us back to the same problem as the army of volunteers.</p><blockquote>Curation doesn’t work.</blockquote><h3>Amundsen — the leading open-source data catalog</h3><p>After experiencing the faults of gossip protocol and curated data catalogs, I co-created Lyft’s data catalog, Amundsen, to solve the challenge of trust in data through automation. Amundsen is widely adopted at Lyft — used by 750 users every week with 75% of Data Analysts, Data Scientists, and Data Engineers using it every week. To this day, Amundsen is the highest-ranked Data &amp; Analytics product at Lyft.</p><p>Amundsen is the leading open-source data catalog with the largest community and adoption. It’s used by 35+ companies today including Square, Instacart, ING, Brex, Asana, iRobot, and many others. You can join Amundsen’s growing community on<a href="http://slack.amundsen.io/"> Slack</a> and read more about the project<a href="http://stemma.ai/oss"> here</a>.</p><p>Today, we are excited to launch Stemma’s product — bringing the power of Amundsen and more to all of you.</p><h3>Stemma — bringing the power of Amundsen to you</h3><p>Stemma is building on top of Amundsen and adds value in two ways: a) enterprise management — super easy deployment with enterprise-grade security. b) intelligence — automated documentation like common filter and join conditions, related Slack conversations, and a personalized experience based on the user’s role and activity.</p><p>We have a lot of exciting stuff coming up and we are going to make Stemma and Amundsen better in a myriad of ways. More on that in a later blog post. Subscribe to our <a href="http://stemma.ai/blog">blog</a> to stay in touch. We’re deeply dedicated to making Amundsen the de-facto choice for anyone who needs a modern data catalog, and to empower organizations to harness its power through the press of a button with Stemma.</p><p><a href="http://linkedin.com/in/dorianj">Dorian</a> and I started Stemma in 2020 to help bring the power of automated data catalog to the market. Today, we are also super excited to announce our <a href="https://techcrunch.com/2021/06/02/stemma-launches-with-4-8m-seed-to-build-managed-data-catalogue/">seed funding from Sequoia</a>.</p><p>Learn more, see our demo, and get started at<a href="http://stemma.ai/"> stemma.ai</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7b5db9c8923c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/stemma/stemma-helping-you-trust-your-data-7b5db9c8923c">Stemma: Helping you trust your data</a> was originally published in <a href="https://medium.com/stemma">Stemma</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>