Sdílet prostřednictvím


Správa souborů ve svazcích

Tento článek obsahuje příklady pro správu souborů ve svazcích katalogu Unity pro různá uživatelská rozhraní, nástroje, knihovny a jazyky.

Databricks doporučuje používat svazky ke správě veškerého přístupu k ne tabulkovým datům v cloudovém úložišti objektů. Mezi příklady ne tabulkových dat patří:

  • Datové soubory pro příjem dat, jako jsou CSV, JSON a Parquet.
  • Textové, obrázkové a zvukové soubory pro úlohy datové vědy, ML a AI
  • Artefakty CSV nebo JSON napsané službou Azure Databricks pro integraci s externími systémy

Svazky můžete použít k ukládání souborů, jako jsou knihovny, inicializační skripty a artefakty sestavení. Viz Doporučení pro soubory ve svazcích a souborech pracovních prostorů.

Práce se soubory ve svazcích pomocí uživatelského rozhraní Průzkumníka katalogu

Průzkumník katalogu nabízí možnosti pro běžné úlohy správy souborů pro soubory uložené se svazky katalogu Unity.

Pokud chcete pracovat se soubory ve svazku, postupujte takto:

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vyhledejte nebo vyhledejte svazek, se kterým chcete pracovat, a vyberte ho.

Podrobnosti o vytváření a správě svazků najdete v tématu Vytváření a správa svazků.

Nahrání souborů na svazek

Tlačítko Nahrát na tento svazek otevře dialogové okno pro nahrání souborů. Viz Nahrání souborů do svazku katalogu Unity.

Nahrané soubory nesmí překročit 5 GB.

Stažení souborů ze svazku

Pokud chcete stáhnout soubory ze svazku, postupujte takto:

  1. Vyberte jeden nebo více souborů.
  2. Chcete-li stáhnout tyto soubory, klikněte na tlačítko Stáhnout .

Odstranění souborů ze svazku

Pokud chcete odstranit soubory ze svazku, postupujte takto:

  1. Vyberte jeden nebo více souborů.
  2. Klepněte na tlačítko Odstranit.
  3. Kliknutím na Odstranit potvrďte zobrazení dialogového okna.

Vytvoření prázdného adresáře

Pokud chcete vytvořit nový adresář ve svazku, postupujte takto:

  1. Klikněte napravo Nabídka Kebab od názvu svazku.
  2. Vyberte Vytvořit adresář.
  3. Zadejte název adresáře.
  4. Klikněte na Vytvořit.

Odstranění adresářů ze svazku

Pokud chcete odstranit adresáře ze svazku, postupujte takto:

  1. Vyberte jeden nebo více adresářů.
  2. Klepněte na tlačítko Odstranit.
  3. Kliknutím na Odstranit potvrďte zobrazení dialogového okna.

Úlohy správy souborů uživatelského rozhraní pro svazky

Kliknutím na nabídku Nabídka Kebab kebab vedle názvu souboru proveďte následující akce:

  • Kopírovat cestu
  • Stáhnout soubor
  • Odstranit soubor
  • Vytvořit tabulku

Vytvoření tabulky z dat ve svazku

Azure Databricks poskytuje uživatelské rozhraní pro vytvoření spravované tabulky Unity Catalog ze souboru nebo adresáře souborů uložených ve svazku katalogu Unity.

Musíte mít CREATE TABLE oprávnění v cílovém schématu a mít přístup ke spuštěné službě SQL Warehouse.

Pomocí poskytnutého uživatelského rozhraní můžete provést následující výběry:

  • Zvolte, že chcete vytvořit novou tabulku nebo přepsat existující tabulku.
  • Vyberte cílový katalog a schéma.
  • Zadejte název tabulky.
  • Přepište výchozí názvy a typy sloupců nebo zvolte, že chcete sloupce vyloučit.

Poznámka:

Kliknutím na Upřesnit atributy zobrazíte další možnosti.

Kliknutím na Vytvořit tabulku vytvoříte tabulku v zadaném umístění. Po dokončení zobrazí Průzkumník katalogu podrobnosti o tabulce.

Práce se soubory ve svazcích v Azure Databricks prostřednictvím kódu programu

