数据导入(数据加载)
方式1:
从文件表中加载数据
load data [local] inpath 'path' [overwrite] into table tablename;
// 如果数据在hdfs中,源文件会消失。
// 如果数据在本地,需要带local,如果在hdfs就不用带了。
// 这个加载方式不会走mapreduce,小文件导入更快。
在linux本地上传需要加local
overwrite是指是否覆盖
这里在/usr上传一个数据文件
方式2:
从其他表加载数据
insert into | overwrite table tablename select ...;
数据导出:
方式1:
通过insert overwrite语句
insert overwrite [local] directory 'path' select ...;
// 带local 写入本地
// 不带local 写入hdfs
方式2:
bin/hive -e > "sql语句" > result.txt # -e 直接执行sql语句,结果通过linux的重定向符号写入到指定的文件中
bin/hive -f > "sql脚本文件" > result.txt # -f 直接执行sql脚本文件,结果通过linux的重定向符号写入到指定的文件中