Korzystanie z usługi Azure Data Lake Storage Gen2 w połączeniu z klastrami usługi Azure HDInsight

Azure Data Lake Storage Gen2 to usługa magazynu w chmurze przeznaczona do analizy danych big data, oparta na usłudze Azure Blob Storage. Usługa Data Lake Storage Gen2 łączy możliwości usługi Azure Blob Storage i Azure Data Lake Storage Gen1. Wynikowa usługa oferuje funkcje usługi Azure Data Lake Storage Gen1, w tym: semantyka systemu plików, zabezpieczenia na poziomie katalogu i poziom plików oraz możliwość dostosowywania. Oprócz tanich, warstwowych magazynów, wysokiej dostępności i możliwości odzyskiwania po awarii z usługi Azure Blob Storage.

Aby uzyskać pełne porównanie opcji tworzenia klastra przy użyciu usługi Data Lake Storage Gen2, zobacz Porównanie opcji magazynu do użycia z klastrami usługi Azure HDInsight.

Ostrzeżenie

Rozliczenia dla klastrów usługi HDInsight są naliczane proporcjonalnie na minutę, niezależnie od tego, czy są używane. Pamiętaj, aby usunąć klaster po zakończeniu korzystania z niego. Zobacz , jak usunąć klaster usługi HDInsight.

Dostępność usługi Data Lake Storage Gen2

Usługa Data Lake Storage Gen2 jest dostępna jako opcja magazynu dla prawie wszystkich typów klastrów usługi Azure HDInsight jako domyślnego i dodatkowego konta magazynu. Baza HBase może jednak mieć tylko jedno konto z usługą Data Lake Storage Gen2.

Uwaga

Po wybraniu usługi Data Lake Storage Gen2 jako podstawowego typu magazynu nie można wybrać usługi Data Lake Storage Gen1 jako dodatkowego magazynu.

Tworzenie klastrów usługi HDInsight przy użyciu usługi Data Lake Storage Gen2

Skorzystaj z poniższych linków, aby uzyskać szczegółowe instrukcje dotyczące tworzenia klastrów usługi HDInsight z dostępem do usługi Data Lake Storage Gen2.

Kontrola dostępu dla usługi Data Lake Storage Gen2 w usłudze HDInsight

Jakiego rodzaju uprawnienia obsługuje usługa Data Lake Storage Gen2?

Usługa Data Lake Storage Gen2 używa modelu kontroli dostępu, który obsługuje zarówno kontrolę dostępu opartą na rolach platformy Azure (Azure RBAC) jak i listy kontroli dostępu podobne do modelu POSIX (ACL). Usługa Data Lake Storage Gen1 obsługuje listy kontroli dostępu tylko do kontrolowania dostępu do danych.

Kontrola dostępu oparta na rolach platformy Azure używa przypisań ról do efektywnego stosowania zestawów uprawnień do użytkowników, grup i jednostek usługi dla zasobów platformy Azure. Zazwyczaj te zasoby platformy Azure są ograniczone do zasobów najwyższego poziomu (na przykład kont usługi Azure Blob Storage). W przypadku usługi Azure Blob Storage, a także usługi Data Lake Storage Gen2, ten mechanizm został rozszerzony na zasób systemu plików.

Aby uzyskać więcej informacji na temat uprawnień do plików z kontrolą dostępu opartą na rolach platformy Azure, zobacz Kontrola dostępu oparta na rolach (RBAC) platformy Azure.

Aby uzyskać więcej informacji na temat uprawnień do plików z listami ACL, zobacz Listy kontroli dostępu dotyczące plików i katalogów.

Jak mogę kontrolować dostęp do moich danych w usłudze Data Lake Storage Gen2?

Możliwość dostępu do plików przez klaster usługi HDInsight w usłudze Data Lake Storage Gen2 jest kontrolowana za pomocą tożsamości zarządzanych. Tożsamość zarządzana to tożsamość zarejestrowana w usłudze Microsoft Entra, której poświadczenia są zarządzane przez platformę Azure. W przypadku tożsamości zarządzanych nie musisz rejestrować jednostek usługi w identyfikatorze Entra firmy Microsoft. Możesz też zachować poświadczenia, takie jak certyfikaty.

