sql - Hive-我如何使用原始表中的分区 "create table as select.."?

标签 sql hadoop hive hiveql create-table

我需要从我们的配置单元 dlk 创建一个“工作表”。虽然我可以使用:

create table my_table as
select *
from dlk.big_table

很好,我在从原始“big_table”继承分区(属性daymonthyear)或只是创建来自这些属性的新属性。 搜索网络并没有真正帮助我回答这个问题 - 所有“教程”或解决方案都涉及 create as select 或创建分区,而不是两者。 这里有人可以帮忙吗?

最佳答案

不支持创建分区表作为选择。您可以分两步完成:

  1. 像 dlk.big_table 一样创建表 my_table; 这将创建具有相同架构的表。

  2. 加载数据。

    设置 hive.exec.dynamic.partition=true; 设置 hive.exec.dynamic.partition.mode=nonstrict;

    insert overwrite table my_table 分区(日、月、年) 从 dlk.big_table 中选择 *;

关于sql - Hive-我如何使用原始表中的分区 "create table as select.."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56000714/

相关文章:

android - 如何创建一列 auto_increment 值?

hadoop - 将Apache Superset与Hive连接

mysql - 动态地从 hive/sql 表中选择列

mysql - hive 中的元数据错误

php - 在表上创建字段的技巧

mysql - 当同名表已存在时,mysql innodb 重命名大表的最佳实践

c# - ASP.NET:具有快速回发的动态多提交按钮

hadoop - Hadoop 3.2.1 ErasureCoding ISA-L问题?

Hadoop:如何在配置中保存 Map 对象

hadoop - 使用 org.apache.hadoop.mapred.mapper 接口(interface)实现 "in mapper"设计模式