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:
- Jeho výchozí systém souborů je v cílovém účtu úložiště. Viz Použití úložiště Azure s clustery Azure HDInsight.
- Jeho verze clusteru musí odpovídat zdrojovému clusteru.
- Používá novou externí databázi metastoru Hive. Viz Použití externích úložišť metadat.
Úč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 podporujeSHOW VIEWS
příkaz od Hive 2.2.0 v HDInsight 4.0. Používá seSHOW 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 Views
použití příkazůSHOW MATERIALIZED VIEWS
,DESCRIBE FORMATTED
aCREATE MATERIALIZED VIEW
. Podrobnosti najdete v materializovaných zobrazeních . - V
Constraints
případě , podporované od Hive 2.1.0 v HDInsight 4.0, použijteDESCRIBE EXTENDED
k výpisu omezení pro tabulku a použítALTER TABLE
k přidání omezení. Podrobnosti najdete v tématu Alter Table Constraints .
Kopírování tabulek Hive
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)
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 -R
HDFS .
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.
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.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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro