Delen via


Kun je pandas gebruiken in Azure Databricks?

Databricks Runtime bevat pandas als een van de standaard Python-pakketten, zodat je pandas DataFrames kunt maken en gebruiken in Databricks-notebooks en -taken.

In Databricks Runtime 10.4 LTS en hoger biedt pandas-API in Spark vertrouwde pandas-opdrachten boven op PySpark DataFrames. Je kunt ook DataFrames converteren tussen pandas en PySpark.

Apache Spark bevat voor pijl geoptimaliseerde uitvoering van Python-logica in de vorm van pandas-functie-API's, waarmee gebruikers pandas-transformaties rechtstreeks kunnen toepassen op PySpark DataFrames. Apache Spark biedt ook ondersteuning voor pandas UDF's, die vergelijkbare pijloptimalisaties gebruiken voor willekeurige gebruikersfuncties die zijn gedefinieerd in Python.

Waar slaat pandas gegevens op in Azure Databricks?

U kunt pandas gebruiken om gegevens op veel verschillende locaties op te slaan in Azure Databricks. De mogelijkheid om gegevens van sommige locaties op te slaan en te laden, is afhankelijk van configuraties die zijn ingesteld door werkruimtebeheerders.

Notitie

Databricks raadt aan productiegegevens op te slaan in cloudobjectopslag. Zie Verbinding maken naar Google Cloud Storage.

Voor snelle verkenning en gegevens zonder gevoelige informatie kunt u gegevens veilig opslaan met behulp van relatieve paden of dbFS, zoals in de volgende voorbeelden:

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

U kunt bestanden verkennen die naar de DBFS zijn geschreven met de %fs magic-opdracht, zoals in het volgende voorbeeld. Houd er rekening mee dat de /dbfs map het hoofdpad voor deze opdrachten is.

%fs ls

Wanneer u opslaat in een relatief pad, is de locatie van het bestand afhankelijk van de locatie waar u uw code uitvoert. Als u een Databricks-notebook gebruikt, wordt het gegevensbestand opgeslagen in de volumeopslag die is gekoppeld aan het stuurprogramma van uw cluster. Gegevens die op deze locatie zijn opgeslagen, worden definitief verwijderd wanneer het cluster wordt beƫindigd. Als u Databricks Git-mappen gebruikt waarvoor willekeurige bestandsondersteuning is ingeschakeld, worden uw gegevens opgeslagen in de hoofdmap van uw huidige project. In beide gevallen kunt u de bestanden verkennen die zijn geschreven met behulp van de %sh magic-opdracht, waardoor eenvoudige bash-bewerkingen ten opzichte van uw huidige hoofdmap mogelijk zijn, zoals in het volgende voorbeeld:

%sh ls

Zie Werken met bestanden in Azure Databricks voor meer informatie over hoe Azure Databricks verschillende bestanden opslaat.

Hoe laad je gegevens met pandas in Azure Databricks?

Azure Databricks biedt een aantal opties om het uploaden van gegevens naar de werkruimte te vergemakkelijken voor verkenning. De voorkeursmethode voor het laden van gegevens met pandas is afhankelijk van hoe u uw gegevens in de werkruimte laadt.

Als u kleine gegevensbestanden naast notebooks op uw lokale computer hebt opgeslagen, kunt u uw gegevens en code uploaden in combinatie met Git-mappen. Vervolgens kunt u relatieve paden gebruiken om gegevensbestanden te laden.

Azure Databricks biedt uitgebreide ui-opties voor het laden van gegevens. In de meeste van deze opties worden uw gegevens opgeslagen als Delta-tabellen. U kunt een Delta-tabel lezen naar een Spark DataFrame en deze vervolgens converteren naar een Pandas DataFrame.

Als u gegevensbestanden hebt opgeslagen met DBFS of relatieve paden, kunt u DBFS of relatieve paden gebruiken om deze gegevensbestanden opnieuw te laden. De volgende code bevat een voorbeeld:

import pandas as pd

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

Databricks raadt aan productiegegevens op te slaan in cloudobjectopslag. Zie Verbinding maken naar Azure Data Lake Storage Gen2 en Blob Storage.

Als u zich in een werkruimte met Unity Catalog bevindt, hebt u toegang tot cloudopslag met externe locaties. Zie Een externe locatie maken om cloudopslag te verbinden met Azure Databricks.

U kunt gegevens rechtstreeks vanuit Azure Data Lake Storage Gen2 laden met pandas en een volledig gekwalificeerde URL. U moet cloudreferenties opgeven voor toegang tot cloudgegevens.

df = pd.read_csv(
  f"abfss://{container}@{storage_account}.dfs.core.windows.net/{file_path}",
  storage_options={
    "sas_token": sas_token_value
  }
)