TGViewer
Я – Дата Инженер | Евгений Виндюков Я – Дата Инженер | Евгений Виндюков @halltape_data · 5.92K subscribers
Post #801 3.4K
500_2000s.csv341.9 KB
📊 Мне друг подкинул интересную задачу

Объединение ДАМПОВ ДАННЫХ Discogs (Releases + Labels)

В чем сложность?
Есть два датасета: релизы и лейблы (Оба в формате XML).

Один весит 60Гб. Другой 400Мб.
Локально обработать 400Мб не проблема — это изи. А вот распарсить 60Гб и вытянуть оттуда только нужны период — хард задача.

Что нужно сделать:
1. Взять данные по релизам за последние 1.5–2 года
2. Сделать JOIN двух таблиц по названию лейбла (или по id)

В чем смысл?
В таблице releases (60Гб) надо взять названия лейблов, которые делали релизы за последние 2 года. Склеить их со справочной информацией из labels. Джойнить по id или по названию (выбрать ключ самостоятельно).

Датасеты (XML):
• Labels: https://data.discogs.com/?download=data%2F2026%2Fdiscogs_20260301_labels.xml.gz
• Releases: https://data.discogs.com/?download=data%2F2026%2Fdiscogs_20260301_releases.xml.gz

(Также есть семпл релизов во вложении — можно использовать для первичной проверки)

Я планирую сегодня попробовать это все локально обработать. Спарк с моими 8-ми ядрами за минут 30-40 проходит. Но проблема в том, что трудно выцепить именно данные за определенный промежуток. Вот думаю.. возможно можно как-то обойти..


Пример чтения XML через PySpark:

import os
from pyspark.sql import SparkSession

spark = SparkSession.builder \
.appName("SparkExample") \
.config(
"spark.jars.packages",
"com.databricks:spark-xml_2.12:0.18.0"
) \
.getOrCreate()

from pyspark.sql.functions import max

df = (
spark.read
.format("xml")
.option("rowTag", "label")
.load("discogs_20260301_labels.xml")
)

df.show()


Кто че думает? Какими инструментами бы обработали?

✅Update:
витрину построили! Добавлю эту задачу в BootCamp!
  • ❤ 8
  • 👍 5
  • 🔥 3
More from @halltape_data
  1. Oct 1, 202610 вопросов по SQL для дата инженера https://www.threads.com/share/_vojZtIpk/ Этот пост на…
  2. Sep 27, 2026Собес на 320к на руки на Дата Инженера! ▶️ https://youtu.be/lZKqJ978e1I Выложил собес. Все…
  3. Sep 26, 2026Накрутчики! Написал в Threads пост о том, как расти в ЗП в ДЕ. В комменты пришел человек,…
  4. Sep 25, 2026Это последний поток BootCamp. ВСЁ. После Нового года мы будем поднимать цену. Поэтому нояб…
  5. Sep 23, 2026Если тебе до 25 и ты уже в IT В промежутке между 17 и 23 годами я учился на инженера в уни…
  6. Sep 20, 2026Собес на Дата Инженера + Лайвкодинг! (Middle) ▶️ https://youtu.be/fypWIMVBKxg На самом дел…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →