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él | Ajánlott megoldás |
|---|---|
| Interaktív táblázat | qgrid |
| Egyszerű Pandas formázás | .toPandas() |
| Szép terminálos táblázat | tabulate |
| Egyedi színezés és rácsok | pandas.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ódszer | Működik Colabban? | Interaktív? | Telepítés kell? | Ajánlás |
|---|---|---|---|---|
qgrid | ❌ Nem működik | ❌ Nem | Igen | ❌ |
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.
- Link lekérése
- X
- Más alkalmazások
Címkék
python- Link lekérése
- X
- Más alkalmazások
Megjegyzések
Megjegyzés küldése