Завантаження Даних з Файлу у DataFrame
Свайпніть щоб показати меню
Об'єкт spark.read є точкою входу для зчитування зовнішніх даних у Spark DataFrame. Він підтримує різні формати файлів, зокрема CSV, JSON, Parquet та Delta, і дозволяє визначати, як Spark має інтерпретувати файли.
У розділі 2 ви завантажили CSV-файл у середовище Databricks. Тепер ви дізнаєтеся, як "підняти" цей файл із сховища та завантажити його в пам'ять кластера як DataFrame за допомогою Python. Це перший крок майже в кожному пайплайні обробки даних.
Синтаксис spark.read
Щоб завантажити файл, використовується певний ланцюжок команд. Базова структура виглядає так:
df = spark.read.format("csv").option("header", "true").load("path/to/file")
- format: вказує Spark тип файлу (csv, json, parquet);
- option("header", "true"): вказує Spark використовувати перший рядок файлу як назви стовпців;
- load: конкретне розташування файлу у Databricks.
Визначення схеми
За замовчуванням Spark вважає, що кожен стовпець у CSV є рядком (текстом). Щоб зробити дані більш корисними, додаємо ще одну опцію: .option("inferSchema", "true"). Коли ця опція увімкнена, Spark швидко переглядає дані та автоматично визначає, які стовпці є цілими числами, десятковими або булевими значеннями. Це позбавляє вас необхідності вручну задавати типи даних.
Визначення шляху до файлу
Для зчитування файлу необхідно знати його шлях. У вкладці Catalog або Workspace можна знайти завантажений файл, натиснути на три крапки (еліпсис) поруч із ним і вибрати "Copy path". У сучасному Databricks, якщо файл було завантажено через інтерфейс Data Ingestion, як у розділі 2.6, дані вже збережені як таблиця, яку можна зчитати за допомогою:
df = spark.read.table("main.default.sample_sales_records")
Однак, якщо ви зчитуєте сирий файл безпосередньо з Volume, потрібно використовувати шлях до файлу:
df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my_volume/sales_data.csv")
Перевірка завантаження
Після виконання команди завантаження рекомендується перевірити дані. Необхідно одразу після команди читання виконати: display(df)
Це підтверджує, що дані були коректно завантажені в пам'ять кластера, заголовки знаходяться на своїх місцях, а типи даних виглядають правильно. На цьому етапі дані знаходяться у тимчасовому об'єкті під назвою df, і ви готові розпочати їх трансформацію.
1. Чому варто використовувати налаштування .option("inferSchema", "true") при читанні CSV?
2. Яка команда використовується для завантаження наявної таблиці з каталогу у Python DataFrame?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат