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.
Databricks Runtime, ikili dosyaları okuyan ve her dosyayı dosyanın ham içeriğini ve meta verilerini içeren tek bir kayda dönüştüren ikili dosya veri kaynağını destekler. İkili dosya veri kaynağı, aşağıdaki sütunlara ve büyük olasılıkla bölüm sütunlarına sahip bir DataFrame oluşturur:
-
path (StringType): Dosyanın yolu. -
modificationTime (TimestampType): Dosyanın değişiklik zamanı. Bazı Hadoop FileSystem uygulamalarında bu parametre kullanılamayabilir ve değer varsayılan değere ayarlanır. -
length (LongType): Dosyanın bayt cinsinden uzunluğu. -
content (BinaryType): Dosyanın içeriği.
İkili dosyaları okumak için veri kaynağını format olarak binaryFilebelirtin.
Görüntüler
Databricks, görüntü verilerini yüklemek için ikili dosya veri kaynağını kullanmanızı önerir.
Databricks display işlevi, ikili veri kaynağı kullanılarak yüklenen görüntü verilerinin görüntülenmesini destekler.
Yüklenen tüm dosyaların dosya adı görüntü uzantısına sahipse, görüntü önizlemesi otomatik olarak etkinleştirilir:
df = spark.read.format("binaryFile").load("<path-to-image-dir>")
display(df) # image thumbnails are rendered in the "content" column
İkili sütuna açıklama eklemek için bir dize değeri olan mimeType ile "image/*" seçeneğini kullanarak alternatif olarak görüntü önizleme işlevselliğini etkinleştirebilirsiniz. Görüntülerin kodu, ikili içerikteki biçim bilgilerine göre çözüldü. Desteklenen görüntü türleri : bmp, gif, jpegve png. Desteklenmeyen dosyalar bozuk bir görüntü simgesi olarak görünür.
df = spark.read.format("binaryFile").option("mimeType", "image/*").load("<path-to-dir>")
display(df) # unsupported files are displayed as a broken image icon
Görüntü verilerini işlemek için önerilen iş akışı için bkz . Görüntü uygulamaları için başvuru çözümü.
Seçenekler
Bölüm bulma davranışını koruyarak belirli bir glob deseniyle eşleşen yollara sahip dosyaları yüklemek için pathGlobFilter seçeneğini kullanabilirsiniz. Aşağıdaki kod, bölüm bulma ile giriş dizinindeki tüm JPG dosyalarını okur:
df = spark.read.format("binaryFile").option("pathGlobFilter", "*.jpg").load("<path-to-dir>")
Bölüm bulmayı yoksaymak ve giriş dizini altındaki dosyaları yinelemeli olarak aramak istiyorsanız recursiveFileLookup seçeneğini kullanın. Bu seçenek, adları gibi bir bölüm adlandırma düzenini izlemese bile, iç içe geçmiş dizinlerde arama yapar.
Aşağıdaki kod, giriş dizininden tüm JPG dosyalarını özyinelemeli olarak okur ve bölüm bulmayı yoksayar:
df = spark.read.format("binaryFile") \
.option("pathGlobFilter", "*.jpg") \
.option("recursiveFileLookup", "true") \
.load("<path-to-dir>")
Scala, Java ve R için benzer API'ler vardır.
Not
Verileri geri yüklediğinizde okuma performansını geliştirmek için Azure Databricks, Delta tablolarını kullanarak ikili dosyalardan yüklenen verilerin kaydedilmesini önerir:
df.write.save("<path-to-table>")