Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfada çeşitli kullanıcı arabirimleri, araçlar, kitaplıklar ve diller için Unity Kataloğu birimlerindeki dosyaları yönetmeye yönelik örnekler bulunur.
Databricks, bulut nesne depolamasında tablosal olmayan verilere tüm erişimi yönetmek ve iş yükü destek dosyalarını depolamak için birimlerin kullanılmasını önerir. Örnekler şunlardır:
- Alım için CSV, JSON ve Parquet gibi veri dosyaları
- Veri bilimi, ML ve yapay zeka iş yükleri için metin, görüntü ve ses dosyaları
- Dış sistemlerle tümleştirme için Azure Databricks tarafından yazılan CSV veya JSON yapıtları
- Kitaplıklar, başlatma betikleri ve yapı çıktıları
Birimler, Userspace (FUSE) bağımlı araçlar ve çerçevelerle çalışan Taşınabilir İşletim Sistemi Arabirimi (POSIX) stili yollar sağlar. Bu sayede POSIX stilinde erişim gerektiren makine öğrenmesi çerçeveleri ve açık kaynak Python modülleri için idealdir. URI düzenleri, POSIX yolları ve birimlerle ilişkileri hakkında ayrıntılı bilgi için bkz. Verilere erişmek için URI düzeni sağlamam gerekiyor mu?.
Birimlerdeki dosyaları yönetme yöntemleri
Her yöntemin hızlı örnekleri için bkz. Unity Kataloğu birimlerindeki dosyalarla çalışma.
| Arayüz | Description |
|---|---|
| Katalog Gezgini kullanıcı arabirimi | Azure Databricks çalışma alanı aracılığıyla etkileşimli dosya yönetimi |
| Programlı erişim | Apache Spark, Pandas veya SQL kullanarak dosyaları okuma ve yazma |
| Databricks yardımcı programları | Not defterlerinde dbutils.fs'u ya da sihirli komutlar (%fs, %sh) kullanarak dosya işlemlerini gerçekleştirmek. |
| SQL komutları | SQL anahtar sözcüklerini (LIST, PUT INTO, , GETREMOVE) ve bağlayıcıları kullanarak dosya işlemleri |
| Databricks CLI | Komut satırında databricks fs komutlarını kullanarak işlemler |
| SDK'lar | Python, Java veya Go SDK'larını kullanarak dosya işlemleri |
| REST API | Özel tümleştirmeler için doğrudan API erişimi |
Katalog Gezgini'ni kullanma
Katalog Gezgini'nde Unity Kataloğu birimleriyle depolanan dosyalar için yaygın dosya yönetimi görevlerine yönelik seçenekler bulunur.
Bir birimdeki dosyalarla etkileşime geçmek için aşağıdakileri yapın:
- Azure Databricks çalışma alanınızda
Katalog'a gidin.
- Çalışmak istediğiniz birimi arayın veya inceleyin ve seçin.
Birimleri oluşturma ve yönetme hakkında ayrıntılı bilgi için bkz. Unity Kataloğu birimlerini oluşturma ve yönetme.
Dosyaları bir birime yükleme
Yapılandırılmış, yarı yapılandırılmış veya yapılandırılmamış herhangi bir biçimdeki dosyaları bir birime yükleyebilirsiniz. UI aracılığıyla karşıya yüklediğinizde 5 GB dosya boyutu sınırı vardır. Ancak birimler, temel bulut depolama tarafından desteklenen maksimum boyuta kadar dosyaları destekler. Spark kullanarak çok büyük dosyalar yazabilir ve Azure Databricks API'sini veya SDK'larını kullanarak büyük dosyaları karşıya yükleyebilirsiniz.
Gereksinimler
Bir birime yüklemeden önce aşağıdakilere sahip olduğunuzdan emin olun:
- Unity Kataloğu'nu etkinleştirmiş bir çalışma alanı
-
WRITE VOLUMEhedef hacimde -
USE SCHEMAüst şemada -
USE CATALOGana katalogda
Ayrıntılar için bkz. Unity Kataloğu ayrıcalıkları ve güvenliği sağlanabilir nesneler.
Yükleme adımları
- Katalog Gezgini'nde, Veri ekle>birime yükle'ye tıklayın.
- Gözat veya bırakma alanına dosyaları bırakın.
- Bir birim veya dizin seçin veya birim yolunu yapıştırın.
- Hedef şemada depolama birimi yoksa bir depolama birimi oluşturun.
- Hedef birim içinde yeni bir dizin de oluşturabilirsiniz.
Yükleme kullanıcı arabirimine aşağıdaki yollarla erişebilirsiniz:
- Kenar çubuğunda: Yeni>Veri> ekleDosyaları birime yükleme
- Dizüstü bilgisayardan: Dosya>dosyaları birime yükle
Sonraki Adımlar
Bir birime yükledikten sonra aşağıdakileri yapabilirsiniz:
- Dosyalardan Unity Kataloğu tarafından yönetilen tablo oluşturun. Bkz. Birimdeki verilerden tablo oluşturma.
- ML ve veri bilimi iş yüklerindeki dosyaları kullanma
- Yüklenen dosyaları kullanarak küme kütüphanelerini, not defteri kapsamındaki kütüphaneleri veya iş bağımlılıklarını yapılandırın.
- Otomatik Yükleyici kullanarak mühendislik işlem hatları için veri yükleme veya COPY INTO
- Dosyaları gibi yapay zeka işlevleriyle işleme
ai_parse_document - İşlerde dosya varış tetikleyicilerini ayarlama
- AgentBricks ile kullanmak üzere belgeleri yükleyin (örneğin, bilgi asistanı senaryoları)
Birimden dosya indirme
Bir birimdeki dosyaları indirmek için aşağıdakileri yapın:
- Bir veya daha fazla dosya seçin.
- Bu dosyaları indirmek için İndir'e tıklayın.
Birimdeki dosyaları silme
Birimdeki dosyaları silmek için aşağıdakileri yapın:
- Bir veya daha fazla dosya seçin.
- Siltıklayın.
- Görüntülenen iletişim kutusunda onaylamak için Sil'e tıklayın.
Boş dizin oluşturma
Bir birimde yeni bir dizin oluşturmak için aşağıdakileri yapın:
- Toplu genel bakış sekmesinde Dizin oluştur'a tıklayın.
- Bir dizin adı girin.
- Oluştur'utıklayın.
Dizin indirme
Birimdeki bir dizini indirmek için aşağıdakileri yapın:
-
Dizinin sağındaki kebap menüsü.
- Dizini indir'e tıklayın.
Dizin zip dosyası olarak indirilir.
Birimdeki dizinleri silme
Bir birimdeki dizinleri silmek için aşağıdakileri yapın:
- Bir veya daha fazla dizin seçin.
- Siltıklayın.
- Görüntülenen iletişim kutusunda onaylamak için Sil'e tıklayın.
Birimler için Kullanıcı Arayüzü dosya yönetimi görevleri
Aşağıdaki eylemleri gerçekleştirmek için bir dosya adının yanındaki tıklayın:
- Yolu kopyala
- Dosyayı indirme
- Dosyayı sil
- Tablo oluştur
Birimdeki verilerden tablo oluşturma
Azure Databricks bir Unity Kataloğu biriminde depolanan bir dosyadan, dosyadan veya dosya dizininden Unity Kataloğu yönetilen tablosu oluşturmak için bir kullanıcı arabirimi sağlar.
Hedef şemada CREATE TABLE izinlerinizin olması ve çalışan bir SQL ambarı erişimine sahip olmanız gerekir.
Bir veya daha fazla dosya veya dizin seçin. Dosyalar aynı veri düzenine sahip olmalıdır.
Tablo oluştur'a tıklayın. Birimlerden tablo oluştur iletişim kutusu görüntülenir.
Sağlanan iletişim kutusunu kullanarak verilerin önizlemesini gözden geçirin ve aşağıdaki yapılandırmaları tamamlayın:
- Yeni tablo oluştur seçin veya varolan tablonun üzerine yaz
- Hedef Kataloğu ve Şemayı seçin.
- Tablo adını belirtin.
- (İsteğe bağlı) Varsayılan sütun adlarını ve türlerini geçersiz kılın veya sütunları dışlama seçeneğini belirleyin.
Uyarı
Ek seçenekleri görüntülemek için Gelişmiş öznitelikler'e tıklayın.
Tabloyu belirtilen özniteliklerle oluşturmak için Tablo oluştur'a tıklayın. Tamamlandıktan sonra, Katalog Gezgini tablo ayrıntılarını görüntüler.
Programatik olarak birimlerdeki dosyalarla çalışma
Aşağıdaki biçimi kullanarak desteklenen tüm dillerden ve çalışma alanı düzenleyicilerinden birimler halinde dosyaları okuyun ve yazın:
/Volumes/catalog_name/schema_name/volume_name/path/to/files
Herhangi bir bulut nesne depolama konumundaki dosyalarla etkileşimde bulunduğunuz şekilde birimlerdeki dosyalarla etkileşim kurarsınız. Bu, şu anda bulut URI'leri, DBFS bağlama yollarını veya verilerle veya dosyalarla etkileşim kurmak için DBFS kök yollarını kullanan kodu yönetiyorsanız, bunun yerine kodunuzu birimleri kullanacak şekilde güncelleştirebileceğiniz anlamına gelir.
Uyarı
Birimler yalnızca tablosal olmayan veriler için kullanılır. Databricks, Unity Kataloğu tablolarını kullanarak tablo verilerini kaydetmenizi ve ardından tablo adlarını kullanarak veri okumanızı ve yazmanızı önerir.
Birimlerdeki verileri okuma ve yazma
Birimlerdeki veri dosyalarını okumak ve yazmak için Apache Spark, pandas, Spark SQL ve diğer OSS kitaplıklarını kullanın.
Aşağıdaki örneklerde bir birimde depolanan CSV dosyasının okunması gösterilmektedir:
Piton
df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")
display(df)
Pandas
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`
Birimlerdeki dosyalar için yardımcı program komutları
Databricks, birimlerdeki dosyaları yönetmek için aşağıdaki araçları sağlar:
-
dbutils.fsDatabricks Yardımcı Programları'ndaki alt modül. Bkz. Dosya sistemi yardımcı programı (dbutils.fs). - sihirli
%fs, için bir diğer addırdbutils.fs. -
%shsihri, disk bölümleri ile bash komutlarına olanak tanır.
İnternet'ten dosya indirmek, dosyaları sıkıştırmak ve dosyaları kısa ömürlü blok depolamadan birimlere taşımak için bu araçları kullanma örneği için bkz. İnternet'ten veri indirme.
Aşağıdaki örnekte gösterildiği gibi Python os modülü gibi dosya yardımcı programı komutları için OSS paketlerini de kullanabilirsiniz:
import os
os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')
Harici araçlar kullanarak birimler içindeki dosyaları yönetme
Databricks, yerel ortamınızdan veya tümleşik sistemlerinizden birimlerdeki dosyaları program aracılığıyla yönetmek için bir araç paketi sağlar.
Birimlerdeki dosyalar için SQL komutları
Azure Databricks, birimlerdeki dosyalarla etkileşime geçiş için aşağıdaki SQL anahtar sözcüklerini destekler:
Azure Databricks not defterlerinde ve SQL sorgu düzenleyicisinde LIST yalnızca komut desteklenir. Diğer SQL komutları (PUT INTO, GETve REMOVE) birimlerindeki dosyaların yönetilmesini destekleyen aşağıdaki Databricks SQL bağlayıcıları ve sürücüleri aracılığıyla kullanılabilir:
- Python için Databricks SQL Bağlayıcısı
- Go için Databricks SQL Sürücüsü
- Node.jsiçin Databricks SQL Sürücüsü
- Databricks JDBC sürücüsü
- Databricks ODBC sürücüsü
Databricks CLI ile birimlerdeki dosyaları yönetme
içindeki databricks fsalt komutları kullanın. Bakınız fs komut grubu.
Uyarı
Databricks CLI, tüm volüm yollarından önce şema dbfs:/'ı gerektirir. Örneğin, dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data.
SDK'larla birimlerdeki dosyaları yönetme
Aşağıdaki SDK'lar birimlerdeki dosyaların yönetilmesini destekler:
- Python için Databricks SDK'sı. WorkspaceClient.files içinde kullanılabilir yöntemleri kullanın. Örnekler için bkz. Unity Kataloğu birimlerinde dosyaları yönetme.
- Java için Databricks SDK'sı. WorkspaceClient.files içinde kullanılabilir yöntemleri kullanın. Örnekler için bkz. Unity Kataloğu birimlerinde dosyaları yönetme.
- Go için Databricks SDK'sı. WorkspaceClient.files içinde kullanılabilir yöntemleri kullanın. Örnekler için bkz. Unity Kataloğu birimlerinde dosyaları yönetme.
REST API ile birimlerdeki dosyaları yönetme
Birimlerdeki dosyaları yönetmek için Dosyalar API'sini kullanın.
Birimlerdeki dosyalar için REST API örnekleri
Aşağıdaki örnekler, birimlerde dosya yönetimi görevlerini gerçekleştirmek için curl ve Databricks REST API'sini kullanır.
Aşağıdaki örnek, belirtilen birimde adlı my-folder boş bir klasör oluşturur.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
Aşağıdaki örnek, birimdeki belirtilen yolda belirtilen verilerle adlı data.csv bir dosya oluşturur.
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!'
Aşağıdaki örnek, belirtilen yolda bir birimin içeriğini listeler. Bu örnek, daha kolay okunması için yanıt gövdesinin JSON'unu biçimlendirmek için jq kullanır.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
Aşağıdaki örnekte, belirtilen yoldaki bir birimdeki bir klasörün içeriği listelenir. Bu örnek, daha kolay okunması için yanıt gövdesinin JSON'unu biçimlendirmek için jq kullanır.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
Aşağıdaki örnek, bir birimde belirtilen yolda bulunan bir dosyanın içeriğini yazdırır.
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}"
Aşağıdaki örnek, belirtilen yoldaki bir dosyayı bir birimden siler.
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}"
Aşağıdaki örnek, belirtilen birimden bir klasörü siler.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
Hacimlerdeki dosyalarla çalışma kısıtlamaları
Birimlerdeki dosyalarla çalışmadan önce aşağıdaki sınırlamaları göz önünde bulundurun:
Doğrudan ekleme veya sıralı olmayan (rastgele) yazma işlemleri desteklenmez. Bu, Zip ve Excel dosyaları yazma gibi işlemleri etkiler. Bu iş yükleri için:
- önce yerel diskte işlemleri gerçekleştirme
- Sonuçları birime kopyalayın
Örneğin:
# python import xlsxwriter from shutil import copyfile workbook = xlsxwriter.Workbook('/local_disk0/tmp/excel.xlsx') worksheet = workbook.add_worksheet() worksheet.write(0, 0, "Key") worksheet.write(0, 1, "Value") workbook.close() copyfile('/local_disk0/tmp/excel.xlsx', '/Volumes/my_catalog/my_schema/my_volume/excel.xlsx')Seyrek dosyalar desteklenmez. Seyrek dosyaları kopyalamak için kullanın
cp --sparse=never:$ cp sparse.file /Volumes/my_catalog/my_schema/my_volume/sparse.file error writing '/dbfs/sparse.file': Operation not supported $ cp --sparse=never sparse.file /Volumes/my_catalog/my_schema/my_volume/sparse.file