建表
create table if not exists my_table(
a string,
b string,
...
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = ",",
"quoteChar" = "'",
"escapeChar" = "\\"
)
tblproperties("skip.header.line.count"="1") --跳过第一行
STORED AS TEXTFILE;
--separatorChar --默认分割符号
--quoteChar --默认引用符号
--escapeChar --默认忽略符号
注意:
- 这个SerDe将所有列都处理为String类型。即使使用这个SerDe创建了一个非字符串列类型的表,DESCRIBE table输出也会显示字符串列类型。
- 这个SerDe适用于大多数CSV数据,但不能处理嵌入的换行符。要使用SerDe,请指定完全限定类名org.apache.hadoop.hive.serde2.OpenCSVSerde。
加载
load data [local] inpath 'filepath' [overwrite] into table tablename [partition (partcol1=val1, partcol2=val2 ...)]
注意:
[local] 是加载本地文件,不加[local]加载的是hdfs路径下的文件
[overwrite] 会以覆盖表或分区中原有数据的方式加载入表