Hive 使用默认值创建配置单元表

Hive 使用默认值创建配置单元表,hive,hiveql,Hive,Hiveql,我在RDBMS中有一个表,如下所示: create table test (sno number, entry_date date default sysdate). 现在我想在配置单元中创建一个表,其结构为向列添加默认值。配置单元不支持默认字段 但这并不意味着你做不到。只需创建一个“暂存”表,然后插入第二个表并选择“默认”值的两步过程 既然你提到 我在RDBMS中创建了一个表 您还可以使用现有表,并使用将数据导入配置单元 配置单元当前不支持在创建表时向任何列添加默认值的功能。 作为一种解

我在RDBMS中有一个表,如下所示:

create table test (sno number, entry_date date default sysdate). 

现在我想在配置单元中创建一个表,其结构为向列添加默认值。

配置单元不支持默认字段

但这并不意味着你做不到。只需创建一个“暂存”表,然后插入第二个表并选择“默认”值的两步过程

既然你提到

我在RDBMS中创建了一个表


您还可以使用现有表,并使用将数据导入配置单元

配置单元当前不支持在创建表时向任何列添加默认值的功能。 作为一种解决方法,临时将数据加载到临时表中,并使用insert overwrite table语句将当前日期和时间添加到主表中

  • 创建一个临时表

    创建表测试(sno编号)

  • 将数据加载到表中

  • 创建最终表格

    create table final_table(sno编号,createDate字符串)

  • 最后将数据从临时表加载到最终表

    insert overwrite table final\u table从测试的UNIXTIME(UNIX\u TIMESTAMP(),'dd/MM/YYYY')中选择sno


  • 你试了什么?你到底面临什么问题?显示一些代码。我没有通过sqoop导入任何数据。我只是想在配置单元中创建RDBMS表的副本。我们可以这样创建stg表,而不是创建stg表。创建最终表格(sno int、jdate日期);插入最终选择1,substr(来自unix unixtime(unix\u timestamp()),1,10);插入final,从final选择MAX(sno)+1,substr(from_unixtime(unix_timestamp()),1,10);