Запис Оброблених Даних у Таблицю
Свайпніть щоб показати меню
Запис даних — це процес переміщення DataFrame з тимчасової пам'яті кластера до постійного сховища в Catalog. Використовуючи метод saveAsTable(), ви гарантуєте, що ваші очищені та агреговані результати збережені та доступні для інших користувачів і інструментів.
Усе, що ви робили до цього моменту, виконувалося "в пам'яті". Якщо зараз вимкнути кластер, ваші перетворені DataFrame зникнуть. Щоб зробити вашу роботу постійною, необхідно записати дані назад у Lakehouse. У Databricks стандартним способом є збереження DataFrame як Delta Table.
Синтаксис saveAsTable()
Щоб зберегти вашу роботу, додайте метод write до вашого DataFrame. Найпростіший підхід виглядає так:
# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
- write: доступ до інтерфейсу запису DataFrame;
- mode("overwrite"): вказує Databricks, що робити, якщо таблиця з такою назвою вже існує. "Overwrite" замінює старі дані новими. Інші варіанти включають "append" (додавання нових рядків до кінця існуючої таблиці);
- saveAsTable: визначає трикомпонентну назву (
catalog.schema.table), де будуть збережені дані.
Delta Lake: формат за замовчуванням
Під час використання saveAsTable Databricks автоматично зберігає дані у форматі Delta. Як було розглянуто в Розділі 1, Delta Lake забезпечує надійність. Це гарантує, що навіть якщо кластер аварійно завершить роботу під час операції "write", ваша таблиця не буде пошкоджена. Також підтримується функція "Time Travel", яка дозволяє переглядати попередні версії таблиці у разі помилки.
Перевірка запису в каталозі
Після завершення виконання команди слід переконатися, що дані були успішно збережені:
- Перейдіть на вкладку Catalog у лівій бічній панелі;
- Перейдіть до каталогу
mainі схемиdefault; - Знайдіть назву вашої нової таблиці (наприклад,
regional_summary); - Ви можете натиснути на таблицю, щоб переглянути її схему, зразки даних і метадані, такі як дата створення та автор створення.
Читання збереженої таблиці
Після додавання таблиці до Catalog будь-який авторизований користувач може отримати до неї доступ без вашого ноутбука. Для цього достатньо виконати SQL-запит або скористатися spark.table(), щоб завантажити таблицю у власне середовище:
# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")
Найкраща практика: очищення
Після збереження фінальних результатів у постійній таблиці професійною звичкою є завершення роботи кластера або принаймні "Очищення стану". Оскільки ваші дані тепер надійно збережені в Catalog, більше немає потреби тримати тимчасові DataFrame, які займають місце в оперативній пам'яті кластера.
1. Який режим "mode" слід використовувати, якщо потрібно замінити існуючу таблицю новими даними з вашого DataFrame?
2. Яка основна перевага збереження DataFrame за допомогою saveAsTable()?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат