<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data Engineering on jason grey</title><link>https://jason-grey.com/tags/data-engineering/</link><description>Recent content in Data Engineering on jason grey</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 13 Mar 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://jason-grey.com/tags/data-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Scaling Airflow Dataset Scheduling: Lessons from Common Crawl</title><link>https://jason-grey.com/posts/2025/airflow-at-scale/</link><pubDate>Thu, 13 Mar 2025 00:00:00 +0000</pubDate><guid>https://jason-grey.com/posts/2025/airflow-at-scale/</guid><description>&lt;h1 id="scaling-airflow-dataset-scheduling-lessons-from-common-crawl"&gt;
 Scaling Airflow Dataset Scheduling: Lessons from Common Crawl
 &lt;a class="heading-link" href="#scaling-airflow-dataset-scheduling-lessons-from-common-crawl"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Since joining &lt;a href="https://www.commoncrawl.org/" class="external-link" target="_blank" rel="noopener"&gt;Common Crawl&lt;/a&gt;, I&amp;rsquo;ve been involved with a number of activities revolving around indexing and cataloging the integrity of our data. To coordinate these activites, and to be able to re-run them upon dataset changes, I decided to give Airflow a try. The introduction of dataset-based scheduling in Airflow 2.4 seemed attractive, but it also comes with interesting challenges when working at our scale.&lt;/p&gt;</description></item><item><title>Launch of open source tool: gzinspector</title><link>https://jason-grey.com/posts/2024/gzinspector/</link><pubDate>Fri, 15 Nov 2024 00:00:00 +0000</pubDate><guid>https://jason-grey.com/posts/2024/gzinspector/</guid><description>&lt;p&gt;I published an open source tool &amp;ldquo;&lt;a href="https://github.com/jt55401/gzinspector" class="external-link" target="_blank" rel="noopener"&gt;gzinspector&lt;/a&gt;&amp;rdquo; to inspect gzip streams - specifically those encoded with many chunks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A robust command-line tool for inspecting and analyzing GZIP/ZLIB compressed files. GZInspector provides detailed information about compression chunks, headers, and content previews with support for both human-readable and JSON output formats.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I did this due to the work I&amp;rsquo;ve been doing for &lt;a href="https://commoncrawl.org/" class="external-link" target="_blank" rel="noopener"&gt;CommonCrawl&lt;/a&gt; - specifically around processing &amp;ldquo;&lt;a href="https://github.com/webrecorder/pywb/wiki/CDX-Index-Format#zipnum-sharded-cdx" class="external-link" target="_blank" rel="noopener"&gt;ZipNum&lt;/a&gt;&amp;rdquo; format &lt;a href="https://github.com/webrecorder/cdxj-indexer" class="external-link" target="_blank" rel="noopener"&gt;CDXJ&lt;/a&gt; indexes.&lt;/p&gt;
&lt;p&gt;If you find it useful, let me know (reach out or star it on github.)&lt;/p&gt;</description></item><item><title>Common Crawl Contributions</title><link>https://jason-grey.com/posts/2024/commoncrawl/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><guid>https://jason-grey.com/posts/2024/commoncrawl/</guid><description>&lt;p&gt;I&amp;rsquo;ve been doing public and private work on &lt;a href="https://commoncrawl.org" class="external-link" target="_blank" rel="noopener"&gt;Common Crawl&lt;/a&gt; — the open repository of web crawl data that underpins a huge amount of research and AI training.&lt;/p&gt;
&lt;p&gt;Two specific contributions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/commoncrawl/cc-pyspark" class="external-link" target="_blank" rel="noopener"&gt;cc-pyspark&lt;/a&gt;&lt;/strong&gt; — Added support for file-wise processing, enabling more efficient batch operations on the crawl corpus.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/commoncrawl/webarchive-indexing" class="external-link" target="_blank" rel="noopener"&gt;webarchive-indexing&lt;/a&gt;&lt;/strong&gt; — Migrated legacy mrjob tasks to modern Spark jobs to process 9PB+ of crawl data.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>