Sdílet prostřednictvím


Migrace úloh Hivu do nového účtu ve službě Azure Storage

Naučte se používat akce skriptů ke kopírování tabulek Hive napříč účty úložiště ve službě HDInsight. To může být užitečné při migraci na Azure Data Lake Storage Gen2.

Pokud chcete ručně zkopírovat jednotlivé tabulky Hive ve službě HDInsight 4.0, přečtěte si téma Export/import Hive.

Požadavky

  • Nový cluster HDInsight s následujícími konfiguracemi:

  • Účet úložiště, který je přístupný pro původní i nové clustery. Viz Přidání dalších účtů úložiště do HDInsight a typů a funkcí úložiště pro povolené sekundární typy úložiště.

    Zde je uvedeno několik možností:

    • Přidejte cílový účet úložiště do původního clusteru.
    • Přidejte původní účet úložiště do nového clusteru.
    • Přidejte zprostředkující účet úložiště do původních i nových clusterů.

Jak to funguje

Spustíme akci skriptu pro export tabulek Hive z původního clusteru do zadaného adresáře HDFS. Viz akce skriptu pro spuštěný cluster.

Potom na novém clusteru spustíme další akci skriptu, která importuje tabulky Hive z adresáře HDFS.

Skript znovu vytvoří tabulky do výchozího systému souborů nového clusteru. Nativní tabulky také zkopírují data v úložišti. Ne nativní tabulky budou kopírovat pouze podle definice. Podrobnosti o ne nativních tabulkách najdete v obslužných rutinách úložiště Hive.

Cesta externích tabulek, které nejsou v adresáři skladu Hive, se zachová. Ostatní tabulky se zkopírují do výchozí cesty Hive cílového clusteru. Viz vlastnosti hive.metastore.warehouse.external.dir Hive a hive.metastore.warehouse.dir.

Skripty nezachovají vlastní oprávnění k souborům v cílovém clusteru.

Poznámka:

Tato příručka podporuje kopírování objektů metadat souvisejících s databázemi, tabulkami a oddíly Hive. Další objekty metadat se musí znovu vytvořit ručně.

  • Pro Views, Hive podporuje SHOW VIEWS příkaz od Hive 2.2.0 v HDInsight 4.0. Používá se SHOW CREATE TABLE pro definici zobrazení. V dřívějších verzích Hive zadejte dotaz na databázi SQL metastoru, aby se zobrazila zobrazení.
  • Pro Materialized Viewspoužití příkazů SHOW MATERIALIZED VIEWS, DESCRIBE FORMATTEDa CREATE MATERIALIZED VIEW. Podrobnosti najdete v materializovaných zobrazeních .
  • V Constraintspřípadě , podporované od Hive 2.1.0 v HDInsight 4.0, použijte DESCRIBE EXTENDED k výpisu omezení pro tabulku a použít ALTER TABLE k přidání omezení. Podrobnosti najdete v tématu Alter Table Constraints .

Kopírování tabulek Hive

  1. Použijte akci skriptu exportu v původním clusteru s následujícími poli.

    Tím se vygenerují a spustí zprostředkující skripty Hive. Uloží se do zadaného <hdfs-export-path>souboru .

    Volitelně je můžete použít --run-script=false k jejich přizpůsobení před ručním spuštěním.

    Vlastnost Hodnota
    Identifikátor URI skriptu Bash https://hdiconfigactions.blob.core.windows.net/linuxhivemigrationv01/export-hive-data-v01.sh
    Typy uzlů 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 úspěšném dokončení exportu použijte akci skriptu importu v novém clusteru s následujícími poli.

    Vlastnost Hodnota
    Identifikátor URI skriptu Bash https://hdiconfigactions.blob.core.windows.net/linuxhivemigrationv01/import-hive-data-v01.sh
    Typy uzlů 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
    
    

Ověření

Stáhněte a spusťte skript jako uživatel root hive_contents.sh na primárním uzlu každého clusteru a porovnejte obsah výstupního souboru /tmp/hive_contents.out. Viz Připojení ke službě HDInsight (Apache Hadoop) pomocí SSH.

Vyčištění dalšího využití úložiště

Po dokončení a ověření migrace úložiště můžete odstranit data v zadané cestě exportu HDFS.

Možnost je použít příkaz hdfs dfs -rm -RHDFS .

Možnost: Snížení dalšího využití úložiště

Akce skriptu exportu pravděpodobně zdvojnásobí využití úložiště kvůli Hivu. Je však možné omezit další využití úložiště migrací ručně, jedné databáze nebo tabulky najednou.

  1. Zadejte --run-script=false , aby se přeskočí provádění vygenerovaného skriptu Hive. Export a import skripty Hive by se stále uložily do cesty exportu.

  2. Spusťte fragmenty kódu exportu Hive a importujte skripty databáze po databázi nebo tabulce podle tabulky a ručně vyčistěte cestu exportu za každou migrovanou databází nebo tabulkou.

Další kroky