一、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 |
---|---|
1 | I_SCHEMA |
2 | MATERIALIZATION_REBUILD_LOCKS |
3 | METASTORE_DB_PROPERTIES |
4 | MIN_HISTORY_LEVEL |
5 | NEXT_WRITE_ID |
6 | REPL_TXN_MAP |
7 | RUNTIME_STATS |
8 | SCHEMA_VERSION |
9 | TXN_TO_WRITE_ID |
10 | WM_MAPPING |
11 | WM_POOL |
12 | WM_POOL_TO_TRIGGER |
13 | WM_RESOURCEPLAN |
14 | WM_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需要更新字段的表
- 数据为空的表,删除重建
序号 | 表名 | hive3 | hive2 | 备注 |
---|---|---|---|---|
1 | COMPLETED_TXN_COMPONENTS | 7 | 4 | |
2 | DB_PRIVS | 10 | 9 | 数据库权限 |
3 | KEY_CONSTRAINTS | 13 | 12 | |
4 | NOTIFICATION_LOG | 9 | 8 | |
5 | PART_COL_PRIVS | 11 | 10 | 分区列的授权信息 |
6 | PART_COL_STATS | 22 | 20 | 分区中列的统计信息 |
7 | PART_PRIVS | 10 | 9 | |
8 | PARTITION_EVENTS | 7 | 6 | |
9 | TAB_COL_STATS | 21 | 19 | 表中列的统计信息,包括数值类型的最大和最小值 |
10 | TBL_COL_PRIVS | 11 | 10 | 表中列的统计信息,包括数值类型的最大和最小值 |
11 | TXN_COMPONENTS | 6 | 5 |
-- ----------------------------
-- 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;
- 数据不为空的表
序号 | 表名 | hive3 | hive2 | 备注 |
---|---|---|---|---|
1 | DBS | 7 | 6 | 存放数据库信息 |
2 | GLOBAL_PRIVS | 9 | 8 | √ |
3 | SERDES | 7 | 3 | hive序列化相关的东西 |
4 | TBL_PRIVS | 10 | 9 | 权限表,重点看一下 |
5 | TBLS | 13 | 12 | |
6 | TXNS | 10 | 9 |
- 执行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需要更改一下版本号文章来源:https://www.toymoban.com/news/detail-709716.html
UPDATE `hive2`.`VERSION` SET `SCHEMA_VERSION` = '3.1.3', `VERSION_COMMENT` = 'Hive release version 3.1.3' WHERE `VER_ID` = 1;
-
DBS需要更新数据库对应的路径文章来源地址https://www.toymoban.com/news/detail-709716.html
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新特性
- 执行引擎变更为**TEZ**,不使用MR
- 成熟的ACID大数据事务支持
- LLAP用于妙极,毫秒级查询访问
- 基于Apache Ranger的统一权限管理
- 默认开启HDFS ACLs
- Beeline代替Hive Cli,降低启动开销
- 不再支持内嵌Metastore
- Spark Catalog不与Hive Catalog集成,但可以互相访问
- 批处理使用TEZ,实时查询使用LLAP
- Hive3支持联邦查询
到了这里,关于hive3升级的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!