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