hive3在升级

一、hive2升级到hive3步骤

1.备份hive2元数据库

mysqldump -h ip -u user-p hive > hive.sql

2.导入到hive3对应的hive元数据表

mysql -h ip -u litbaws -p hive3 < hive3.sql

3.更新hive_metastore数据表信息

3.1需要新增的表
序号hive3
1I_SCHEMA
2MATERIALIZATION_REBUILD_LOCKS
3METASTORE_DB_PROPERTIES
4MIN_HISTORY_LEVEL
5NEXT_WRITE_ID
6REPL_TXN_MAP
7RUNTIME_STATS
8SCHEMA_VERSION
9TXN_TO_WRITE_ID
10WM_MAPPING
11WM_POOL
12WM_POOL_TO_TRIGGER
13WM_RESOURCEPLAN
14WM_TRIGGER
-- ----------------------------
-- Table structure for I_SCHEMA
-- ----------------------------
DROP TABLE IF EXISTS `I_SCHEMA`;
CREATE TABLE `I_SCHEMA`  (
  `SCHEMA_ID` bigint(20) NOT NULL,
  `SCHEMA_TYPE` int(11) NOT NULL,
  `NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `DB_ID` bigint(20) NULL DEFAULT NULL,
  `COMPATIBILITY` int(11) NOT NULL,
  `VALIDATION_LEVEL` int(11) NOT NULL,
  `CAN_EVOLVE` bit(1) NOT NULL,
  `SCHEMA_GROUP` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `DESCRIPTION` varchar(4000) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  PRIMARY KEY (`SCHEMA_ID`) USING BTREE,
  INDEX `DB_ID`(`DB_ID`) USING BTREE,
  INDEX `UNIQUE_NAME`(`NAME`) USING BTREE,
  CONSTRAINT `I_SCHEMA_ibfk_1` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for MATERIALIZATION_REBUILD_LOCKS
-- ----------------------------
DROP TABLE IF EXISTS `MATERIALIZATION_REBUILD_LOCKS`;
CREATE TABLE `MATERIALIZATION_REBUILD_LOCKS`  (
  `MRL_TXN_ID` bigint(20) NOT NULL,
  `MRL_DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `MRL_TBL_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `MRL_LAST_HEARTBEAT` bigint(20) NOT NULL,
  PRIMARY KEY (`MRL_TXN_ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for METASTORE_DB_PROPERTIES
-- ----------------------------
DROP TABLE IF EXISTS `METASTORE_DB_PROPERTIES`;
CREATE TABLE `METASTORE_DB_PROPERTIES`  (
  `PROPERTY_KEY` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `PROPERTY_VALUE` varchar(1000) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `DESCRIPTION` varchar(1000) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  PRIMARY KEY (`PROPERTY_KEY`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for MIN_HISTORY_LEVEL
-- ----------------------------
DROP TABLE IF EXISTS `MIN_HISTORY_LEVEL`;
CREATE TABLE `MIN_HISTORY_LEVEL`  (
  `MHL_TXNID` bigint(20) NOT NULL,
  `MHL_MIN_OPEN_TXNID` bigint(20) NOT NULL,
  PRIMARY KEY (`MHL_TXNID`) USING BTREE,
  INDEX `MIN_HISTORY_LEVEL_IDX`(`MHL_MIN_OPEN_TXNID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for NEXT_WRITE_ID
-- ----------------------------
DROP TABLE IF EXISTS `NEXT_WRITE_ID`;
CREATE TABLE `NEXT_WRITE_ID`  (
  `NWI_DATABASE` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `NWI_TABLE` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `NWI_NEXT` bigint(20) NOT NULL,
  UNIQUE INDEX `NEXT_WRITE_ID_IDX`(`NWI_DATABASE`, `NWI_TABLE`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for REPL_TXN_MAP
-- ----------------------------
DROP TABLE IF EXISTS `REPL_TXN_MAP`;
CREATE TABLE `REPL_TXN_MAP`  (
  `RTM_REPL_POLICY` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `RTM_SRC_TXN_ID` bigint(20) NOT NULL,
  `RTM_TARGET_TXN_ID` bigint(20) NOT NULL,
  PRIMARY KEY (`RTM_REPL_POLICY`, `RTM_SRC_TXN_ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for RUNTIME_STATS
-- ----------------------------
DROP TABLE IF EXISTS `RUNTIME_STATS`;
CREATE TABLE `RUNTIME_STATS`  (
  `RS_ID` bigint(20) NOT NULL,
  `CREATE_TIME` bigint(20) NOT NULL,
  `WEIGHT` bigint(20) NOT NULL,
  `PAYLOAD` blob NULL,
  PRIMARY KEY (`RS_ID`) USING BTREE,
  INDEX `IDX_RUNTIME_STATS_CREATE_TIME`(`CREATE_TIME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for SCHEMA_VERSION
-- ----------------------------
DROP TABLE IF EXISTS `SCHEMA_VERSION`;
CREATE TABLE `SCHEMA_VERSION`  (
  `SCHEMA_VERSION_ID` bigint(20) NOT NULL,
  `SCHEMA_ID` bigint(20) NULL DEFAULT NULL,
  `VERSION` int(11) NOT NULL,
  `CREATED_AT` bigint(20) NOT NULL,
  `CD_ID` bigint(20) NULL DEFAULT NULL,
  `STATE` int(11) NOT NULL,
  `DESCRIPTION` varchar(4000) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `SCHEMA_TEXT` mediumtext CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL,
  `FINGERPRINT` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `SCHEMA_VERSION_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `SERDE_ID` bigint(20) NULL DEFAULT NULL,
  PRIMARY KEY (`SCHEMA_VERSION_ID`) USING BTREE,
  INDEX `CD_ID`(`CD_ID`) USING BTREE,
  INDEX `SERDE_ID`(`SERDE_ID`) USING BTREE,
  INDEX `UNIQUE_VERSION`(`SCHEMA_ID`, `VERSION`) USING BTREE,
  CONSTRAINT `SCHEMA_VERSION_ibfk_1` FOREIGN KEY (`SCHEMA_ID`) REFERENCES `I_SCHEMA` (`SCHEMA_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `SCHEMA_VERSION_ibfk_2` FOREIGN KEY (`CD_ID`) REFERENCES `CDS` (`CD_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `SCHEMA_VERSION_ibfk_3` FOREIGN KEY (`SERDE_ID`) REFERENCES `SERDES` (`SERDE_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for TXN_TO_WRITE_ID
-- ----------------------------
DROP TABLE IF EXISTS `TXN_TO_WRITE_ID`;
CREATE TABLE `TXN_TO_WRITE_ID`  (
  `T2W_TXNID` bigint(20) NOT NULL,
  `T2W_DATABASE` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `T2W_TABLE` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `T2W_WRITEID` bigint(20) NOT NULL,
  UNIQUE INDEX `TBL_TO_TXN_ID_IDX`(`T2W_DATABASE`, `T2W_TABLE`, `T2W_TXNID`) USING BTREE,
  UNIQUE INDEX `TBL_TO_WRITE_ID_IDX`(`T2W_DATABASE`, `T2W_TABLE`, `T2W_WRITEID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


---------------------------------------------------------------------------------------------------------

-- ----------------------------
-- Table structure for WM_MAPPING
-- ----------------------------
DROP TABLE IF EXISTS `WM_MAPPING`;
CREATE TABLE `WM_MAPPING`  (
  `MAPPING_ID` bigint(20) NOT NULL,
  `RP_ID` bigint(20) NOT NULL,
  `ENTITY_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `ENTITY_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `POOL_ID` bigint(20) NULL DEFAULT NULL,
  `ORDERING` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`MAPPING_ID`) USING BTREE,
  UNIQUE INDEX `UNIQUE_WM_MAPPING`(`RP_ID`, `ENTITY_TYPE`, `ENTITY_NAME`) USING BTREE,
  INDEX `WM_MAPPING_FK2`(`POOL_ID`) USING BTREE
  -- CONSTRAINT `WM_MAPPING_FK1` FOREIGN KEY (`RP_ID`) REFERENCES `WM_RESOURCEPLAN` (`RP_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  -- CONSTRAINT `WM_MAPPING_FK2` FOREIGN KEY (`POOL_ID`) REFERENCES `WM_POOL` (`POOL_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
DROP TABLE IF EXISTS `WM_POOL`;
CREATE TABLE `WM_POOL`  (
  `POOL_ID` bigint(20) NOT NULL,
  `RP_ID` bigint(20) NOT NULL,
  `PATH` varchar(767) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `ALLOC_FRACTION` double NULL DEFAULT NULL,
  `QUERY_PARALLELISM` int(11) NULL DEFAULT NULL,
  `SCHEDULING_POLICY` varchar(767) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  PRIMARY KEY (`POOL_ID`) USING BTREE,
  UNIQUE INDEX `UNIQUE_WM_POOL`(`RP_ID`, `PATH`) USING BTREE
  -- CONSTRAINT `WM_POOL_FK1` FOREIGN KEY (`RP_ID`) REFERENCES `WM_RESOURCEPLAN` (`RP_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for WM_POOL_TO_TRIGGER
-- ----------------------------
DROP TABLE IF EXISTS `WM_POOL_TO_TRIGGER`;
CREATE TABLE `WM_POOL_TO_TRIGGER`  (
  `POOL_ID` bigint(20) NOT NULL,
  `TRIGGER_ID` bigint(20) NOT NULL,
  PRIMARY KEY (`POOL_ID`, `TRIGGER_ID`) USING BTREE,
  INDEX `WM_POOL_TO_TRIGGER_FK2`(`TRIGGER_ID`) USING BTREE
  -- CONSTRAINT `WM_POOL_TO_TRIGGER_FK1` FOREIGN KEY (`POOL_ID`) REFERENCES `WM_POOL` (`POOL_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  -- CONSTRAINT `WM_POOL_TO_TRIGGER_FK2` FOREIGN KEY (`TRIGGER_ID`) REFERENCES `WM_TRIGGER` (`TRIGGER_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for WM_RESOURCEPLAN
-- ----------------------------
DROP TABLE IF EXISTS `WM_RESOURCEPLAN`;
CREATE TABLE `WM_RESOURCEPLAN`  (
  `RP_ID` bigint(20) NOT NULL,
  `NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `QUERY_PARALLELISM` int(11) NULL DEFAULT NULL,
  `STATUS` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `DEFAULT_POOL_ID` bigint(20) NULL DEFAULT NULL,
  PRIMARY KEY (`RP_ID`) USING BTREE,
  UNIQUE INDEX `UNIQUE_WM_RESOURCEPLAN`(`NAME`) USING BTREE,
  INDEX `WM_RESOURCEPLAN_FK1`(`DEFAULT_POOL_ID`) USING BTREE
  -- CONSTRAINT `WM_RESOURCEPLAN_FK1` FOREIGN KEY (`DEFAULT_POOL_ID`) REFERENCES `WM_POOL` (`POOL_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for WM_TRIGGER
-- ----------------------------
DROP TABLE IF EXISTS `WM_TRIGGER`;
CREATE TABLE `WM_TRIGGER`  (
  `TRIGGER_ID` bigint(20) NOT NULL,
  `RP_ID` bigint(20) NOT NULL,
  `NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `TRIGGER_EXPRESSION` varchar(1024) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `ACTION_EXPRESSION` varchar(1024) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `IS_IN_UNMANAGED` bit(1) NOT NULL DEFAULT b'0',
  PRIMARY KEY (`TRIGGER_ID`) USING BTREE,
  UNIQUE INDEX `UNIQUE_WM_TRIGGER`(`RP_ID`, `NAME`) USING BTREE
  -- CONSTRAINT `WM_TRIGGER_FK1` FOREIGN KEY (`RP_ID`) REFERENCES `WM_RESOURCEPLAN` (`RP_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


-- 添加主键约束
ALTER TABLE WM_MAPPING ADD CONSTRAINT `WM_MAPPING_FK1` FOREIGN KEY (`RP_ID`) REFERENCES `WM_RESOURCEPLAN` (`RP_ID`);
ALTER TABLE WM_MAPPING ADD CONSTRAINT `WM_MAPPING_FK2` FOREIGN KEY (`POOL_ID`) REFERENCES `WM_POOL` (`POOL_ID`);
ALTER TABLE WM_POOL ADD CONSTRAINT WM_POOL_FK1 FOREIGN KEY(RP_ID) REFERENCES `WM_RESOURCEPLAN` (`RP_ID`);
ALTER TABLE WM_POOL_TO_TRIGGER ADD CONSTRAINT `WM_POOL_TO_TRIGGER_FK1` FOREIGN KEY (`POOL_ID`) REFERENCES `WM_POOL` (`POOL_ID`);
ALTER TABLE WM_POOL_TO_TRIGGER ADD CONSTRAINT `WM_POOL_TO_TRIGGER_FK2` FOREIGN KEY (`TRIGGER_ID`) REFERENCES `WM_TRIGGER` (`TRIGGER_ID`);
ALTER TABLE WM_RESOURCEPLAN ADD CONSTRAINT `WM_RESOURCEPLAN_FK1` FOREIGN KEY (`DEFAULT_POOL_ID`) REFERENCES `WM_POOL` (`POOL_ID`);
ALTER TABLE WM_TRIGGER ADD CONSTRAINT `WM_TRIGGER_FK1` FOREIGN KEY (`RP_ID`) REFERENCES `WM_RESOURCEPLAN` (`RP_ID`);
3.2需要更新字段的表
  • 数据为空的表,删除重建
序号表名hive3hive2备注
1COMPLETED_TXN_COMPONENTS74
2DB_PRIVS109数据库权限
3KEY_CONSTRAINTS1312
4NOTIFICATION_LOG98
5PART_COL_PRIVS1110分区列的授权信息
6PART_COL_STATS2220分区中列的统计信息
7PART_PRIVS109
8PARTITION_EVENTS76
9TAB_COL_STATS2119表中列的统计信息,包括数值类型的最大和最小值
10TBL_COL_PRIVS1110表中列的统计信息,包括数值类型的最大和最小值
11TXN_COMPONENTS65
-- ----------------------------
-- Table structure for COMPLETED_TXN_COMPONENTS
-- ----------------------------
DROP TABLE IF EXISTS `COMPLETED_TXN_COMPONENTS`;
CREATE TABLE `COMPLETED_TXN_COMPONENTS`  (
  `CTC_TXNID` bigint(20) NOT NULL,
  `CTC_DATABASE` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `CTC_TABLE` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `CTC_PARTITION` varchar(767) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `CTC_TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `CTC_WRITEID` bigint(20) NULL DEFAULT NULL,
  `CTC_UPDATE_DELETE` char(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  INDEX `COMPLETED_TXN_COMPONENTS_IDX`(`CTC_DATABASE`, `CTC_TABLE`, `CTC_PARTITION`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for DB_PRIVS
-- ----------------------------
DROP TABLE IF EXISTS `DB_PRIVS`;
CREATE TABLE `DB_PRIVS`  (
  `DB_GRANT_ID` bigint(20) NOT NULL,
  `CREATE_TIME` int(11) NOT NULL,
  `DB_ID` bigint(20) NULL DEFAULT NULL,
  `GRANT_OPTION` smallint(6) NOT NULL,
  `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `DB_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `AUTHORIZER` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  PRIMARY KEY (`DB_GRANT_ID`) USING BTREE,
  UNIQUE INDEX `DBPRIVILEGEINDEX`(`AUTHORIZER`, `DB_ID`, `PRINCIPAL_NAME`, `PRINCIPAL_TYPE`, `DB_PRIV`, `GRANTOR`, `GRANTOR_TYPE`) USING BTREE,
  INDEX `DB_PRIVS_N49`(`DB_ID`) USING BTREE,
  CONSTRAINT `DB_PRIVS_FK1` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for KEY_CONSTRAINTS
-- ----------------------------
DROP TABLE IF EXISTS `KEY_CONSTRAINTS`;
CREATE TABLE `KEY_CONSTRAINTS`  (
  `CHILD_CD_ID` bigint(20) NULL DEFAULT NULL,
  `CHILD_INTEGER_IDX` int(11) NULL DEFAULT NULL,
  `CHILD_TBL_ID` bigint(20) NULL DEFAULT NULL,
  `PARENT_CD_ID` bigint(20) NULL DEFAULT NULL,
  `PARENT_INTEGER_IDX` int(11) NOT NULL,
  `PARENT_TBL_ID` bigint(20) NOT NULL,
  `POSITION` bigint(20) NOT NULL,
  `CONSTRAINT_NAME` varchar(400) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `CONSTRAINT_TYPE` smallint(6) NOT NULL,
  `UPDATE_RULE` smallint(6) NULL DEFAULT NULL,
  `DELETE_RULE` smallint(6) NULL DEFAULT NULL,
  `ENABLE_VALIDATE_RELY` smallint(6) NOT NULL,
  `DEFAULT_VALUE` varchar(400) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  PRIMARY KEY (`CONSTRAINT_NAME`, `POSITION`) USING BTREE,
  INDEX `CONSTRAINTS_PARENT_TABLE_ID_INDEX`(`PARENT_TBL_ID`) USING BTREE,
  INDEX `CONSTRAINTS_CONSTRAINT_TYPE_INDEX`(`CONSTRAINT_TYPE`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for NOTIFICATION_LOG
-- ----------------------------
DROP TABLE IF EXISTS `NOTIFICATION_LOG`;
CREATE TABLE `NOTIFICATION_LOG`  (
  `NL_ID` bigint(20) NOT NULL,
  `EVENT_ID` bigint(20) NOT NULL,
  `EVENT_TIME` int(11) NOT NULL,
  `EVENT_TYPE` varchar(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `CAT_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `TBL_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `MESSAGE` longtext CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL,
  `MESSAGE_FORMAT` varchar(16) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  PRIMARY KEY (`NL_ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for PART_COL_PRIVS
-- ----------------------------
DROP TABLE IF EXISTS `PART_COL_PRIVS`;
CREATE TABLE `PART_COL_PRIVS`  (
  `PART_COLUMN_GRANT_ID` bigint(20) NOT NULL,
  `COLUMN_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `CREATE_TIME` int(11) NOT NULL,
  `GRANT_OPTION` smallint(6) NOT NULL,
  `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PART_ID` bigint(20) NULL DEFAULT NULL,
  `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PART_COL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `AUTHORIZER` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  PRIMARY KEY (`PART_COLUMN_GRANT_ID`) USING BTREE,
  INDEX `PART_COL_PRIVS_N49`(`PART_ID`) USING BTREE,
  INDEX `PARTITIONCOLUMNPRIVILEGEINDEX`(`AUTHORIZER`, `PART_ID`, `COLUMN_NAME`, `PRINCIPAL_NAME`, `PRINCIPAL_TYPE`, `PART_COL_PRIV`, `GRANTOR`, `GRANTOR_TYPE`) USING BTREE,
  CONSTRAINT `PART_COL_PRIVS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for PART_COL_STATS
-- ----------------------------
DROP TABLE IF EXISTS `PART_COL_STATS`;
CREATE TABLE `PART_COL_STATS`  (
  `CS_ID` bigint(20) NOT NULL,
  `CAT_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'hive',
  `DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `TABLE_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `PARTITION_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `COLUMN_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `COLUMN_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `PART_ID` bigint(20) NOT NULL,
  `LONG_LOW_VALUE` bigint(20) NULL DEFAULT NULL,
  `LONG_HIGH_VALUE` bigint(20) NULL DEFAULT NULL,
  `DOUBLE_HIGH_VALUE` double(53, 4) NULL DEFAULT NULL,
  `DOUBLE_LOW_VALUE` double(53, 4) NULL DEFAULT NULL,
  `BIG_DECIMAL_LOW_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `BIG_DECIMAL_HIGH_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `NUM_NULLS` bigint(20) NOT NULL,
  `NUM_DISTINCTS` bigint(20) NULL DEFAULT NULL,
  `BIT_VECTOR` blob NULL,
  `AVG_COL_LEN` double(53, 4) NULL DEFAULT NULL,
  `MAX_COL_LEN` bigint(20) NULL DEFAULT NULL,
  `NUM_TRUES` bigint(20) NULL DEFAULT NULL,
  `NUM_FALSES` bigint(20) NULL DEFAULT NULL,
  `LAST_ANALYZED` bigint(20) NOT NULL,
  PRIMARY KEY (`CS_ID`) USING BTREE,
  INDEX `PART_COL_STATS_FK`(`PART_ID`) USING BTREE,
  INDEX `PCS_STATS_IDX`(`CAT_NAME`, `DB_NAME`, `TABLE_NAME`, `COLUMN_NAME`, `PARTITION_NAME`) USING BTREE,
  CONSTRAINT `PART_COL_STATS_FK` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for PART_PRIVS
-- ----------------------------
DROP TABLE IF EXISTS `PART_PRIVS`;
CREATE TABLE `PART_PRIVS`  (
  `PART_GRANT_ID` bigint(20) NOT NULL,
  `CREATE_TIME` int(11) NOT NULL,
  `GRANT_OPTION` smallint(6) NOT NULL,
  `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PART_ID` bigint(20) NULL DEFAULT NULL,
  `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PART_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `AUTHORIZER` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  PRIMARY KEY (`PART_GRANT_ID`) USING BTREE,
  INDEX `PARTPRIVILEGEINDEX`(`AUTHORIZER`, `PART_ID`, `PRINCIPAL_NAME`, `PRINCIPAL_TYPE`, `PART_PRIV`, `GRANTOR`, `GRANTOR_TYPE`) USING BTREE,
  INDEX `PART_PRIVS_N49`(`PART_ID`) USING BTREE,
  CONSTRAINT `PART_PRIVS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for PARTITION_EVENTS
-- ----------------------------
DROP TABLE IF EXISTS `PARTITION_EVENTS`;
CREATE TABLE `PARTITION_EVENTS`  (
  `PART_NAME_ID` bigint(20) NOT NULL,
  `CAT_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `EVENT_TIME` bigint(20) NOT NULL,
  `EVENT_TYPE` int(11) NOT NULL,
  `PARTITION_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `TBL_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  PRIMARY KEY (`PART_NAME_ID`) USING BTREE,
  INDEX `PARTITIONEVENTINDEX`(`PARTITION_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for TAB_COL_STATS
-- ----------------------------
DROP TABLE IF EXISTS `TAB_COL_STATS`;
CREATE TABLE `TAB_COL_STATS`  (
  `CS_ID` bigint(20) NOT NULL,
  `CAT_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'hive',
  `DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `TABLE_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `COLUMN_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `COLUMN_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `TBL_ID` bigint(20) NOT NULL,
  `LONG_LOW_VALUE` bigint(20) NULL DEFAULT NULL,
  `LONG_HIGH_VALUE` bigint(20) NULL DEFAULT NULL,
  `DOUBLE_HIGH_VALUE` double(53, 4) NULL DEFAULT NULL,
  `DOUBLE_LOW_VALUE` double(53, 4) NULL DEFAULT NULL,
  `BIG_DECIMAL_LOW_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `BIG_DECIMAL_HIGH_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `NUM_NULLS` bigint(20) NOT NULL,
  `NUM_DISTINCTS` bigint(20) NULL DEFAULT NULL,
  `BIT_VECTOR` blob NULL,
  `AVG_COL_LEN` double(53, 4) NULL DEFAULT NULL,
  `MAX_COL_LEN` bigint(20) NULL DEFAULT NULL,
  `NUM_TRUES` bigint(20) NULL DEFAULT NULL,
  `NUM_FALSES` bigint(20) NULL DEFAULT NULL,
  `LAST_ANALYZED` bigint(20) NOT NULL,
  PRIMARY KEY (`CS_ID`) USING BTREE,
  INDEX `TAB_COL_STATS_FK`(`TBL_ID`) USING BTREE,
  INDEX `TAB_COL_STATS_IDX`(`CAT_NAME`, `DB_NAME`, `TABLE_NAME`, `COLUMN_NAME`) USING BTREE,
  CONSTRAINT `TAB_COL_STATS_FK` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for TBL_COL_PRIVS
-- ----------------------------
DROP TABLE IF EXISTS `TBL_COL_PRIVS`;
CREATE TABLE `TBL_COL_PRIVS`  (
  `TBL_COLUMN_GRANT_ID` bigint(20) NOT NULL,
  `COLUMN_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `CREATE_TIME` int(11) NOT NULL,
  `GRANT_OPTION` smallint(6) NOT NULL,
  `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `TBL_COL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  `TBL_ID` bigint(20) NULL DEFAULT NULL,
  `AUTHORIZER` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL,
  PRIMARY KEY (`TBL_COLUMN_GRANT_ID`) USING BTREE,
  INDEX `TABLECOLUMNPRIVILEGEINDEX`(`AUTHORIZER`, `TBL_ID`, `COLUMN_NAME`, `PRINCIPAL_NAME`, `PRINCIPAL_TYPE`, `TBL_COL_PRIV`, `GRANTOR`, `GRANTOR_TYPE`) USING BTREE,
  INDEX `TBL_COL_PRIVS_N49`(`TBL_ID`) USING BTREE,
  CONSTRAINT `TBL_COL_PRIVS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for TXN_COMPONENTS
-- ----------------------------
DROP TABLE IF EXISTS `TXN_COMPONENTS`;
CREATE TABLE `TXN_COMPONENTS`  (
  `TC_TXNID` bigint(20) NOT NULL,
  `TC_DATABASE` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `TC_TABLE` varchar(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `TC_PARTITION` varchar(767) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `TC_OPERATION_TYPE` char(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `TC_WRITEID` bigint(20) NULL DEFAULT NULL,
  INDEX `TC_TXNID_INDEX`(`TC_TXNID`) USING BTREE,
  CONSTRAINT `TXN_COMPONENTS_ibfk_1` FOREIGN KEY (`TC_TXNID`) REFERENCES `TXNS` (`TXN_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
  • 数据不为空的表
序号表名hive3hive2备注
1DBS76存放数据库信息
2GLOBAL_PRIVS98
3SERDES73hive序列化相关的东西
4TBL_PRIVS109权限表,重点看一下
5TBLS1312
6TXNS109
  • 执行sql
ALTER TABLE `DBS` ADD CTLG_NAME VARCHAR(255) DEFAULT 'hive';
ALTER TABLE `GLOBAL_PRIVS` ADD AUTHORIZER VARCHAR(255) DEFAULT 'SQL';
ALTER TABLE `SERDES` ADD DESCRIPTION	varchar(4000);
ALTER TABLE `SERDES` ADD SERIALIZER_CLASS	varchar(4000);
ALTER TABLE `SERDES` ADD DESERIALIZER_CLASS	varchar(4000);
ALTER TABLE `SERDES` ADD SERDE_TYPE		int(11) DEFAULT 0;
ALTER TABLE `TBL_PRIVS` ADD AUTHORIZER varchar(128) DEFAULT 'SQL';
ALTER TABLE `TBLS` ADD OWNER_TYPE	varchar(10) DEFAULT 'USER';
ALTER TABLE `TXNS` ADD TXN_TYPE	int(11);

3.3需要更改数据的表
  • VERSION需要更改一下版本号

    UPDATE `hive2`.`VERSION` SET `SCHEMA_VERSION` = '3.1.3', `VERSION_COMMENT` = 'Hive release version 3.1.3' WHERE `VER_ID` = 1;
    
  • DBS需要更新数据库对应的路径

UPDATE `hive2`.`DBS` SET `DESC` = NULL, `DB_LOCATION_URI` = 'hdfs://ip-10-5-1-85.ec2.internal:8020/user/hive/warehouse/dyh2.db', `NAME` = 'dyh2', `OWNER_NAME` = 'hadoop', `OWNER_TYPE` = 'USER', `CTLG_NAME` = 'hive' WHERE `DB_ID` = 2;

4.hive3上集群需要的操作

4.1更改元数据对应的库名
  • 修改/etc/hive/conf/hive-site.xml文件
<value>jdbc:mysql://ip:3306/hive_metastore?createDatabaseIfNotExist=true</value>
4.2重启HiveMetaStore对应服务
sudo jps | grep Jar
sudo kill -9 pid

二、hive3新特性

  1. 执行引擎变更为**TEZ**,不使用MR
  2. 成熟的ACID大数据事务支持
  3. LLAP用于妙极,毫秒级查询访问
  4. 基于Apache Ranger的统一权限管理
  5. 默认开启HDFS ACLs
  6. Beeline代替Hive Cli,降低启动开销
  7. 不再支持内嵌Metastore
  8. Spark Catalog不与Hive Catalog集成,但可以互相访问
  9. 批处理使用TEZ,实时查询使用LLAP
  10. Hive3支持联邦查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive是一个基于Hadoop的开源数据仓库工具,用于处理大规模的数据集。滚动升级是指在不中断现有的Hive服务和数据的情况下,将Hive升级到更高版本。下面是Hive滚动升级的一般步骤: 1.备份数据:在开始滚动升级之前,务必备份Hive的元数据和数据。可以使用Hive metastore的导出功能来备份元数据,并将Hadoop集群上的Hive数据库目录复制到一个安全的位置。 2.安装新版本:下载并安装Hive的新版本,确保新版本与当前的Hadoop集群兼容。可以通过解压安装包或使用软件包管理器来安装新版本。 3.测试新版本:在进行正式升级之前,建议在一个测试环境中对新版本进行测试。可以使用一些示例查询和表来验证新版本是否正常工作。 4.停止Hive服务:在进行滚动升级之前,需要停止当前运行的Hive服务。可以使用以下命令停止Hive服务: hive --service hiveserver2 stop 5.升级元数据:在停止Hive服务后,需要升级Hive元数据。可以使用Hive的元数据升级工具来完成此操作。运行升级工具时,需要指定先前备份的元数据路径。 6.修改配置文件(可选):在升级过程中,可能需要修改Hive的配置文件以适应新版本的要求。可以将先前备份的配置与新版本的配置进行比较,并进行相应的更改。 7.启动Hive服务:在完成元数据升级和配置修改后,可以启动Hive服务以使升级生效。可以使用以下命令启动Hive服务: hive --service hiveserver2 start 8.验证升级:一旦Hive服务启动,可以使用一些查询和操作来验证升级是否成功。可以确认数据可以正常读取和写入,并确保查询结果与预期一致。 滚动升级Hive时,需要非常小心并仔细遵循官方文档中的指导。此外,在进行升级之前,最好在一个测试环境中对整个过程进行实施并验证。如果升级出现任何问题,可以通过还原元数据和数据的备份来恢复到之前的状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值