sql - 像另一个一样创建一个配置单元表,但按键分区

标签 sql hadoop hive partitioning

在 Hive 中,我想用另一个表的列创建一个表,但用其中一个列对其进行分区。那可能吗?理想情况下,我想执行这样的操作:

CREATE TABLE if not exists new_table
LIKE old_table
PARTITIONED BY (col1 int)

现在它没有运行,因为我似乎无法在使用 like 子句后添加 partitioned by。我正在寻找替代方案,因为我正在尝试编写一个通用函数,而不必专门解析或硬编码架构。

最佳答案

我想不出一种在一个查询中以通用方式执行此操作的方法。我最终使用 describe old_table 读取了模式,创建了带有所述模式的表和带有键的分区。之后,我遍历所有分区值并使用必要的分区alter table

关于sql - 像另一个一样创建一个配置单元表,但按键分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48352378/

相关文章:

hadoop - 带有已删除分区文件的分区表上的Spark SQL查询失败

php - 如何重写此 SQL 语句以接受数组变量?

sql - postgresql - 使用刚刚创建的标识值返回新插入的行

python - Hadoop 流式处理 Python 多输入文件 单映射器

sql - 我需要创建一个新列或将原始列从 array<string> 更改为 map<string,int> 其中 int 值位于相应字符串的新表中

hadoop - 在 Apache Hadoop 和 Hive (Redhat) 上安装 Hue

excel - 如何将Hive表输出到多个Excel工作表

hadoop - 如何按字符解析Hive中的数据&

sql - 在 Excel VBA 中使用 SQL 进行随机化和采样

mysql - 在 mysql 服务器上执行的查询列表