我是Hive的新手。我想用与现有表相同的列以及一些其他列在配置单元中创建表。我知道我们可以使用这样的东西。
CREATE TABLE new_table_name AS SELECT * FROM old_table_name
这将创建具有与old_table_name相同列的表。
但是,如何在new_table_name中指定其他列?
这是您可以实现的方法:
旧表:
hive> describe departments; OK department_id int from deserializer department_name string from deserializer
创建表:
create table ctas as select department_id, department_name, cast(null as int) as col_null from departments;
显示新表的结构:
hive> describe ctas; OK department_id int department_name string col_null int Time taken: 0.106 seconds, Fetched: 3 row(s)
新表的结果:
hive> select * from ctas; OK 2 Fitness NULL 3 Footwear NULL 4 Apparel NULL 5 Golf NULL 6 Outdoors NULL 7 Fan Shop NULL 8 TESTING NULL 8000 TESTING NULL 9000 testing export NULL