Migracja obciążenia hive do nowego konta w usłudze Azure Storage

Dowiedz się, jak używać akcji skryptu do kopiowania tabel hive między kontami magazynu w usłudze HDInsight. Może to być przydatne podczas migracji do Azure Data Lake Storage Gen2programu .

Aby ręcznie skopiować pojedynczą tabelę Hive w usłudze HDInsight 4.0, zobacz Eksportowanie/importowanie programu Hive.

Wymagania wstępne

Jak to działa

Uruchomimy akcję skryptu, aby wyeksportować tabele hive z oryginalnego klastra do określonego katalogu systemu plików HDFS. Zobacz Akcja skryptu uruchomionego klastra.

Następnie uruchomimy inną akcję skryptu w nowym klastrze, aby zaimportować tabele 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 Procedury obsługi magazynu Hive .

Ścieżka tabel zewnętrznych, których nie ma 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ć niestandardowych uprawnień do plików w klastrze docelowym.

Uwaga

Ten przewodnik obsługuje kopiowanie obiektów metadanych związanych z bazami danych, tabelami i partycjami Hive. Inne obiekty metadanych muszą zostać ponownie utworzone ręcznie.

  • W przypadku Viewsprogramu Hive obsługuje SHOW VIEWS polecenie programu Hive 2.2.0 w usłudze HDInsight 4.0. Służy SHOW CREATE TABLE do wyświetlania definicji. W przypadku wcześniejszych wersji programu Hive wyślij zapytanie do bazy danych SQL DB magazynu metadanych, aby wyświetlić widoki.
  • W przypadku Materialized Viewspolecenia użyj poleceń SHOW MATERIALIZED VIEWS, DESCRIBE FORMATTEDi CREATE MATERIALIZED VIEW. Aby uzyskać szczegółowe informacje, zobacz zmaterializowane widoki .
  • W przypadku Constraintsprogramu obsługiwana w wersji Hive 2.1.0 w usłudze HDInsight 4.0 użyj polecenia DESCRIBE EXTENDED , aby wyświetlić listę ograniczeń dla tabeli i użyć jej ALTER TABLE do dodawania ograniczeń. Aby uzyskać szczegółowe informacje, zobacz Alter Table Constraints (Zmiany ograniczeń tabeli ).

Kopiowanie tabel programu Hive

  1. Zastosuj akcję skryptu "export" w oryginalnym klastrze z następującymi polami.

    Spowoduje to wygenerowanie i wykonanie pośredniczących skryptów 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ść 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)
    
  2. Po pomyślnym zakończeniu eksportu zastosuj akcję skryptu "import" w nowym klastrze z następującymi polami.

    Właściwość 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.outwyjś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 -RHDFS .

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.

  1. Określ, --run-script=false aby pominąć wykonywanie wygenerowanego skryptu Hive. Skrypty eksportu i importowania programu Hive nadal będą zapisywane w ścieżce eksportu.

  2. Wykonaj fragmenty kodu eksportu i importu skryptów hive 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