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 öğreticide, Azure Databricks ile birlikte Azure Blob Depolama envanteri kullanarak kapsayıcılarınızla ilgili istatistiklerin nasıl toplandığı gösterilmektedir.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Stok raporu oluşturma
- Azure Databricks çalışma alanı ve not defteri oluşturma
- Blob envanter dosyasını okuma
- Blobların, anlık görüntülerin ve sürümlerin sayısını ve toplam boyutunu alma
- Blob türüne ve içerik türüne göre blob sayısını alma
Önkoşullar
Azure aboneliği - ücretsiz hesap oluşturma
Azure depolama hesabı - depolama hesabı oluşturma
Kullanıcı kimliğinizin kendisine Atanmış Depolama Blob Verileri Katkıda Bulunanı rolüne sahip olduğundan emin olun.
Stok raporu oluşturma
Depolama hesabınız için blob envanter raporlarını etkinleştirin. Bkz Azure Depolama blob envanter raporlarını etkinleştirme.
Aşağıdaki yapılandırma ayarlarını kullanın:
| Ayar | Değer |
|---|---|
| Kural adı | blobinventory |
| Kapsayıcı | <kapsayıcınızın adı> |
| Envantere nesne türü | Blob |
| Blob türleri | Blok blobları, Sayfa blobları ve Ekleme blobları |
| Alt türler | blob sürümlerini dahil et, anlık görüntüleri ekle, silinen blobları ekle |
| Blob envanter alanları | Tümü |
| Stok sıklığı | Günlük |
| Dışarı aktarma biçimi | CSV |
İlk raporunuzun oluşturulması için envanter raporlarını etkinleştirdikten sonra 24 saate kadar beklemeniz gerekebilir.
Azure Databricks'i yapılandırma
Bu bölümde bir Azure Databricks çalışma alanı ve not defteri oluşturacaksınız. Bu öğreticinin daha sonraki kısımlarında kod parçalarını not defteri hücrelerine yapıştıracak ve sonra bunları çalıştırarak kapsayıcı istatistikleri toplayacaksınız.
Azure Databricks çalışma alanı oluşturun. Bkz. Azure Databricks çalışma alanı oluşturma.
Yeni bir not defteri oluşturun. Bkz. Not Defteri Oluşturma.
Not defterinin varsayılan dili olarak Python'ı seçin.
Blob envanter dosyasını okuma
Aşağıdaki kod bloğunu kopyalayıp ilk hücreye yapıştırın, ancak bu kodu henüz çalıştırmayın.
from pyspark.sql.types import StructType, StructField, IntegerType, StringType import pyspark.sql.functions as F storage_account_name = "<storage-account-name>" storage_account_key = "<storage-account-key>" container = "<container-name>" blob_inventory_file = "<blob-inventory-file-name>" hierarchial_namespace_enabled = False if hierarchial_namespace_enabled == False: spark.conf.set("fs.azure.account.key.{0}.blob.core.windows.net".format(storage_account_name), storage_account_key) df = spark.read.csv("wasbs://{0}@{1}.blob.core.windows.net/{2}".format(container, storage_account_name, blob_inventory_file), header='true', inferSchema='true') else: spark.conf.set("fs.azure.account.key.{0}.dfs.core.windows.net".format(storage_account_name), storage_account_key) df = spark.read.csv("abfss://{0}@{1}.dfs.core.windows.net/{2}".format(container, storage_account_name, blob_inventory_file), header='true', inferSchema='true')Bu kod bloğunda aşağıdaki değerleri değiştirin:
<storage-account-name>Yer tutucu değerini depolama hesabınızın adıyla değiştirin.<storage-account-key>Yer tutucu değerini depolama hesabınızın hesap anahtarıyla değiştirin.<container-name>Yer tutucu değerini stok raporlarını tutan kapsayıcıyla değiştirin.Yer tutucuyu
<blob-inventory-file-name>stok dosyasının tam adıyla değiştirin (Örneğin:2023/02/02/02-16-17/blobinventory/blobinventory_1000000_0.csv).Hesabınızın hiyerarşik ad alanı varsa değişkenini
hierarchical_namespace_enabledolarakTrueayarlayın.
Kodu bu hücrede çalıştırmak için Çalıştır düğmesine basın.
Blob sayısını ve boyutunu alma
Yeni bir hücreye aşağıdaki kodu yapıştırın:
print("Number of blobs in the container:", df.count()) print("Number of bytes occupied by blobs in the container:", df.agg({'Content-Length': 'sum'}).first()['sum(Content-Length)'])Hücreyi çalıştırmak için çalıştır düğmesine basın.
Not defteri bir kapsayıcıdaki blob sayısını ve kapsayıcıdaki blobların kapladığı bayt sayısını görüntüler.
Anlık görüntü sayısını ve boyutunu alma
Yeni bir hücreye aşağıdaki kodu yapıştırın:
from pyspark.sql.functions import * print("Number of snapshots in the container:", df.where(~(col("Snapshot")).like("Null")).count()) dfT = df.where(~(col("Snapshot")).like("Null")) print("Number of bytes occupied by snapshots in the container:", dfT.agg({'Content-Length': 'sum'}).first()['sum(Content-Length)'])Hücreyi çalıştırmak için çalıştır düğmesine basın.
Not defteri, anlık görüntülerin ve blob anlık görüntülerinin kapladığı toplam bayt sayısını gösterir.
Sürüm sayısını ve boyutunu alma
Yeni bir hücreye aşağıdaki kodu yapıştırın:
from pyspark.sql.functions import * print("Number of versions in the container:", df.where(~(col("VersionId")).like("Null")).count()) dfT = df.where(~(col("VersionId")).like("Null")) print("Number of bytes occupied by versions in the container:", dfT.agg({'Content-Length': 'sum'}).first()['sum(Content-Length)'])Hücreyi çalıştırmak için SHIFT + ENTER tuşlarına basın.
Not defteri, blob sürümlerinin sayısını ve blob sürümlerinin kapladığı toplam bayt sayısını görüntüler.
Blob türüne göre blob sayısını alma
Yeni bir hücreye aşağıdaki kodu yapıştırın:
display(df.groupBy('BlobType').count().withColumnRenamed("count", "Total number of blobs in the container by BlobType"))Hücreyi çalıştırmak için SHIFT + ENTER tuşlarına basın.
Not defteri, türe göre blob türlerinin sayısını görüntüler.
İçerik türüne göre blob sayısını alma
Yeni bir hücreye aşağıdaki kodu yapıştırın:
display(df.groupBy('Content-Type').count().withColumnRenamed("count", "Total number of blobs in the container by Content-Type"))Hücreyi çalıştırmak için SHIFT + ENTER tuşlarına basın.
Not defteri, her içerik türüyle ilişkili blob sayısını görüntüler.
Kümeyi sonlandırma
Gereksiz faturalamayı önlemek için işlem kaynağınızı sonlandırınız. Bkz bir hesaplama işlevini sonlandırma.
Sonraki adımlar
Kapsayıcı başına blob sayısını ve toplam blob boyutunu hesaplamak için Azure Synapse'i kullanmayı öğrenin. Bkz. Azure Depolama envanteri kullanarak kapsayıcı başına blob sayısını ve toplam boyutunu hesaplama
Kapsayıcıları ve blobları açıklayan istatistikler oluşturmayı ve görselleştirmeyi öğrenin. Bkz Eğitim Kılavuzu: Blob envanter raporlarını analiz etme
Bloblarınızın ve kapsayıcılarınızın analizine göre maliyetlerinizi iyileştirmenin yolları hakkında bilgi edinin. Şu makalelere bakın:
Azure Blob Depolama maliyetlerini planlama ve yönetme
Verileri arşivleme maliyetini tahmin etme
Veri yaşam döngüsünü otomatik olarak yöneterek maliyetleri iyileştirme