Hive 导入csv文件
1、检查是否有 hive-serde 包
1.1 进入hive lib目录
cd /usr/local/service/hive/lib
1.2 发现hive version 是2.1.1 ,查看是否添加了 hive-serde-2.1.1.jar(我这里已经添加了,没添加的看后续1.3)
ll hive-serde-2.1.1.jar
1.3 没添加的,直接下载,放到lib目录下
cd /usr/local/service/hive/lib
wget https://repo1.maven.org/maven2/org/apache/hive/hive-serde/2.1.1/hive-serde-2.1.1.jar
2、hive client
进入hive cli 创建表(注:separatorChar:分隔符 ,quoteChar:引号符 ,escapeChar:转意符 想了解更多的可以看看这篇博客用例子解释)
CREATE TABLE db_tmp.tmp_t_account(id string, username string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ("separatorChar" = ",", "quoteChar" = "'", "escapeChar" = "\\") STORED AS TEXTFILE;
2.1 导入本地csv内容到hive表
上传文件到 服务器上:
load data local inpath '/tmp/aa/test.csv' into table db_tmp.tmp_t_account;
2.2 检查
2.3 bingo!!! 搞掂啦
Hive 表导出csv文件
1、命令解释
hive -e "set hive.cli.print.header=true; select * from db_tmp.tmp_t_account" | sed 's/[\t]/,/g' > ./test.csv
##hive.cli.print.header 是否输出表头
2、执行
hive -e "set hive.cli.print.header=true; select * from db_tmp.tmp_t_account" | sed 's/[\t]/,/g' > ./test.csv