Migracja obciążenia hive do nowego konta w usłudze Azure Storage
Dowiedz się, jak używać akcji skryptu do kopiowania tabel programu Hive między kontami magazynu w usłudze HDInsight. Może to być przydatne podczas migracji do Azure Data Lake Storage Gen2
programu .
Aby ręcznie skopiować pojedynczą tabelę Programu Hive w usłudze HDInsight 4.0, zobacz Eksportowanie/importowanie programu Hive.
Wymagania wstępne
Nowy klaster usługi HDInsight z następującymi konfiguracjami:
- Domyślny system plików znajduje się na docelowym koncie magazynu. Zobacz Używanie usługi Azure Storage z klastrami usługi Azure HDInsight.
- Jego wersja klastra musi być zgodna z klasterem źródłowym.
- Używa ona nowej zewnętrznej bazy danych magazynu metadanych Hive. Zobacz Używanie zewnętrznych magazynów metadanych.
Konto magazynu, które jest dostępne zarówno dla oryginalnych, jak i nowych klastrów. Zobacz Dodawanie dodatkowych kont magazynu do usługi HDInsight i typów i funkcji magazynu, aby uzyskać informacje o dozwolonych typach magazynu pomocniczego.
Oto kilka opcji:
- Dodaj docelowe konto magazynu do oryginalnego klastra.
- Dodaj oryginalne konto magazynu do nowego klastra.
- Dodaj pośrednie konto magazynu zarówno do oryginalnych, jak i nowych klastrów.
Jak to działa
Uruchomimy akcję skryptu, aby wyeksportować tabele programu Hive z oryginalnego klastra do określonego katalogu systemu plików HDFS. Zobacz Akcja skryptu w uruchomionym klastrze.
Następnie uruchomimy kolejną akcję skryptu w nowym klastrze, aby zaimportować tabele programu Hive z katalogu HDFS.
Skrypt ponownie utworzy tabele w domyślnym systemie plików nowego klastra. Tabele natywne będą również kopiować dane w magazynie. Tabele inne niż natywne będą kopiować tylko według definicji. Aby uzyskać szczegółowe informacje na temat tabel innych niż natywne, zobacz Programy obsługi magazynu Hive.
Ścieżka tabel zewnętrznych, które nie są w katalogu magazynu Hive, zostanie zachowana. Inne tabele będą kopiować do domyślnej ścieżki programu Hive klastra docelowego. Zobacz Właściwości hive.metastore.warehouse.external.dir
programu Hive i hive.metastore.warehouse.dir
.
Skrypty nie będą zachowywać uprawnień do plików niestandardowych w klastrze docelowym.
Uwaga
Ten przewodnik obsługuje kopiowanie obiektów metadanych związanych z bazami danych, tabelami i partycjami Programu Hive. Inne obiekty metadanych należy utworzyć ponownie ręcznie.
- W przypadku
Views
programu Hive obsługujeSHOW VIEWS
polecenie programu Hive w wersji 2.2.0 w usłudze HDInsight 4.0. SłużySHOW CREATE TABLE
do definicji widoku. W przypadku wcześniejszych wersji programu Hive wyślij zapytanie do bazy danych SQL magazynu metadanych, aby wyświetlić widoki. - W przypadku
Materialized Views
programu użyj poleceńSHOW MATERIALIZED VIEWS
,DESCRIBE FORMATTED
iCREATE MATERIALIZED VIEW
. Aby uzyskać szczegółowe informacje, zobacz zmaterializowane widoki . - W przypadku
Constraints
programu , obsługiwanego w wersji Hive 2.1.0 w usłudze HDInsight 4.0, użyjDESCRIBE EXTENDED
polecenia , aby wyświetlić listę ograniczeń dla tabeli i użyć poleceniaALTER TABLE
, aby dodać ograniczenia. Aby uzyskać szczegółowe informacje, zobacz Alter Table Constraints (Zmienianie ograniczeń tabeli).
Kopiowanie tabel programu Hive
Zastosuj akcję skryptu "eksportuj" w oryginalnym klastrze z następującymi polami.
Spowoduje to wygenerowanie i wykonanie pośredniczących skryptów Programu Hive. Zostaną one zapisane w określonym
<hdfs-export-path>
obiekcie .Opcjonalnie użyj polecenia
--run-script=false
, aby dostosować je przed ręcznym wykonaniem.Właściwości Wartość Identyfikator URI skryptu powłoki Bash https://hdiconfigactions.blob.core.windows.net/linuxhivemigrationv01/export-hive-data-v01.sh
Typy węzłów Head Parametry <hdfs-export-path>
--run-script
usage: generate Hive export and import scripts and export Hive data to specified HDFS path [--run-script={true,false}] hdfs-export-path positional arguments: hdfs-export-path remote HDFS directory to write export data to optional arguments: --run-script={true,false} whether to execute the generated Hive export script (default: true)
Po pomyślnym zakończeniu eksportowania zastosuj akcję skryptu "importuj" w nowym klastrze z następującymi polami.
Właściwości Wartość Identyfikator URI skryptu powłoki Bash https://hdiconfigactions.blob.core.windows.net/linuxhivemigrationv01/import-hive-data-v01.sh
Typy węzłów Head Parametry <hdfs-export-path>
usage: download Hive import script from specified HDFS path and execute it hdfs-export-path positional arguments: hdfs-export-path remote HDFS directory to download Hive import script from
Weryfikacja
Pobierz i uruchom skrypt jako użytkownik hive_contents.sh
główny w węźle podstawowym każdego klastra i porównaj zawartość pliku /tmp/hive_contents.out
wyjściowego . Zobacz Nawiązywanie połączenia z usługą HDInsight (Apache Hadoop) przy użyciu protokołu SSH.
Oczyszczanie dodatkowego użycia magazynu
Po zakończeniu i zweryfikowaniu migracji magazynu można usunąć dane w określonej ścieżce eksportu systemu plików HDFS.
Opcja polega na użyciu polecenia hdfs dfs -rm -R
HDFS .
Opcja: zmniejszenie dodatkowego użycia magazynu
Akcja skryptu eksportu prawdopodobnie podwoi użycie magazynu z powodu programu Hive. Istnieje jednak możliwość ograniczenia dodatkowego użycia magazynu przez migrację ręcznie, jedną bazę danych lub tabelę naraz.
Określ,
--run-script=false
aby pominąć wykonywanie wygenerowanego skryptu Programu Hive. Skrypty eksportowania i importowania programu Hive będą nadal zapisywane w ścieżce eksportu.Wykonaj fragmenty kodu eksportu programu Hive i zaimportuj skrypty database-by-database lub table-by-table, ręcznie czyszcząc ścieżkę eksportu po każdej zmigrowanej bazie danych lub tabeli.
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla