我將分隔符的數據定義爲「,|」。使用RegexSerDe在Hive中創建DDL的錯誤
我所創建的蜂巢DDL如下:
CREATE TABLE player_profile
(
player_id BIGINT COMMENT 'Player Profile Identifier',
change_ts STRING COMMENT 'Change Datetime',
child_birth_year INT COMMENT 'Child Birth Year',
country STRING COMMENT 'Country Code',
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES ('input.regex'='^(\\d+),\\|(.*),\\|(\\d+),\\|(.*)$')
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';
我正在流動的錯誤,同時部署這DDL。
FAILED: Error in metadata: java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException org.apache.hadoop.hive.contrib.serde2.RegexSerDe only accepts string columns, but column[0] named player_id has type bigint)
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
這是我給出的正則表達式的問題嗎?如果是這樣的話,這個正則表達式是什麼。
Hive(0.11)正則表達式serde是否支持BIGINT?