王若鱼
2019-03-12 16:27
采纳率: 100%
浏览 1.0k
已采纳

hive怎么开启支持单条数据的insert支持?是开启事务吗?

关于开启hive的事务支持,我在网上查了很多,都说执行
INSERT INTO NEXT_LOCK_ID VALUES(1);
INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1);
INSERT INTO NEXT_TXN_ID VALUES(1);
COMMIT;
这四句sql,但问题是mysql的hive库没有这仨表,也没有一个说NEXT_LOCK_ID、NEXT_COMPACTION_QUEUE_ID、NEXT_TXN_ID这三个表怎么建的?哪位大神解答下,非常感谢!!!
图片说明
图片说明
hive版本:apache版1.1.0

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • l584814283 2019-06-20 09:25
    已采纳

    我的是生产环境5张表没有,但是测试环境5张表都是全的,以下是五张表的建表语句
    CREATE TABLE hive.COMPACTION_QUEUE (
    CQ_ID bigint(20) NOT NULL,
    CQ_DATABASE varchar(128) NOT NULL,
    CQ_TABLE varchar(128) NOT NULL,
    CQ_PARTITION varchar(767) DEFAULT NULL,
    CQ_STATE char(1) NOT NULL,
    CQ_TYPE char(1) NOT NULL,
    CQ_WORKER_ID varchar(128) DEFAULT NULL,
    CQ_START bigint(20) DEFAULT NULL,
    CQ_RUN_AS varchar(128) DEFAULT NULL,
    PRIMARY KEY (CQ_ID)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    CREATE TABLE hive.HIVE_LOCKS (
    HL_LOCK_EXT_ID bigint(20) NOT NULL,
    HL_LOCK_INT_ID bigint(20) NOT NULL,
    HL_TXNID bigint(20) DEFAULT NULL,
    HL_DB varchar(128) NOT NULL,
    HL_TABLE varchar(128) DEFAULT NULL,
    HL_PARTITION varchar(767) DEFAULT NULL,
    HL_LOCK_STATE char(1) NOT NULL,
    HL_LOCK_TYPE char(1) NOT NULL,
    HL_LAST_HEARTBEAT bigint(20) NOT NULL,
    HL_ACQUIRED_AT bigint(20) DEFAULT NULL,
    HL_USER varchar(128) NOT NULL,
    HL_HOST varchar(128) NOT NULL,
    PRIMARY KEY (HL_LOCK_EXT_ID,HL_LOCK_INT_ID),
    KEY HIVE_LOCK_TXNID_INDEX (HL_TXNID),
    KEY HL_TXNID_IDX (HL_TXNID)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    CREATE TABLE hive.NEXT_COMPACTION_QUEUE_ID (
    NCQ_NEXT bigint(20) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    CREATE TABLE NEXT_TXN_ID (
    NTXN_NEXT bigint(20) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    CREATE TABLE next_lock_id (
    NL_NEXT bigint(20) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    点赞 评论

相关推荐 更多相似问题