Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Databricks Runtime a pandas-t a standard Python csomagok egyikeként tartalmazza, lehetővé téve a pandas DataFrame-ek létrehozását és felhasználását a Databricks jegyzetfüzetekben és feladatokban.
A Databricks Runtime 10.4 LTS és újabb verzióiban a Sparkon futó Pandas API ismerős pandas-parancsokat biztosít a PySpark DataFrame-ek tetején. DataFrame-eket a pandas és a PySpark között is konvertálhat.
Az Apache Spark magában foglalja a Python-logika nyilat optimalizált végrehajtását pandas függvény API-k formájában, amelyek lehetővé teszik a felhasználók számára, hogy pandas-átalakításokat alkalmazzanak közvetlenül a PySpark DataFrame-ekre. Az Apache Spark támogatja a pandas UDF-eket is, amelyek hasonló Arrow-optimalizációkat használ, a Pythonban definiált önkényes felhasználói függvények esetében.
Hol tárol adatokat a pandas az Azure Databricksben?
A pandas használatával számos különböző helyen tárolhat adatokat az Azure Databricksben. Az adatok egyes helyekről való tárolásának és betöltésének lehetősége a munkaterület rendszergazdái által beállított konfigurációktól függ.
Feljegyzés
A Databricks azt javasolja, hogy a produkciós adatokat felhőalapú tárhelyen tárolják. Lásd : Csatlakozás az Azure Data Lake Storage-hoz és a Blob Storage-hoz.
Ha unitykatalógus-kompatibilis munkaterületen tartózkodik, külső helyeken is hozzáférhet a felhőbeli tárolókhoz. Lásd a külső helyek áttekintését.
A gyors feltáráshoz és a bizalmas adatok nélküli adatokhoz biztonságosan mentheti az adatokat relatív elérési utak vagy a DBFS használatával, ahogyan az alábbi példákban is látható:
import pandas as pd
df = pd.DataFrame([["a", 1], ["b", 2], ["c", 3]])
df.to_csv("./relative_path_test.csv")
df.to_csv("/dbfs/dbfs_test.csv")
A dbFS-be írt fájlokat a %fs magic paranccsal ismerheti meg, ahogyan az alábbi példában is látható. Vegye figyelembe, hogy a /dbfs címtár a parancsok gyökérútvonala.
%fs ls
Amikor relatív elérési útra menti a fájlt, annak helye attól függ, hol futtatja a kódot. Ha Databricks-jegyzetfüzetet használ, az adatfájlt a fürt vezérlőjéhez csatolt kötettárolóba menti. Az ezen a helyen tárolt adatok véglegesen törlődnek a klaszter leállásakor. Ha a Databricks Git-mappákat tetszőleges fájltámogatással támogatja, az adatok az aktuális projekt gyökeréhez lesznek mentve. Mindkét esetben megvizsgálhatja a magic paranccsal írt %sh fájlokat, amelyek lehetővé teszik az egyszerű bash-műveleteket az aktuális gyökérkönyvtárhoz képest, ahogyan az alábbi példában is látható:
%sh ls
További információ arról, hogy az Azure Databricks hogyan tárolja a különböző fájlokat: Fájlok használata az Azure Databricksben.
Hogyan tölthet be adatokat a pandas használatával az Azure Databricksben?
Az Azure Databricks számos lehetőséget kínál az adatok munkaterületre való feltöltésének megkönnyítésére a feltáráshoz. Az adatok pandassal való betöltésének előnyben részesített módja attól függően változik, hogy hogyan tölti be az adatokat a munkaterületre.
Ha a helyi gépen a jegyzetfüzetek mellett kis adatfájlokat is tárol, a Git-mappákkal együtt feltöltheti az adatokat és a kódot. Ezután relatív elérési utakkal tölthet be adatfájlokat.
Az Azure Databricks széles körű felhasználói felületi lehetőségeket biztosít az adatbetöltéshez. A legtöbb beállítás Delta-táblákként tárolja az adatokat. beolvashat egy Delta-táblát egy Spark DataFrame-be, majd konvertálhatja egy pandas DataFrame-é.
Ha dbFS-sel vagy relatív elérési utakkal mentette az adatfájlokat, a DBFS vagy a relatív elérési utak használatával újra betöltheti ezeket az adatfájlokat. Az alábbi kód egy példát mutat be:
import pandas as pd
df = pd.read_csv("./relative_path_test.csv")
df = pd.read_csv("/dbfs/dbfs_test.csv")
Az adatokat közvetlenül a Azure Data Lake Storage-ből töltheti be a pandas könyvtár és egy teljes hivatkozású URL segítségével. A felhőbeli adatok eléréséhez meg kell adnia a felhőbeli hitelesítő adatokat. A Python csomagokat fsspec és adlfs is telepíteni kell.
df = pd.read_csv(
f"abfss://{container}@{storage_account}.dfs.core.windows.net/{file_path}",
storage_options={
"sas_token": sas_token_value
}
)