我在RDBMS中有一个表,如下所示:
create table test (sno number, entry_date date default sysdate).
现在我想在hive中创建一个表,其结构为向列添加默认值。
答案 0 :(得分:2)
Hive当前不支持在创建表时向任何列添加默认值的功能。 作为解决方法,临时将数据加载到临时表中,并使用insert overwrite table语句将当前日期和时间添加到主表中。
创建临时表
create table test (sno number);
将数据加载到表格中
创建决赛桌
create table final_table (sno number, createDate string);
FInally将数据从Temp表加载到Final table。
insert overwrite table final_table select sno, FROM_UNIXTIME( UNIX_TIMESTAMP(), 'dd/MM/YYYY' ) from test;
答案 1 :(得分:0)
Hive不支持DEFAULT字段
但是,并不意味着你无法做到这一点。只需两个步骤即可创建一个" staging"表,然后插入第二个表并选择"默认"值。Adding a default value to a column while creating table in hive
你提到,
我在RDBMS中的表
您也可以使用现有表格,并使用Sqoop将数据导入Hive。