Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I Databricks Runtime ingår Pandas som ett av Python-standardpaketen, så att du kan skapa och använda Pandas DataFrames i anteckningsböcker och jobb i Databricks.
I Databricks Runtime 10.4 LTS och senare tillhandahåller Pandas API på Spark välbekanta Pandas-kommandon ovanpå PySpark DataFrames. Du kan också omvandla DataFrames mellan Pandas och PySpark.
Apache Spark innehåller piloptimerad körning av Python-logik i form av PANDAS-funktions-API:er, som gör det möjligt för användare att tillämpa Pandas-transformeringar direkt på PySpark DataFrames. Apache Spark har också stöd för Pandas UDF:er, som använder liknande piloptimeringar för godtyckliga användarfunktioner som definieras i Python.
Var lagrar Pandas data på Azure Databricks?
Du kan använda Pandas för att lagra data på många olika platser i Azure Databricks. Din möjlighet att lagra och läsa in data från vissa platser beror på konfigurationer som angetts av arbetsyteadministratörer.
Anteckning
Databricks rekommenderar att du lagrar produktionsdata på molnobjektlagring. Se Anslut till Azure Data Lake Storage och Blob Storage.
Om du befinner dig i en Unity Catalog-aktiverad arbetsyta kan du komma åt molnlagring med externa lagringsplatser. Se Översikt över externa platser.
För snabb utforskning och data utan känslig information kan du spara data med hjälp av Unity Catalog-volymer eller relativa vägar, som i följande exempel.
import pandas as pd
df = pd.DataFrame([["a", 1], ["b", 2], ["c", 3]])
df.to_csv("/Volumes/my_catalog/my_schema/my_volume/volume_test.csv")
df.to_csv("./relative_path_test.csv")
df.to_csv("/dbfs/tmp/dbfs_test.csv") # DBFS is deprecated.
Du kan utforska filer skrivna till en volym med magikommandot %fs :
%fs ls /Volumes/my_catalog/my_schema/my_volume
Anteckning
Om du använder beräkningsresurser som fortfarande stöder DBFS, observera att pandas använder sökvägar i POSIX-stil, till exempel /dbfs/..., och inte kan läsa dbfs:/...-sökvägar direkt. Om du vill läsa en DBFS-fil med pandas i beräkning som har stöd för DBFS FUSE ersätter du schemat dbfs:/ med /dbfs/.
När du sparar till en relativ sökväg beror filens plats på var du kör koden. Om du använder en Databricks notebook sparas din datafil till volymlagring som är ansluten till förarprogrammet för ditt kluster. Data som lagras på den här platsen tas bort permanent när klustret avslutas. Om du använder Databricks Git-mappar med godtyckligt filstöd aktiverat sparas dina data i roten för det aktuella projektet. I båda fallen kan du utforska filerna som skrivits med hjälp av det %sh magiska kommandot, som tillåter enkla bash-åtgärder i förhållande till din aktuella rotkatalog, som i följande exempel:
%sh ls
Mer information om hur Azure Databricks lagrar olika filer finns i Arbeta med filer på Azure Databricks.
Hur läser man in data med Pandas i Azure Databricks?
Azure Databricks innehåller ett antal alternativ för att underlätta uppladdning av data till arbetsytan för utforskning. Den metod som rekommenderas för att läsa in data med Pandas varierar beroende på hur du läser in dina data till arbetsytan.
Om du har små datafiler lagrade tillsammans med notebook-filer på din lokala dator kan du ladda upp dina data och din kod tillsammans med Git-mappar. Du kan sedan använda relativa sökvägar för att läsa in datafiler.
Azure Databricks innehåller omfattande användargränssnittsbaserade alternativ för datainläsning. De flesta av dessa alternativ lagrar dina data som Delta-tabeller. Du kan läsa en Delta-tabell till en Spark DataFrame och sedan konvertera den till en Pandas DataFrame-.
Om du har sparade datafiler med Unity Catalog-volymer eller relativa vägar kan du ladda om dessa datafiler från samma plats. Följande kod innehåller ett exempel:
import pandas as pd
df = pd.read_csv("/Volumes/my_catalog/my_schema/my_volume/volume_test.csv")
df = pd.read_csv("./relative_path_test.csv")
df = pd.read_csv("/dbfs/tmp/dbfs_test.csv") # DBFS is deprecated.
Du kan läsa in data direkt från Azure Data Lake Storage med hjälp av Pandas och en fullständigt kvalificerad URL. Du måste ange autentiseringsuppgifter för molnet för åtkomst till molndata. Python-paketen fsspec och adlfs måste också installeras.
df = pd.read_csv(
f"abfss://{container}@{storage_account}.dfs.core.windows.net/{file_path}",
storage_options={
"sas_token": sas_token_value
}
)