目前我在amazonemr上有一个hive0.7示例。我正在尝试使用配置单元0.11在新的emr群集上创建此示例的副本。
在我的0.7示例中,我有一个将空字符串设置为null的外部表。下面是创建表的方法:
CREATE EXTERNAL TABLE IF NOT EXISTS tablename
(column1 string,
column2 string)
PARTITIONED BY (year STRING, month STRING, day STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
TBLPROPERTIES ('serialization.null.format' = '');
数据如下所示添加到表中:
ALTER TABLE tablename
ADD PARTITION (year = '2013', month = '10', day='01')
LOCATION '/location_in_hdfs';
这在0.7中非常有效,但在0.11中,它似乎没有将空字符串计算为null。有趣的是,创建一个具有相同数据和表定义的普通表似乎会像预期的那样将空字符串计算为null。
对于0.11中的外部表,是否有不同的方法来实现这一点?
1条答案
按热度按时间7kjnsjlb1#
配置单元默认分区属性覆盖表属性。在alter语句中包含serde属性: