Použití služby Azure Data Lake Storage Gen2 s clustery Azure HDInsight
Azure Data Lake Storage Gen2 je cloudová služba úložiště vyhrazená pro analýzy velkých objemů dat, která je založená na azure Blob Storage. Výsledná služba nabízí funkce ze služby Azure Data Lake Storage, včetně sémantiky systému souborů, zabezpečení na úrovni adresáře a zabezpečení na úrovni souborů a přizpůsobení. Spolu s nízkými náklady, vrstveným úložištěm, vysokou dostupností a možnostmi zotavení po havárii z Úložiště objektů blob v Azure.
Úplné porovnání možností vytvoření clusteru pomocí Data Lake Storage Gen2 najdete v tématu Porovnání možností úložiště pro použití s clustery Azure HDInsight.
Upozorňující
Fakturace clusterů HDInsight se účtuje za minutu bez ohledu na to, jestli je používáte, nebo ne. Až cluster dokončíte, nezapomeňte ho odstranit. Podívejte se, jak odstranit cluster HDInsight.
Dostupnost Data Lake Storage Gen2
Data Lake Storage Gen2 je k dispozici jako možnost úložiště pro téměř všechny typy clusterů Azure HDInsight jako výchozí i další účet úložiště. HBase ale může mít pouze jeden účet s Data Lake Storage Gen2.
Poznámka:
Jakmile jako primární typ úložiště vyberete Data Lake Storage Gen2, nemůžete jako další úložiště vybrat Data Lake Storage Gen1.
Vytváření clusterů HDInsight pomocí Data Lake Storage Gen2
Podrobné pokyny k vytváření clusterů HDInsight s přístupem k Data Lake Storage Gen2 najdete na následujících odkazech.
- Pomocí portálu
- Použití Azure CLI
- PowerShell se v současné době nepodporuje při vytváření clusteru HDInsight se službou Azure Data Lake Storage Gen2.
Řízení přístupu pro Data Lake Storage Gen2 ve službě HDInsight
Jaké druhy oprávnění Data Lake Storage Gen2 podporují?
Data Lake Storage Gen2 používá model řízení přístupu, který podporuje řízení přístupu na základě role v Azure (Azure RBAC) i seznamy řízení přístupu podobné poSIX (ACL).
Azure RBAC používá přiřazení rolí k efektivnímu použití sad oprávnění pro uživatele, skupiny a instanční objekty pro prostředky Azure. Tyto prostředky Azure jsou obvykle omezené na prostředky nejvyšší úrovně (například účty Azure Blob Storage). Pro Azure Blob Storage a také Data Lake Storage Gen2 se tento mechanismus rozšířil na prostředek systému souborů.
Další informace o oprávněních k souborům pomocí Azure RBAC najdete v tématu Řízení přístupu na základě role v Azure (Azure RBAC).
Další informace o oprávněních k souborům pomocí seznamů ACL najdete v seznamech řízení přístupu u souborů a adresářů.
Návody řídit přístup k mým datům v Data Lake Storage Gen2?
Schopnost clusteru HDInsight přistupovat k souborům ve službě Data Lake Storage Gen2 je řízena prostřednictvím spravovaných identit. Spravovaná identita je identita registrovaná v Microsoft Entra, jejíž přihlašovací údaje spravuje Azure. U spravovaných identit nemusíte registrovat instanční objekty v Microsoft Entra ID. Nebo udržujte přihlašovací údaje, jako jsou certifikáty.
Služby Azure mají dva typy spravovaných identit: přiřazené systémem a přiřazené uživatelem. Pro přístup k Data Lake Storage Gen2 HDInsight používá spravované identity přiřazené uživatelem. A user-assigned managed identity
se vytvoří jako samostatný prostředek Azure. Azure prostřednictvím procesu vytvoření vytvoří identitu v tenantovi Microsoft Entra, kterému důvěřuje používané předplatné. Po vytvoření identity je možné ji přiřadit k jedné nebo několika instancím služeb Azure.
Životní cyklus identity přiřazené uživatelem se spravuje nezávisle na životním cyklu instancí služeb Azure, ke kterým je přiřazená. Další informace o spravovaných identitách najdete v tématu Co jsou spravované identity pro prostředky Azure?
Návody nastavit oprávnění pro uživatele Microsoft Entra k dotazování dat v Data Lake Storage Gen2 pomocí Hive nebo jiných služeb?
Pokud chcete nastavit oprávnění pro uživatele k dotazování na data, použijte skupiny zabezpečení Microsoft Entra jako přiřazený objekt zabezpečení v seznamech ACL. Nepřiřazujte přímo oprávnění přístupu k souborům jednotlivým uživatelům nebo instančním objektům. Pomocí skupin zabezpečení Microsoft Entra pro řízení toku oprávnění můžete přidávat a odebírat uživatele nebo instanční objekty bez opětovného použití seznamů ACL pro celou adresářovou strukturu. Uživatele musíte přidat nebo odebrat jenom z příslušné skupiny zabezpečení Microsoft Entra. Seznamy ACL nejsou zděděné, takže opětovné použití seznamů ACL vyžaduje aktualizaci seznamu ACL pro každý soubor a podadresář.
Přístup k souborům z clusteru
Existuje několik způsobů, jak získat přístup k souborům v Data Lake Storage Gen2 z clusteru HDInsight.
Pomocí plně kvalifikovaného názvu. S tímto přístupem zadáváte úplnou cestu k souboru, ke kterému chcete získat přístup.
abfs://<containername>@<accountname>.dfs.core.windows.net/<file.path>/
Pomocí zkráceného formátu cesty. Tímto přístupem nahradíte cestu do kořenového adresáře clusteru takto:
abfs:///<file.path>/
Pomocí relativní cesty. S tímto přístupem zadáváte pouze relativní cestu k souboru, ke kterému chcete získat přístup.
/<file.path>/
Příklady přístupu k datům
Příklady jsou založené na připojení ssh k hlavnímu uzlu clusteru. V příkladech se používají všechna tři schémata identifikátorů URI. Nahrazení CONTAINERNAME
a STORAGEACCOUNT
s příslušnými hodnotami
Několik příkazů hdfs
Vytvořte soubor v místním úložišti.
touch testFile.txt
Vytvořte adresáře v úložišti clusteru.
hdfs dfs -mkdir abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/ hdfs dfs -mkdir abfs:///sampledata2/ hdfs dfs -mkdir /sampledata3/
Zkopírujte data z místního úložiště do úložiště clusteru.
hdfs dfs -copyFromLocal testFile.txt abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/ hdfs dfs -copyFromLocal testFile.txt abfs:///sampledata2/ hdfs dfs -copyFromLocal testFile.txt /sampledata3/
Vypíše obsah adresáře v úložišti clusteru.
hdfs dfs -ls abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/ hdfs dfs -ls abfs:///sampledata2/ hdfs dfs -ls /sampledata3/
Vytvoření tabulky Hive
Pro ilustrativní účely se zobrazují tři umístění souborů. Pro skutečné spuštění použijte pouze jednu z LOCATION
položek.
DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
t1 string,
t2 string,
t3 string,
t4 string,
t5 string,
t6 string,
t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/example/data/';
LOCATION 'abfs:///example/data/';
LOCATION '/example/data/';