Sdílet prostřednictvím


Můžete používat pandas na Azure Databricks?

Databricks Runtime obsahuje pandas jako jeden ze standardních balíčků Pythonu, což umožňuje vytvářet a využívat pandas DataFrames v poznámkových blocích a úlohách Databricks.

V Databricks Runtime 10.4 LTS a novějším poskytuje rozhraní Pandas API ve Sparku známé příkazy pandas nad datovými rámci PySpark. Můžete také převádět datové rámce mezi pandas a PySpark.

Apache Spark zahrnuje vykonávání logiky Pythonu optimalizované pomocí Arrow ve formě API funkcí pandas, které uživatelům umožňuje aplikovat transformace pandas přímo na datové rámce PySpark. Apache Spark také podporuje pandas UDFs, které používají podobné optimalizace Arrow pro libovolné uživatelské funkce definované v Pythonu.

Kde pandas ukládá data v Azure Databricks?

Knihovnu pandas můžete použít k ukládání dat na mnoha různých místech v Azure Databricks. Vaše schopnost ukládat a načítat data z některých umístění závisí na konfiguracích, které nastavují správci pracovního prostoru.

Poznámka:

Databricks doporučuje ukládat produkční data do cloudového úložiště objektů. Viz Připojení ke službě Azure Data Lake Storage aBlob Storage.

Pokud jste v pracovním prostoru s povoleným katalogem Unity, můžete přistupovat k cloudovému úložišti prostřednictvím externích umístění. Viz Přehled externích umístění.

Pro rychlé zkoumání a data bez citlivých informací můžete bezpečně ukládat data pomocí relativních cest nebo dbFS, jako v následujících příkladech:

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

Soubory zapsané do systému souborů DBFS můžete prozkoumat pomocí %fs příkazu magic, jak je znázorněno v následujícím příkladu. Všimněte si, že /dbfs adresář je kořenovou cestou pro tyto příkazy.

%fs ls

Při uložení do relativní cesty závisí umístění souboru na tom, kde kód spouštíte. Pokud používáte poznámkový blok Databricks, uloží se váš datový soubor do objemového úložiště připojeného k řídicímu uzlu clusteru. Data uložená v tomto umístění se po ukončení clusteru trvale odstraní. Pokud používáte složky Git Databricks s povolenou podporou libovolných souborů, vaše data se uloží do kořenového adresáře aktuálního projektu. V obou případech můžete prozkoumat soubory napsané pomocí %sh příkazu magic, který umožňuje jednoduché operace Bash vzhledem k aktuálnímu kořenovému adresáři, jako v následujícím příkladu:

%sh ls

Další informace o tom, jak Azure Databricks ukládá různé soubory, najdete v tématu Práce se soubory v Azure Databricks.

Jak je možné načítat data pomocí knihovny pandas v Azure Databricks?

Azure Databricks nabízí řadu možností, jak usnadnit nahrávání dat do pracovního prostoru pro zkoumání. Preferovaná metoda načítání dat s využitím pandas se liší v závislosti na tom, jak načítáte data do pracovního prostoru.

Pokud máte malé datové soubory uložené společně s poznámkovými bloky na místním počítači, můžete data a kód nahrát společně se složkami Gitu. K načtení datových souborů pak můžete použít relativní cesty.

Azure Databricks poskytuje rozsáhlé možnosti na základě uživatelského rozhraní pro načítání dat. Většina těchto možností ukládá data jako tabulky Delta. Tabulku Delta můžete přečíst do datového rámce Sparku a pak ji převést na datový rámec pandas.

Pokud jste datové soubory uložili pomocí DBFS nebo relativních cest, můžete tyto datové soubory znovu načíst pomocí DBFS nebo relativních cest. Následující kód obsahuje příklad:

import pandas as pd

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

Data můžete načíst přímo ze služby Azure Data Lake Storage pomocí knihovny pandas a plně kvalifikované adresy URL. Pro přístup ke cloudovým datům musíte zadat přihlašovací údaje cloudu. Balíčky fsspec Pythonu a adlfs musí se také nainstalovat.

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