【问题标题】:How to delete/truncate tables from Hadoop-Hive?如何从 Hadoop-Hive 中删除/截断表?
【发布时间】:2013-02-14 08:11:03
【问题描述】:

请告诉我如何从 hive 中删除表,并告诉我从哪里可以获得有关 hive 查询的更多信息。

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

    您可以使用drop 命令从HDFS 中删除元数据和实际数据。

    而只是为了删除数据并保持表结构,使用 truncate 命令。

    有关 hive ql 的更多帮助,请查看language manual of hive

    【讨论】:

    • Hive 0.11 版将支持TRUNCATE。此答案中提供的文档链接也已过时。使用this
    【解决方案2】:

    截断:

    hive -e "TRUNCATE TABLE IF EXISTS $tablename"
    

    放弃:

    hive -e "Drop TABLE IF EXISTS $tablename"
    

    【讨论】:

    • 截断表不支持“如果存在”子句
    【解决方案3】:

    使用下面的方法删除linux环境下的所有表。

    hive -e 'show tables' | xargs -I '{}' hive -e 'drop table {}'
    

    【讨论】:

      【解决方案4】:

      您需要删除表,然后重新创建它,然后再次加载它

      【讨论】:

      • 这个问题在 4 年前就已经回答过了。为什么要重复答案?
      • 仍然可以回答问题,因为有人可以提供比现有答案更好的答案。投票将决定哪个更好。
      猜你喜欢
      • 2019-10-06
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      相关资源
      最近更新 更多