• Przejdź do treści
  • Przejdź to drugiego menu
  • Przejdź do głównego paska bocznego
  • Przejdź do stopki
  • START
  • BLOG
  • NEWSLETTER
  • KIM JESTEM
  • KONTAKT
Cegładanych

Cegładanych

Dane - Databricks i Chmura Azura

  • Azure
  • Databricks
  • Spark
  • Etl
  • Engineering
  • AI

Parametryzacja SQL i coś o przyszłości ⌚

23.11.2024 Krzysztof Nojman

PYTHON NA STERYDACH – POLARS

W ostatnim wydaniu pisałem o Pandas UDF w kontekście typów danych. Jeden z czytelników dał mi znać o ciekawej bibliotece z super szybkim Pytonem. 🐍 (tutaj powinien wrzucić ikonę Monty Python ale takiej nie ma więc wrzucam poniżej zdjęcie, jeśli lubisz angielski humor to się uśmiejesz, Polecam 😁)Jak piszą na Github: Polars: Blazingly fast DataFrames in Rust, Python, Node.js, R and SQLPolars to interfejs DataFrame na bazie OLAP Query Engine, zaimplementowany w języku Rust przy użyciu formatu kolumnowego Apache Arrow jako modelu pamięci. W obecnym projekcie mamy problem z osiągami Pandasów, pozdrawiam wszystkich ML-owców, którzy nie są w stanie wszystkiego zrobić na Sparku i muszą się posiłkować Pandasami. Może Polars pomoże.

Dzięki za tip Bartosz
Python Polars: A Lightning-Fast DataFrame Library
Pandas vs Polars – Speed Comparison
Polars: The Super Fast Dataframe Library for Python … bye bye Pandas
PARAMETRYZOWANY SQL

Jeśli do tej pory używałeś f stringów w Pythonie żeby pisać dynamiczne zapytania, to jest coś co może upiększyć twój kod. 
Bardzo często trzeba zrobić coś dynamicznie na podstawie parametrów. Parametry te mogą pochodzić z procesu, poprzedzającego wywołanie np. notatnika bądź z konfiguracji. W takich scenariuszach ta funkcjonalność będzie jak znalazł.Jak to działaZapytanie SQL zawiera opcjonalną listę parametrów w postaci klucz/wartość.Apache Spark analizuje zapytanie SQL i zamienia odwołania do parametrów na odpowiadające im sparsowane węzły drzewa (tree nodes).Podczas analizy uruchamiana jest reguła Catalyst, która zamienia te odwołania na dostarczone wartości parametrów.Takie podejście chroni przed atakami SQL Injection, ponieważ obsługuje tylko wartości literalne.Przykładquery = "SELECT item, sum(amount) from some_purchases group by item having item = :item" spark.sql( query, args={"item": "socks"}, ).show()
Parameterized queries with PySpark
Parameter markersUnnamed parameter markers

W kategorii:Newsletter

Big Data ebook
Subskrybuj
Powiadom o
guest

guest

0 Komentarze
Najstarsze
Najnowsze Najwięcej głosów
Opinie w linii
Zobacz wszystkie komentarze

Pierwszy panel boczny

O MNIE

Narzędzia i dobre procesy do przetwarzania danych to podstawa sukcesu i wartości dla firmy. Czytaj więcej…

big data ebook

Ostatnie wpisy

spark joins

Jak Spark robi join?

13.01.2025 By Krzysztof Nojman

Czy JSON to samo zło

04.01.2025 By Krzysztof Nojman

VS Code nowości AI 

09.12.2024 By Krzysztof Nojman

Linki społecznościowe

  • Facebook
  • GitHub
  • LinkedIn
  • YouTube

Wyszukiwanie

Footer

Najnowsze wpisy

  • Jakość danych w Databricks DQX
  • Jak Spark robi join?
  • Czy JSON to samo zło
  • VS Code nowości AI 
  • Lista narzędzi AI dla każdego inżyniera, które warto znać
  • Kilka pomysłów na konfigurację Databricks
  • Co pamięta wykonawca (executor🧠)

Tagi

AI Apache Spark Architektura Azure BIg Data Certyfikat cloud Databricks Data Factory Dataframe DQX ETL Hurtownia Danych Intellij IoT Jaka technologia Join Kod Konfiguracja lakehouse Narzędzia Optymalizacja pyspark Spark Windows 10 zadania

Informacje Prawne

To jest nudna część lecz wymagana, wszystkie notki prawne o stronie znajdziecie tutaj.

Polityka Prywatności

Regulamin

Copyright © 2025 · Wszelkie prawa zastrzeżone. Krzysztof Nojman

wpDiscuz