Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Фільтрація та Вибірка Даних за Допомогою SQL | Робота з Даними
Databricks: Основи для Початківців

Фільтрація та Вибірка Даних за Допомогою SQL

Свайпніть щоб показати меню

Note
Визначення

Тимчасове представлення — це псевдонім DataFrame з обмеженням на сесію, який дозволяє взаємодіяти з вашими даними за допомогою стандартного синтаксису SQL. Дані не переміщуються і не дублюються; це лише SQL-дружнє «вікно» до DataFrame, що знаходиться в пам'яті кластера.

Хоча Python чудово підходить для створення складних конвеєрів, багато спеціалістів з даних віддають перевагу читабельності та швидкості SQL для фільтрації та вибору даних. У Databricks не потрібно обирати лише один підхід. Ви можете перетворити DataFrame з Python у тимчасову SQL-таблицю ("view") та одразу почати виконувати до неї запити.

Створення тимчасового представлення

Перш ніж виконувати SQL-запит до DataFrame, необхідно надати йому ім'я, яке SQL-движок зможе розпізнати. Це можна зробити за допомогою методу createOrReplaceTempView.

# Create a SQL view named 'diamond_view' from our existing DataFrame
df.createOrReplaceTempView("diamond_view")

Частина команди "Replace" є важливою: вона гарантує, що при повторному запуску комірки представлення просто оновиться, а не викличе помилку. Це представлення існуватиме лише протягом поточної сесії вашого блокнота.

Запити з використанням %sql Magic

Після реєстрації представлення можна змінити мову. Використовуючи команду magic %sql на початку нової комірки, можна виконувати ті ж самі вибірки та фільтрації, що й у Python, але використовуючи стандартний SQL-синтаксис.

%sql
SELECT carat, cut, depth
FROM diamond_view
WHERE price > 500

Потужність фільтрації в SQL

SQL особливо зручна для складної фільтрації. Можна використовувати оператор IN для фільтрації за кількома значеннями або оператор LIKE для пошуку за шаблоном — завдання, які часто є більш багатослівними в Python.

%sql
SELECT * FROM diamond_view
WHERE cut IN ('Good', 'Premium')
  AND clarity LIKE '%V%'

Вибір і перейменування стовпців

У SQL вибір і перейменування стовпців здійснюється просто за допомогою ключового слова AS. Це поширена практика для надання заголовкам фінального звіту більш професійного вигляду.

%sql
SELECT 
  carat, 
  cut AS Diamond_Quality, 
  price AS Selling_Price
FROM diamond_view

Чому використовувати тимчасове подання?

Можна запитати: «Чому просто не виконати запит до таблиці безпосередньо з каталогу?» Перевага тимчасового подання полягає в тому, що воно дозволяє виконувати запити до DataFrame, який вже частково очищено або змінено в Python. Це створює міст між Python, який використовується для складної обробки даних, і SQL, який застосовується для фінального аналізу та візуалізації.

1. Який метод Python потрібно виконати перед тим, як використовувати %sql для запиту до DataFrame?

2. Що відбувається з "Тимчасовим представленням" після від'єднання блокнота від кластера або завершення сесії?

question mark

Який метод Python потрібно виконати перед тим, як використовувати %sql для запиту до DataFrame?

Виберіть правильну відповідь

question mark

Що відбувається з "Тимчасовим представленням" після від'єднання блокнота від кластера або завершення сесії?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 5
some-alt