Usługi platformy Azure mają dwa typy tożsamości zarządzanych: przypisane przez system i przypisane przez użytkownika. Usługa HDInsight używa tożsamości zarządzanych przypisanych przez użytkownika do uzyskiwania dostępu do usługi Data Lake Storage Gen2. Element A user-assigned managed identity jest tworzony jako autonomiczny zasób platformy Azure. W ramach procesu tworzenia platforma Azure tworzy tożsamość w dzierżawie firmy Microsoft Entra, która jest zaufana przez używaną subskrypcję. Utworzoną tożsamość można przypisać do co najmniej jednego wystąpienia usługi platformy Azure.

Cykl życiowy tożsamości przypisanej przez użytkownika jest zarządzany oddzielnie od cyklu życiowego wystąpień usługi platformy Azure, do których została przypisana. Aby uzyskać więcej informacji na temat tożsamości zarządzanych, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?.

Jak mogę ustawić uprawnienia dla użytkowników firmy Microsoft Entra do wykonywania zapytań dotyczących danych w usłudze Data Lake Storage Gen2 przy użyciu programu Hive lub innych usług?

Aby ustawić uprawnienia dla użytkowników do wykonywania zapytań dotyczących danych, użyj grup zabezpieczeń firmy Microsoft Entra jako przypisanego podmiotu zabezpieczeń w listach ACL. Nie przypisuj bezpośrednio uprawnień dostępu do plików poszczególnym użytkownikom lub jednostkom usługi. Dzięki grupom zabezpieczeń firmy Microsoft Entra w celu kontrolowania przepływu uprawnień można dodawać i usuwać użytkowników lub jednostki usługi bez ponownego wprowadzania list ACL do całej struktury katalogów. Musisz tylko dodać lub usunąć użytkowników z odpowiedniej grupy zabezpieczeń firmy Microsoft Entra. Listy ACL nie są dziedziczone, dlatego ponowne zastosowania list ACL wymagają zaktualizowania listy ACL w każdym pliku i podkatalogu.

Dostęp do plików z klastra

Istnieje kilka sposobów uzyskiwania dostępu do plików w usłudze Data Lake Storage Gen2 z klastra usługi HDInsight.

  • Przy użyciu w pełni kwalifikowanej nazwy. W przypadku tej metody należy podać pełną ścieżkę do pliku, do którego chcesz uzyskać dostęp.

    abfs://<containername>@<accountname>.dfs.core.windows.net/<file.path>/
    
  • Przy użyciu skróconego formatu ścieżki. Dzięki temu podejściu należy zastąpić ścieżkę do katalogu głównego klastra następującymi elementami:

    abfs:///<file.path>/
    
  • Przy użyciu ścieżki względnej. W przypadku tej metody należy podać tylko względną ścieżkę do pliku, do którego chcesz uzyskać dostęp.

    /<file.path>/
    

Przykłady dostępu do danych

Przykłady są oparte na połączeniu SSH z węzłem głównym klastra. W przykładach są używane wszystkie trzy schematy identyfikatorów URI. Zastąp CONTAINERNAME wartości i STORAGEACCOUNT odpowiednimi wartościami

Kilka poleceń hdfs

  1. Utwórz plik w magazynie lokalnym.

    touch testFile.txt
    
  2. Tworzenie katalogów w magazynie klastra.

    hdfs dfs -mkdir abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/
    hdfs dfs -mkdir abfs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. Kopiowanie danych z magazynu lokalnego do magazynu klastra.

    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/
    
  4. Wyświetlanie listy zawartości katalogu w magazynie klastra.

    hdfs dfs -ls abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/
    hdfs dfs -ls abfs:///sampledata2/
    hdfs dfs -ls /sampledata3/
    

Tworzenie tabeli programu Hive

Trzy lokalizacje plików są wyświetlane w celach ilustracyjnych. W przypadku rzeczywistego wykonania użyj tylko jednego z LOCATION wpisów.

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/';

Następne kroki