Aby rozpocząć pisanie notebooków, najpierw musimy utworzyć klaster (moc obliczeniowa, do klastra możemy dodawać notebooki, biblioteki, ustawienia) lub podłączyć go do istniejącego.
Domyślnym językiem programowania jest Python.
Załóżmy że pobraliśmy sobie dane do dataframe:
df = spark.read.csv(f"wasbs://{container_name}@{storage_account_name}.blob.core.windows.net/azure/sales_2021.csv", header=True)
Wygodniej jednak pisze się nam w SQL-u. Aby to zrobić musimy zamienić dataframe na widok i użyć tzw. magicznej komendy %sql:
df.createOrReplaceTempView("sales_sql")
%sql
create or replace temp view sales_sql_temp as select * from sales_sql where Customer_ID = 'CUS4952';
create or replace temp view sales_sql_temp2 as select * from sales_sql where Region='Brandenburg';
create or replace temp view sales_sql_temp3 as select t1.* from sales_sql_temp t1 inner join sales_sql_temp2 t2 on t1.customer_id=t2.customer_id;
select * from sales_sql_temp3
Aby zamienić widok na dataframe:
df=spark.sql(""" select * from sales_sql_temp3 """ )
Operacje na dataframe:
df =df.filter(df["Category"] == "Juices") \
.groupBy("Customer_Type") \
.agg({"Total_Price": "sum"}) \
.withColumnRenamed("sum(OrderAmount)", "TotalOrderAmount") \
.orderBy("Customer_Type", ascending=False)
W ramach jednego notebooka można uruchamiać kod pisany w różnych językach programowania. Jest to niezwykle użyteczna właściwość notebooków w Databricks