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:
- V pracovním prostoru Azure Databricks klikněte na Katalog.
- 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:
- Vyberte jeden nebo více souborů.
- 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:
- Vyberte jeden nebo více souborů.
- Klepněte na tlačítko Odstranit.
- 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:
- Klikněte napravo od názvu svazku.
- Vyberte Vytvořit adresář.
- Zadejte název adresáře.
- Klikněte na Vytvořit.
Odstranění adresářů ze svazku
Pokud chcete odstranit adresáře ze svazku, postupujte takto:
- Vyberte jeden nebo více adresářů.
- Klepněte na tlačítko Odstranit.
- 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 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, souborů 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.
Vyberte jeden nebo více souborů nebo adresář. Soubory by měly mít stejné rozložení dat.
Klikněte na Vytvořit tabulku. Zobrazí se dialogové okno Vytvořit tabulku ze svazků .
Pomocí poskytnutého dialogového okna zkontrolujte náhled dat a dokončete následující konfigurace:
- Zvolte, že chcete vytvořit novou tabulku nebo přepsat existující tabulku.
- Vyberte cílový katalog a schéma.
- Zadejte název tabulky.
- (Volitelné) 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 se zadanými atributy. 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 prodbutils.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:
- Konektor SQL Databricks pro Python Viz Správa souborů ve svazcích katalogu Unity.
- Ovladač SQL Databricks pro Go Viz Správa souborů ve svazcích katalogu Unity.
- Ovladač SQL Databricks pro Node.js Viz Správa souborů ve svazcích katalogu Unity.
- Ovladač Databricks JDBC. Viz Správa souborů ve svazcích katalogu Unity pomocí ovladače Databricks JDBC.
- Ovladač ODBC Databricks. Viz Správa souborů ve svazcích katalogu Unity pomocí ovladače ODBC Databricks.
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:
- Sada Databricks SDK pro Python Použijte dostupné metody v souboru WorkspaceClient.files. Příklady najdete v tématu Správa souborů ve svazcích katalogu Unity.
- Sada Databricks SDK pro Javu Použijte dostupné metody v souboru WorkspaceClient.files. Příklady najdete v tématu Správa souborů ve svazcích katalogu Unity.
- Sada Databricks SDK pro Go Použijte dostupné metody v souboru WorkspaceClient.files. Příklady najdete v tématu Správa souborů ve svazcích katalogu Unity.
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}"