hive创建表的时候我们一般使用的分隔符是’\t’,但是有时候我们提供的源数据本身并没有按照严格的格式来,因此我们可以创建表的时候指定正则表达式,加载数据的时候指定数据格式。
参考链接
加载数据用的到文件
链接:https://pan.baidu.com/s/1bp-1yRKsYZrZplX2KIsv0A 密码:rm0q
创建表SQL
create table IF NOT EXISTS bf_log (
remote_addr string,
remote_user string,
time_local string,
request string,
status string,
body_bytes_sent string,
request_body string,
http_referer string,
http_user_agent string,
http_x_forwarded_for string,
host string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "(\"[^ ]*\") (\"[-|^ ]*\") (\"[^}]*