使用默认值创建Hive表

时间:2017-09-24 03:51:15

标签: hive hiveql

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

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

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

2 个答案:

答案 0 :(得分:2)

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

  1. 创建临时表

    create table test (sno number);

  2. 将数据加载到表格中

  3. 创建决赛桌

    create table final_table (sno number, createDate string);

  4. 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。