Dela via


Kan man använda Pandas på Azure Databricks?

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.

Kommentar

Databricks rekommenderar att du lagrar produktionsdata på molnobjektlagring. Se Ansluta till Azure Data Lake Storage Gen2 och Blob Storage.

Om du befinner dig i en Unity Catalog-aktiverad arbetsyta kan du komma åt molnlagring med externa platser. Se Skapa en extern plats för att ansluta molnlagring till Azure Databricks.

För snabb utforskning och data utan känslig information kan du på ett säkert sätt spara data med hjälp av antingen relativa sökvägar eller DBFS, som i följande exempel:

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")

Du kan utforska filer som skrivits till DBFS med det %fs magiska kommandot, som i följande exempel. Observera att /dbfs katalogen är rotsökvägen för dessa kommandon.

%fs ls

När du sparar till en relativ sökväg beror platsen för filen på var du kör koden. Om du använder en Databricks-notebook-fil sparar datafilen till den volymlagring som är kopplad till drivrutinen för klustret. 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 sparat datafiler med hjälp av DBFS eller relativa sökvägar kan du använda DBFS eller relativa sökvägar för att läsa in dessa datafiler igen. Följande kod innehåller ett exempel:

import pandas as pd

df = pd.read_csv("./relative_path_test.csv")
df = pd.read_csv("/dbfs/dbfs_test.csv")

Du kan läsa in data direkt från Azure Data Lake Storage Gen2 med 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
  }
)