Soubory ve svazcích můžete číst a zapisovat ze všech podporovaných jazyků a editorů pracovních prostorů pomocí následujícího formátu:

/Volumes/catalog_name/schema_name/volume_name/path/to/files

Se soubory ve svazcích pracujete stejným způsobem jako se soubory v libovolném umístění cloudového úložiště objektů. To znamená, že pokud aktuálně spravujete kód, který používá cloudové identifikátory URI, cesty připojení DBFS nebo kořenové cesty DBFS k interakci s daty nebo soubory, můžete kód aktualizovat tak, aby místo toho používal svazky.

Poznámka:

Svazky se používají jenom pro ne tabulková data. Databricks doporučuje registrovat tabulková data pomocí tabulek Unity Catalog a pak číst a zapisovat data pomocí názvů tabulek.

Čtení a zápis dat ve svazcích

Ke čtení a zápisu datových souborů ve svazcích můžete použít Apache Spark, pandas, Spark SQL a další knihovny operačního systému.

Následující příklady ukazují čtení souboru CSV uloženého ve svazku:

Python

df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")

display(df)

Pandy

import pandas as pd

df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')

display(df)

SQL

SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`

Příkazy nástroje pro soubory ve svazcích

Databricks poskytuje následující nástroje pro správu souborů ve svazcích:

  • Dílčí dbutils.fs modul v nástrojích Databricks. Viz nástroj systému souborů (dbutils.fs).
  • Magie %fs , což je alias pro dbutils.fs.
  • Magie %sh , která umožňuje příkaz bash proti svazkům.

Příklad použití těchto nástrojů ke stažení souborů z internetu, rozbalení souborů a přesunutí souborů z dočasného blokového úložiště na svazky naleznete v tématu Stažení dat z internetu.

Balíčky OSS můžete použít také pro příkazy nástroje souborů, jako je modul Python os , jak je znázorněno v následujícím příkladu:

import os

os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')

Správa souborů ve svazcích z externích nástrojů

Databricks poskytuje sadu nástrojů pro programovou správu souborů ve svazcích z místního prostředí nebo integrovaných systémů.

Příkazy SQL pro soubory ve svazcích

Azure Databricks podporuje následující klíčová slova SQL pro interakci se soubory ve svazcích:

Poznámka:

Poznámkové bloky Databricks nebo editor dotazů podporují LIST jenom tento příkaz.

Následující konektory a ovladače SQL Databricks podporují správu souborů ve svazcích:

Správa souborů ve svazcích pomocí rozhraní příkazového řádku Databricks

Použijte dílčí příkazy v databricks fs. Viz skupina příkazů fs.

Poznámka:

Rozhraní příkazového řádku Databricks vyžaduje schéma dbfs:/ , které předchází všem cestám ke svazkům. Například dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data.

Správa souborů ve svazcích pomocí sad SDK

Následující sady SDK podporují správu souborů ve svazcích:

Správa souborů ve svazcích pomocí rozhraní REST API

Použití rozhraní Files API ke správě souborů ve svazcích.

Příklady rozhraní REST API pro soubory ve svazcích

Následující příklady používají curl a rozhraní REST API Databricks k provádění úloh správy souborů ve svazcích.

Následující příklad vytvoří prázdnou složku pojmenovanou my-folder v zadaném svazku.

curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

Následující příklad vytvoří soubor s názvem data.csv se zadanými daty v zadané cestě ve svazku.

curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv?overwrite=true" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--header "Content-Type: application/octet-stream" \
--data-binary $'id,Text\n1,Hello World!'

Následující příklad uvádí obsah svazku v zadané cestě. Tento příklad používá jq k formátování JSON textu odpovědi pro snadnější čtení.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

Následující příklad uvádí obsah složky ve svazku v zadané cestě. Tento příklad používá jq k formátování JSON textu odpovědi pro snadnější čtení.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

Následující příklad vytiskne obsah souboru v zadané cestě ve svazku.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

Následující příklad odstraní soubor v zadané cestě ze svazku.

curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

Následující příklad odstraní složku ze zadaného svazku.

curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"