zoukankan      html  css  js  c++  java
  • Hive MetaStore Upgrade

    # cd $HIVE_HOME/scripts/metastore/upgrade/mysql
    [Dev root @ sd-9c1f-2eac /usr/local/src/apache-hive-2.1.1-bin/scripts/metastore/upgrade/mysql]
    # ls
    001-HIVE-972.mysql.sql 027-HIVE-12819.mysql.sql hive-schema-2.0.0.mysql.sql
    002-HIVE-1068.mysql.sql 028-HIVE-12821.mysql.sql hive-schema-2.1.0.mysql.sql
    003-HIVE-675.mysql.sql 029-HIVE-12822.mysql.sql hive-txn-schema-0.13.0.mysql.sql
    004-HIVE-1364.mysql.sql 030-HIVE-12823.mysql.sql hive-txn-schema-0.14.0.mysql.sql
    005-HIVE-417.mysql.sql 031-HIVE-12831.mysql.sql hive-txn-schema-1.3.0.mysql.sql
    006-HIVE-1823.mysql.sql 032-HIVE-12832.mysql.sql hive-txn-schema-2.0.0.mysql.sql
    007-HIVE-78.mysql.sql 034-HIVE-13076.mysql.sql hive-txn-schema-2.1.0.mysql.sql
    008-HIVE-2246.mysql.sql 035-HIVE-13395.mysql.sql README
    009-HIVE-2215.mysql.sql 036-HIVE-13354.mysql.sql upgrade-0.10.0-to-0.11.0.mysql.sql
    010-HIVE-3072.mysql.sql hive-schema-0.10.0.mysql.sql upgrade-0.11.0-to-0.12.0.mysql.sql
    011-HIVE-3649.mysql.sql hive-schema-0.11.0.mysql.sql upgrade-0.12.0-to-0.13.0.mysql.sql
    012-HIVE-1362.mysql.sql hive-schema-0.12.0.mysql.sql upgrade-0.13.0-to-0.14.0.mysql.sql
    013-HIVE-3255.mysql.sql hive-schema-0.13.0.mysql.sql upgrade-0.14.0-to-1.1.0.mysql.sql
    014-HIVE-3764.mysql.sql hive-schema-0.14.0.mysql.sql upgrade-0.5.0-to-0.6.0.mysql.sql
    016-HIVE-6386.mysql.sql hive-schema-0.3.0.mysql.sql upgrade-0.6.0-to-0.7.0.mysql.sql
    017-HIVE-6458.mysql.sql hive-schema-0.4.0.mysql.sql upgrade-0.7.0-to-0.8.0.mysql.sql
    018-HIVE-6757.mysql.sql hive-schema-0.4.1.mysql.sql upgrade-0.8.0-to-0.9.0.mysql.sql
    019-HIVE-7784.mysql.sql hive-schema-0.5.0.mysql.sql upgrade-0.9.0-to-0.10.0.mysql.sql
    020-HIVE-9296.mysql.sql hive-schema-0.6.0.mysql.sql upgrade-1.1.0-to-1.2.0.mysql.sql
    021-HIVE-7018.mysql.sql hive-schema-0.7.0.mysql.sql upgrade-1.2.0-to-1.3.0.mysql.sql
    022-HIVE-11970.mysql.sql hive-schema-0.8.0.mysql.sql upgrade-1.2.0-to-2.0.0.mysql.sql
    023-HIVE-12807.mysql.sql hive-schema-0.9.0.mysql.sql upgrade-2.0.0-to-2.1.0.mysql.sql
    024-HIVE-12814.mysql.sql hive-schema-1.1.0.mysql.sql upgrade.order.mysql
    025-HIVE-12816.mysql.sql hive-schema-1.2.0.mysql.sql
    026-HIVE-12818.mysql.sql hive-schema-1.3.0.mysql.sql

    cat README
    Hive MetaStore Upgrade HowTo
    ============================

    This document describes how to upgrade the schema of a MySQL backed
    Hive MetaStore instance from one release version of Hive to another
    release version of Hive. For example, by following the steps listed
    below it is possible to upgrade a Hive 0.5.0 MetaStore schema to a
    Hive 0.7.0 MetaStore schema. Before attempting this project we
    strongly recommend that you read through all of the steps in this
    document and familiarize yourself with the required tools.

    MetaStore Upgrade Steps
    =======================

    1) Shutdown your MetaStore instance and restrict access to the
    MetaStore's MySQL database. It is very important that no one else
    accesses or modifies the contents of database while you are
    performing the schema upgrade.

    2) Create a backup of your MySQL metastore database. This will allow
    you to revert any changes made during the upgrade process if
    something goes wrong. The mysqldump utility is the easiest way to
    create a backup of a MySQL database:

    % mysqldump --opt <metastore_db_name> > metastore_backup.sql

    Note that you may need also need to specify a hostname and username
    using the --host and --user command line switches.

    3) Dump your metastore database schema to a file. We use the mysqldump
    utility again, but this time with a command line option that
    specifies we are only interested in dumping the DDL statements
    required to create the schema:

    % mysqldump --skip-add-drop-table --no-data <metastore_db_name> > my-schema-x.y.z.mysql.sql

    4) The schema upgrade scripts assume that the schema you are upgrading
    closely matches the official schema for your particular version of
    Hive. The files in this directory with names like
    "hive-schema-x.y.z.mysql.sql" contain dumps of the official schemas
    corresponding to each of the released versions of Hive. You can
    determine differences between your schema and the official schema
    by diffing the contents of the official dump with the schema dump
    you created in the previous step. Some differences are acceptable
    and will not interfere with the upgrade process, but others need to
    be resolved manually or the upgrade scripts will fail to complete.

    * Missing Tables: Hive's default configuration causes the MetaStore
    to create schema elements only when they are needed. Some tables
    may be missing from your MetaStore schema if you have not created
    the corresponding Hive catalog objects, e.g. the PARTITIONS table
    will probably not exist if you have not created any table
    partitions in your MetaStore. You MUST create these missing tables
    before running the upgrade scripts. The easiest way to do this is
    by executing the official schema DDL script against your
    schema. Each of the CREATE TABLE statements in the schema script
    include an IF NOT EXISTS clause, so tables which already exist in
    your schema will be ignored, and those which don't exist will get
    created.

    * Extra Tables: Your schema may include a table named NUCLEUS_TABLES
    or a table named SEQUENCE_TABLE. These tables are managed
    by the DataNucleus ORM layer and will be created automatically if
    they don't exist. No action on your part is required.

    * Reversed Column Constraint Names in the Same Table: Tables with
    multiple constraints may have the names of the constraints
    reversed. For example, the PARTITIONS table contains two foreign
    key constraints named PARTITIONS_FK1 and PARTITIONS_FK2 which
    reference SDS.SD_ID and TBLS.TBL_ID respectively. However, in your
    schema you may find that PARTITIONS_FK1 references TBLS.TBL_ID and
    PARTITIONS_FK2 references SDS.SD_ID. Either version is acceptable
    -- the only requirement is that these constraints actually exist.

    * Differences in Column/Constraint Names: Your schema may contain
    tables with columns named "IDX" or unique keys named
    "UNIQUE<tab_name>". If you find either of these in your schema you
    will need to change the names to "INTEGER_IDX" and
    "UNIQUE_<tab_name>" before running the upgrade scripts. For more
    background on this issue please refer to HIVE-1435.

    5) You are now ready to run the schema upgrade scripts. If you are
    upgrading from Hive 0.5.0 to Hive 0.6.0 you need to run the
    upgrade-0.5.0-to-0.6.0.mysql.sql script, but if you are upgrading
    from 0.5.0 to 0.7.0 you will need to run the 0.5.0 to 0.6.0 upgrade
    script followed by the 0.6.0 to 0.7.0 upgrade script.

    % mysql --verbose
    mysql> use <metastore_db_name>;
    Database changed
    mysql> source upgrade-0.5.0-to-0.6.0.mysql.sql
    mysql> source upgrade-0.6.0-to-0.7.0.mysql.sql

    These scripts should run to completion without any errors. If you
    do encounter errors you need to analyze the cause and attempt to
    trace it back to one of the preceding steps.

    6) The final step of the upgrade process is validating your freshly
    upgraded schema against the official schema for your particular
    version of Hive. This is accomplished by repeating steps (3) and
    (4), but this time comparing against the official version of the
    upgraded schema, e.g. if you upgraded the schema to Hive 0.7.0 then
    you will want to compare your schema dump against the contents of
    hive-schema-0.7.0.mysql.sql

  • 相关阅读:
    看一看Vue.js
    Docker笔记
    Termux使用记录
    【Selenium】利用Cookies登录京东并添加商品至购物车以及结算
    GB 26149-2017 测试项目及要求
    【LeetCode】41. 缺失的第一个正数
    【数据结构】7. 排序
    【数据结构】6. 查找
    【数据结构】5. 图
    【数据结构】4. 树与二叉树
  • 原文地址:https://www.cnblogs.com/liupuLearning/p/6812254.html
Copyright © 2011-2022 走看看