【问题标题】:Hive - How to make copy of transaction tableHive - 如何制作事务表的副本
【发布时间】:2017-12-19 05:36:08
【问题描述】:

就像我们有 Create Table As Select (CTAS)Create Table Like(CTL) 已经可以在 hive 中创建和复制源表中的结构和数据,我们是否有相同的功能可用,或者我们可以通过任何其他方式实现这一点..

示例 - 我当前的事务表是我想复制为 College_bckUp -

CREATE TABLE college(clg_id int,
clg_name string,
clg_loc string) 
clustered BY (clg_id) INTO 5 buckets 
stored AS orc TBLPROPERTIES('transactional'='true');

提前感谢您的帮助。谢谢

【问题讨论】:

  • 我不认为还有其他方法。如果你需要数据..你可以从HDFS路径获取数据。
  • 我的要求是我们有事务表,我们需要获得另一个表,如备份,这样我们事务将来会有任何问题,我们不应该丢失表数据,因为在我们删除和更新的过程之后记录,所以我们希望有一个紧急备份,然后我们在任何失败中的职责只是改变表的名称并重新运行该作业,如果它发生的话就没什么了。
  • 如前所述,只需复制出 HDFS 数据进行备份
  • TBLPROPERTIES 应该用 CTL 保存...你试过了吗?

标签: hadoop hive transactions acid


【解决方案1】:

CTL 不会使用 TBLPROPERTIES('transactional'='true') 创建新表。所有其他设置都将被复制,但您必须在运行 CTL 后修改表以设置该属性。

【讨论】:

    猜你喜欢
    • 2017-06-01
    • 2019-11-08
    • 2011-02-22
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2013-04-22
    相关资源
    最近更新 更多