Databricks: Jak pobrać definicję tabel i widoków?

Problem
Przeprowadzasz audyt istniejącego rozwiązania zbudowanego w oparciu o Databricks i Sparka.
Dla potrzeb budowy nowego modułu potrzebujesz sprawdzić, gdzie w widokach jest odwołanie do tabeli, którą będziesz zmieniał. Masz nieodparte wrażenie, że development został wykonany w sposób niechlujny i w notebookach nie ma wszystkiego. Część została zrobiona i potem zapomniana.
Potrzebujesz wydobyć definicję tabel i widoków zapisaną w hive metastore.

Rozwiązanie
Użyj polecenia

SHOW CREATE TABLE

Generuje ono skrypt SQL z definicją tabeli lub widoku.
Potrzeba trochę ulepszyć tą metodę. Ona zwraca definicję dla jednej tabeli i widoku. W naszej bazie jest tych tabel i widoków 100+.
Wykorzystamy SHOW VIEWS i SHOW TABLE i zautomatyzujemy sobie pracę. Na koniec zapiszemy wszystko do tabeli.

Read More

Databricks: IllegalStateException

Databricks: IllegalStateException

Problem:

Odpytując tabelę w Databricks dostajesz błąd

Error in SQL statement: IllegalStateException: Couldn’t find description#1350 in [id#1348,name#1349]
com.databricks.backend.common.rpc.SparkDriverExceptions$SQLExecutionException: java.lang.IllegalStateException: Couldn’t find description#1350 in [id#1348,name#1349]

Rozwiązanie:

Jedna z kolumn, które odpytujesz ma typ void. Dwie możliwości, naprawy:
1. Unikać w zapytaniu kolumn, które mają typ void i wybierać w zapytaniu tylko te kolumny, który mają zdefiniowany typ inny niż void.
2. Zdefiniować tabelę na nowo i zamiast typu void wstawić oczekiwany typ.

Pierwsza z propozycji jest tymczasowa i nie rozwiązuje problemu tylko umożliwia jego pominięcie. Druga propozycja rozwiązuje problem i to jest rekomendowane rozwiązanie.

Read More

Databricks job aborted

databricks job aborted

Problem

Ładujesz dane do Databricks. Skrypt uruchamiałeś już dziesiątki razy. Tym razem jednak dostałeś komunikat: „Job aborted”. To jest główny, podobno najbardziej znaczący komunikat błędu.

Próbujesz ponownego uruchomienia? Dzwonisz do wsparcia technicznego?

Jakie rozwiązania możesz zaproponować?

Propozycje rozwiązań

Co można zasugerować do puli rozwiązań?
– Klaster znalazł się w nieokreślonym stanie i wymaga restartu?
– Pliki Delta stały się nieczytelne, zostały zniszczone, uszkodzone lub nie ma do nich dostępu
– Zabrakło pamięci na przetwarzanie
– Zmiany w danych spowodowały, że job został anulowany

Read More

Zwinna hurtownia danych

zwinna hurtownia danych

Przenosząc rozwiązanie hurtowni danych do chmury, masz gotowy ból głowy.

Jak się odnaleźć w nowym środowisku? Jak dostarczyć tam dane? Jaką usługę wybrać? Jak przechowywać dane? Jak przetwarzać dane? Jak ustawić model dostępu do danych?

I jeszcze jedno wielkie pytanie:

Jak nie zbankrutować?

W niektórych przypadkach rozwiązaniem jest zwinna hurtownia danych.

Zwinna hurtownia danych to taka, która nie opiera się o bazę danych. Dane przechowuje w systemie plików, może to być na przykład Data Lake w chmurze (np. Azure Data Lake Gen 2 [nazewnictwo aktualne na kwiecień 2022]).

Zdecydowaną zaletą takiego rozwiązania jest niska cena.

Jak określić, czy taka hurtownia będzie dobra właśnie dla Ciebie?

Read More