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.
A Microsoft OneLake a Snowflake-nal használható Apache Iceberg-táblák tárolására és elérésére.
Kövesse az alábbi útmutatót a Snowflake azure-ra való használatához:
- Iceberg-táblák írása közvetlenül a OneLake-be
- a Delta Lake formátumból konvertált virtuális Iceberg-táblák olvasása
Az első lépések előtt kövesse az alábbi előfeltételek lépéseit.
Prerequisite
Ahhoz, hogy a Snowflake az Azure-ban Iceberg-táblákat írjon vagy olvashasson a OneLake használatával, a Snowflake-fiók Entra-azonosítóban lévő identitásának képesnek kell lennie kommunikálni a Fabrictel. Engedélyezze a Fabric bérlőszintű beállításait, amelyek lehetővé teszik a szolgáltatási főkulcsok számára, hogy a Fabric API-kat meghívják és a OneLake API-kat meghívják.
Iceberg-táblázat írása a OneLake-be a Snowflake használatával az Azure-ban
Ha Snowflake-t használ az Azure-ban, az alábbi lépések végrehajtásával Iceberg-táblákat írhat a OneLake-be:
Győződjön meg arról, hogy a Fabric-kapacitás ugyanabban az Azure-helyen található, mint a Snowflake-példány.
Azonosítsa a Fabric lakehouse-hoz társított Fabric-kapacitás helyét. Nyissa meg a lakehouse-t tartalmazó Fabric-munkaterület beállításait.
Az Azure-fiók felületének Snowflake bal alsó sarkában ellenőrizze a Snowflake-fiók Azure-régióját.
Ha ezek a régiók eltérőek, akkor a Snowflake-fiókéval azonos régióban más Hálókapacitást kell használnia.
Nyissa meg a tóház Fájlok területének menüjét, válassza a Tulajdonságok lehetőséget, és másolja ki a mappa URL-címét (a HTTPS-elérési utat).
Azonosítsa a Fabric-bérlő azonosítóját. Válassza ki a felhasználói profilját a Háló felhasználói felületének jobb felső sarkában, és mutasson a bérlő neve melletti információs buborékra. Másolja ki a bérlőazonosítót.
Állítsa be a
EXTERNAL VOLUMEa Snowflake-ban a lakehouseFilesmappájának elérési útját használva. A Snowflake külső kötetek beállításáról itt talál további információt.Note
A Snowflake megköveteli, hogy az URL-séma
azure://legyen, ezért mindenképpen változtassa meg az elérési utathttps://-rőlazure://-re.CREATE OR REPLACE EXTERNAL VOLUME onelake_write_exvol STORAGE_LOCATIONS = ( ( NAME = 'onelake_write_exvol' STORAGE_PROVIDER = 'AZURE' STORAGE_BASE_URL = 'azure://<path_to_lakehouse>/Files/icebergtables' AZURE_TENANT_ID = '<Tenant_ID>' ) );Ebben a mintában a külső kötet használatával létrehozott táblákat a Fabric lakehouse tárolja a
Files/icebergtablesmappában.A külső kötet létrehozása után futtassa a következő parancsot annak az alkalmazásnak a hozzájárulási URL-címének és nevének lekéréséhez, amelyet a Snowflake használ a OneLake-be való íráshoz. Ezt az alkalmazást a Snowflake-fiók bármely más külső kötete használja.
DESC EXTERNAL VOLUME onelake_write_exvol;A parancs kimenete a tulajdonságokat és
AZURE_CONSENT_URLaAZURE_MULTI_TENANT_APP_NAMEtulajdonságokat adja vissza. Jegyezze fel mindkét értéket. Az Azure több-bérlős alkalmazás neve így<name>_<number>néz ki, de csak a<name>részt kell rögzítenie.Ha korábban még nem tette meg, nyissa meg az előző lépés hozzájárulási URL-címét egy új böngészőlapon. Ha folytatni szeretné a műveletet, ha a rendszer kéri, adja meg a szükséges alkalmazásengedélyeket. Előfordulhat, hogy a rendszer átirányítja a Snowflake fő webhelyére.
Nyissa meg a munkaterületet a Hálóban, és válassza a Hozzáférés kezelése, majd a Személyek vagy csoportok hozzáadása lehetőséget. Adja meg a Snowflake külső kötete által használt alkalmazásnak a munkaterületen lévő tóházakba való adatíráshoz szükséges engedélyeket. Javasoljuk, hogy adja meg a közreműködői szerepkört.
A Snowflake-ben az új külső kötet használatával hozzon létre egy Iceberg-táblázatot.
CREATE OR REPLACE ICEBERG TABLE MYDATABASE.PUBLIC.Inventory ( InventoryId int, ItemName STRING ) EXTERNAL_VOLUME = 'onelake_write_exvol' CATALOG = 'SNOWFLAKE' BASE_LOCATION = 'Inventory/';Az utasítás futtatása után a külső kötetben definiált mappa elérési útján létre lett hozva az Inventory nevű új Iceberg-táblamappa.
Adjon hozzá néhány adatot a Iceberg-táblához.
INSERT INTO MYDATABASE.PUBLIC.Inventory VALUES (123456,'Amatriciana');Végül, ugyanazon tóház Táblák területén létrehozhat egy OneLake-parancsikont a Iceberg-táblához. Ezzel a parancsikonlal a Iceberg-tábla Delta Lake-táblaként jelenik meg a Fabric-számítási feladatokban való felhasználáshoz.
Virtuális Iceberg-táblázat olvasása a OneLake-ből a Snowflake használatával az Azure-ban
Ha az Azure-beli Snowflake használatával szeretne olvasni egy Delta Lake-táblán alapuló virtuális Iceberg-táblát a Fabricben, kövesse az alábbi lépéseket.
Kövesse az útmutatót annak ellenőrzéséhez, hogy a Delta Lake-tábla sikeresen iceberggé lett-e konvertálva, és jegyezze fel a táblázatot tartalmazó adatelem elérési útját, valamint a tábla legújabb
*.metadata.jsonfájlját.Azonosítsa a Fabric-bérlő azonosítóját. Válassza ki a felhasználói profilját a Háló felhasználói felületének jobb felső sarkában, és mutasson a bérlő neve melletti információs buborékra. Másolja ki a bérlőazonosítót.
A Snowflake-ben állítsa be
EXTERNAL VOLUMEa táblázatot tartalmazó adatelemTablesmappájának elérési útja szerint. A Snowflake külső kötetek beállításáról itt talál további információt.CREATE OR REPLACE EXTERNAL VOLUME onelake_read_exvol STORAGE_LOCATIONS = ( ( NAME = 'onelake_read_exvol' STORAGE_PROVIDER = 'AZURE' STORAGE_BASE_URL = 'azure://<path_to_data_item>/Tables/' AZURE_TENANT_ID = '<Tenant_ID>' ) ) ALLOW_WRITES = false;Note
A hópehelyhez az URL-séma szükséges
azure://, ezért mindenképpen váltsonhttps://azure://rá.Cserélje le
<path_to_data_item>az adatelem elérési útját, példáulhttps://onelake.dfs.fabric.microsoft.com/83896315-c5ba-4777-8d1c-e4ab3a7016bc/a95f62fa-2826-49f8-b561-a163ba537828.A külső kötet létrehozása után futtassa a következő parancsot annak az alkalmazásnak a hozzájárulási URL-címének és nevének lekéréséhez, amelyet a Snowflake használ a OneLake-be való íráshoz. Ezt az alkalmazást a Snowflake-fiók bármely más külső kötete használja.
DESC EXTERNAL VOLUME onelake_read_exvol;A parancs kimenete a tulajdonságokat és
AZURE_CONSENT_URLaAZURE_MULTI_TENANT_APP_NAMEtulajdonságokat adja vissza. Jegyezze fel mindkét értéket. Az Azure több-bérlős alkalmazás neve így<name>_<number>néz ki, de csak a<name>részt kell rögzítenie.Ha korábban még nem tette meg, nyissa meg az előző lépés hozzájárulási URL-címét egy új böngészőlapon. Ha folytatni szeretné a műveletet, ha a rendszer kéri, adja meg a szükséges alkalmazásengedélyeket. Előfordulhat, hogy a rendszer átirányítja a Snowflake fő webhelyére.
Nyissa meg a munkaterületet a Hálóban, és válassza a Hozzáférés kezelése, majd a Személyek vagy csoportok hozzáadása lehetőséget. Adja meg a Snowflake külső kötete által használt alkalmazásnak a munkaterület adatelemeiből való adatolvasáshoz szükséges engedélyeket.
Tip
Ehelyett dönthet úgy, hogy engedélyeket ad meg az adatelem szintjén, ha szeretné. További információ a OneLake-adathozzáférésről.
Ha korábban még nem tette meg, hozza létre az
CATALOG INTEGRATIONobjektumot a Snowflake-ben. A Snowflake erre azért van szükség, hogy meglévő Iceberg-táblákra hivatkozzon a tárolóban.CREATE CATALOG INTEGRATION onelake_catalog_integration CATALOG_SOURCE = OBJECT_STORE TABLE_FORMAT = ICEBERG ENABLED = TRUE;A Snowflake-ben hozzon létre egy Iceberg-táblát, amely a OneLake virtualizált Iceberg-táblájának legújabb metaadatfájljához hivatkozik.
CREATE OR REPLACE ICEBERG TABLE MYDATABASE.PUBLIC.<TABLE_NAME> EXTERNAL_VOLUME = 'onelake_read_exvol' CATALOG = onelake_catalog_integration METADATA_FILE_PATH = '<metadata_file_path>';Note
Cserélje le a(z)
<TABLE_NAME>helyére a táblázat nevét, és a(z)<metadata_file_path>helyére az Iceberg-tábla metaadatfájljának elérési útvonalát, példáuldbo/MyTable/metadata/321.metadata.json.Az utasítás futtatása után már rendelkezik egy hivatkozással a virtualizált Iceberg-táblára, amelyet a Snowflake használatával kérdezhet le.
Az alábbi utasítás futtatásával kérdezheti le a virtualizált Iceberg-táblát.
SELECT TOP 10 * FROM MYDATABASE.PUBLIC.<TABLE_NAME>;
Troubleshooting
Tekintse meg a OneLake táblaformátum virtualizálásának és a Delta Lake és az Apache Iceberg táblázatformátumok közötti konvertálásának dokumentációjának hibaelhárítási és korlátozásait és szempontjait .