Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez az oktatóanyag bemutatja, hogyan gyűjthet statisztikákat a tárolókról az Azure Blob Storage-leltár és az Azure Databricks használatával.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Leltárjelentés létrehozása
- Azure Databricks-munkaterület és -jegyzetfüzet létrehozása
- A blob leltárfájl olvasása
- Blobok, pillanatképek és verziók számának és teljes méretének lekérése
- Blobok számának lekérése blobtípus és tartalomtípus szerint
Előfeltételek
Azure-előfizetés – fiók létrehozása ingyenesen
Azure Storage-fiók – tárfiók létrehozása
Győződjön meg arról, hogy a felhasználói identitáshoz hozzá van rendelve a Storage Blob Data Közreműködő szerepkör .
Leltárjelentés létrehozása
Blobleltár-jelentések engedélyezése a tárfiókhoz. Lásd: Azure Storage-blobleltár-jelentések engedélyezése.
Használja a következő konfigurációs beállításokat:
| Beállítás | Érték |
|---|---|
| Szabály neve | blobinventory |
| Tároló | <a tároló neve> |
| Objektumtípus a leltárba | Blob |
| Blobtípusok | Blobok, lapblobok és hozzáfűző blobok blokkolása |
| Altípusa | blobverziók belefoglalása, pillanatképek belefoglalása, törölt blobok belefoglalása |
| Blobleltár mezői | Mind |
| Leltár gyakorisága | Napi |
| Formátum exportálása | CSV |
Előfordulhat, hogy akár 24 órát is várnia kell, miután engedélyezte a leltárjelentések készítését az első jelentéshez.
Az Azure Databricks konfigurálása
Ebben a szakaszban létrehoz egy Azure Databricks-munkaterületet és -jegyzetfüzetet. Az oktatóanyag későbbi részében kódrészleteket illeszthet be a jegyzetfüzetcellákba, majd futtathatja őket tárolóstatisztikák gyűjtéséhez.
Azure Databricks-munkaterület létrehozása. Lásd: Azure Databricks-munkaterület létrehozása.
Hozzon létre új notebookot. Lásd: Jegyzetfüzet létrehozása.
Válassza a Pythont a jegyzetfüzet alapértelmezett nyelveként.
A blob leltárfájl olvasása
Másolja és illessze be a következő kódblokkot az első cellába, de még ne futtassa ezt a kódot.
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')Ebben a kódblokkban cserélje le a következő értékeket:
Cserélje le a
<storage-account-name>helyőrző értékét a tárfiók nevére.Cserélje le a
<storage-account-key>helyőrző értékét a tárfiók fiókkulcsára.Cserélje le a
<container-name>helyőrző értéket a leltárjelentéseket tartalmazó tárolóra.Cserélje le a
<blob-inventory-file-name>helyőrzőt a leltárfájl teljes nevére (például:2023/02/02/02-16-17/blobinventory/blobinventory_1000000_0.csv).Ha a fiókja hierarchikus névtérrel rendelkezik, állítsa a
hierarchical_namespace_enabledváltozót a következőre:True.
A kód ebben a cellában való futtatásához nyomja le a Futtatás gombot.
Blobok számának és méretének lekérése
Egy új cellába illessze be a következő kódot:
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)'])A cella futtatásához nyomja le a Futtatás gombot.
A jegyzetfüzet megjeleníti a tárolóban lévő blobok számát és a tárolóban lévő blobok által elfoglalt bájtok számát.
Pillanatképek számának és méretének lekérése
Egy új cellába illessze be a következő kódot:
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)'])A cella futtatásához nyomja le a Futtatás gombot.
A jegyzetfüzet megjeleníti a pillanatképek számát és a blob-pillanatképek által elfoglalt bájtok teljes számát.
Verziószám és -méret lekérése
Egy új cellába illessze be a következő kódot:
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)'])A cella futtatásához nyomja le a SHIFT+ENTER billentyűkombinációt.
A jegyzetfüzet megjeleníti a blobverziók számát és a blobverziók által elfoglalt bájtok teljes számát.
Blobok számának lekérése blobtípus szerint
Egy új cellába illessze be a következő kódot:
display(df.groupBy('BlobType').count().withColumnRenamed("count", "Total number of blobs in the container by BlobType"))A cella futtatásához nyomja le a SHIFT+ENTER billentyűkombinációt.
A jegyzetfüzet típus szerint jeleníti meg a blobtípusok számát.
Blobok számának lekérése tartalomtípus szerint
Egy új cellába illessze be a következő kódot:
display(df.groupBy('Content-Type').count().withColumnRenamed("count", "Total number of blobs in the container by Content-Type"))A cella futtatásához nyomja le a SHIFT+ENTER billentyűkombinációt.
A jegyzetfüzet megjeleníti az egyes tartalomtípusokhoz társított blobok számát.
A fürt leállítása
A szükségtelen számlázás elkerülése érdekében állítsa le a számítási erőforrást. Lásd egy számítási folyamat leállítása.
Következő lépések
Megtudhatja, hogyan használhatja az Azure Synapse-t a blobok számának és a tárolónkénti blobok teljes méretének kiszámításához. Lásd: Blobok számának és tárolónkénti teljes méretének kiszámítása az Azure Storage-leltár használatával
Megtudhatja, hogyan hozhat létre és jeleníthet meg tárolókat és blobokat leíró statisztikákat. Lásd az oktatóanyagot: Blobleltár-jelentések elemzése
Megtudhatja, hogyan optimalizálhatja a költségeket a blobok és a tárolók elemzése alapján. Lásd az alábbi cikkeket:
Az Azure Blob Storage költségeinek megtervezése és kezelése
Az adatok archiválási költségeinek becslése
Költségek optimalizálása az adatéletciklus automatikus kezelésével