Ugrás a fő tartalomra

Python pyspark használat és rácsos megjelenítés


Python pyspark használat és rácsos megjelenítés


Ha ki szeretnéd próbálni a pyspark csomagot Google Colab alatt, először telepítened kell a szükséges csomagokat, mivel a pyspark alapból nincs előtelepítve. Az alábbi lépéseket követve futtathatod a pyspark alapvető funkcióit:

1️⃣ Telepítsd a PySpark csomagot:

--python

!pip install pyspark

2️⃣ Importáld a szükséges modulokat és inicializáld a SparkSession-t:

---python

from pyspark.sql import SparkSession # SparkSession létrehozása spark = SparkSession.builder.appName("PySpark_Colab").getOrCreate() # Ellenőrizzük a Spark verzióját print(f"Spark verzió: {spark.version}")

3️⃣ Hozz létre egy DataFrame-et és hajts végre műveleteket:

--- python

from pyspark.sql import Row # Példa adatok létrehozása data = [Row(name="Anna", age=30), Row(name="Béla", age=25), Row(name="Csaba", age=35)] # DataFrame létrehozása df = spark.createDataFrame(data) # Adatok megtekintése df.show()

4️⃣ Alapvető SQL műveletek:

---python

# Regisztráljuk a DataFrame-et SQL táblaként df.createOrReplaceTempView("people") # SQL lekérdezés futtatása result = spark.sql("SELECT * FROM people WHERE age > 28") result.show()

5️⃣ Spark DataFrame transzformációk:

--- python

# Oszlopok kiválasztása és módosítása df.select("name", (df.age + 5).alias("age_plus_5")).show() # Adatok szűrése df.filter(df.age > 28).show() # Adatok rendezése df.orderBy(df.age.desc()).show()

Ezzel a kis példával elindulhatsz a PySpark használatában Colab alatt! Ha további konkrét elemzési feladatokra van szükséged, szólj.


Google Colab esetén az alábbi szebb táblázatos megjelenítéseket lehetőségeket ajánlom


🔹 1️⃣ Pandas használata (toPandas())

A PySpark DataFrame-et Pandas DataFrame-re konvertálhatod, majd megjelenítheted egy jól formázott táblázatként.

-- python

import pandas as pd # PySpark DataFrame -> Pandas DataFrame df_pandas = df.toPandas() # Pandas DataFrame megjelenítése df_pandas

💡 Előny: Szebb táblázat, görgethető, és interaktív Colab alatt.
Hátrány: Ha nagy az adat, akkor ez sok memóriát foglalhat.


🔹 2️⃣ Táblaformázás Styler-rel (pandas.style)

Ha szeretnéd Excel-szerű rácsos formában látni, használhatod a Pandas style opcióit:

---python

df_pandas.style.set_properties(**{'border': '1px solid black', 'color': 'black'})

💡 Előny: Színezést, formázást is beállíthatsz.


🔹 3️⃣ tabulate csomag használata

A tabulate csomag segít szöveges formátumban szép rácsos táblázatokat létrehozni.
Telepítés:

--- python

!pip install tabulate

Használat:

---python

from tabulate import tabulate # PySpark DataFrame -> Pandas DataFrame df_pandas = df.toPandas() # Táblázat szép nyomtatása print(tabulate(df_pandas, headers='keys', tablefmt='grid'))

💡 Előny: Rácsos szép táblázat terminálban is.
Hátrány: Nem interaktív, csak szöveges.


🔹 4️⃣ qgrid - Interaktív táblázat

A qgrid csomag egy interaktív Excel-szerű nézetet ad Pandas DataFrame-ekhez.
Telepítés:

---python

!pip install qgrid

Használat:

---python

import qgrid # PySpark DataFrame -> Pandas DataFrame df_pandas = df.toPandas() # Interaktív táblázat megjelenítése qgrid_widget = qgrid.show_grid(df_pandas, show_toolbar=True) qgrid_widget

💡 Előny: Excel-szerű interaktív görgethető táblázat.
Hátrány: Extra telepítést igényel.


🔹 Melyiket válaszd?

CélAjánlott megoldás
Interaktív táblázatqgrid
Egyszerű Pandas formázás.toPandas()
Szép terminálos táblázattabulate
Egyedi színezés és rácsokpandas.style

Ha egy Excel-szerű, görgethető, interaktív megoldást szeretnél, akkor a qgrid a legjobb választás.
Ha csak szebb Colab-táblázatot szeretnél, akkor a toPandas() a legegyszerűbb megoldás.


A qgrid csomag Google Colabban nem működik natívan, mert az IPython widgetekre épül, amelyeket a Colab nem támogat teljesen.

🚀 Alternatív megoldások interaktív táblázatokhoz Google Colabban

1️⃣ google.colab.data_table - Beépített interaktív tábla (Ajánlott ✅)

Google Colab saját data_table modulja a legjobb választás, mert gyors és natívan támogatott.
Használata:

python

from google.colab import data_table # PySpark DataFrame -> Pandas DataFrame df_pandas = df.toPandas() # Interaktív táblázat megjelenítése data_table.DataTable(df_pandas)

💡 Előny:
✔ Nem kell külön telepítés
✔ Görgethető, interaktív
✔ Excel-szerű oszloprendezés


2️⃣ plotly - Interaktív táblázatok támogatása

Ha vizuális és szép interaktív megoldást szeretnél, a plotly egy másik lehetőség:

---python

import plotly.figure_factory as ff # PySpark DataFrame -> Pandas DataFrame df_pandas = df.toPandas() # Táblázat létrehozása fig = ff.create_table(df_pandas) fig.show()

💡 Előny:
✔ Szép megjelenés
✔ Interaktív, görgethető


3️⃣ ipywidgets + pandas - Görgethető táblázat

---python

import pandas as pd import ipywidgets as widgets from IPython.display import display # PySpark DataFrame -> Pandas DataFrame df_pandas = df.toPandas() # Interaktív widget létrehozása out = widgets.Output() with out: display(df_pandas) # Görgethető táblázat scrollable_box = widgets.VBox([out], layout=widgets.Layout(height='300px', overflow_y='scroll')) display(scrollable_box)

💡 Előny:
✔ Scrollolható, ha sok adat van


🔥 Összegzés: Mit válassz?

MódszerMűködik Colabban?Interaktív?Telepítés kell?Ajánlás
qgrid❌ Nem működik❌ NemIgen
data_table✅ Igen✅ Igen❌ Nem✅ (Ajánlott)
plotly✅ Igen✅ Igen❌ Nem👍 Szép táblázatokhoz
ipywidgets✅ Igen⚠️ Korlátozott❌ Nem👍 Görgethető megoldáshoz

🚀 Ha gyors és natív megoldás kell, próbáld ki a data_table-t!

Ha vizuálisan szép táblázatot szeretnél, akkor a plotly is jó választás. 









Megjegyzések