我有一个类似的问题: Hive table source delimited by multiple spaces
我的数据如下所示:
AL, 01, 2016010700, , BEST, 0, 266N, 753W
AL, 01, 2016010706, , BEST, 0, 276N, 747W
AL, 01, 2016010712, , BEST, 0, 287N, 738W
AL, 01, 2016010712, , BEST, 0, 287N, 738W
这意味着我的列分隔符是“逗号加上可变数量的空格”。
我试图field.delim
通过将此逗号添加到正则表达式来简单地进行修改,但它不起作用。结果是,所有数据都被放入第一列 ( basin
),而所有其他列都为 NULL。
CREATE EXTERNAL TABLE IF NOT EXISTS default.myTable1
(
basin string
,cy string
,yyyymmddhh int
,technum_min string
,tech string
,tau string
,lat_n_s string
,lon_e_w string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ("field.delim"=",\\s+")
LOCATION '/data';
我正在运行 HDP 2.5 (Hive 1.2.1)。
感谢您的任何帮助和建议。