Hive是基于Hadoop的数据仓库,可以将结构化的数据文件hive映射为一张数据库表,并提供几乎完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
Hive目前还不支持像Mysql那样的sql脚本,如果遇到需要批量处理HQL就相对麻烦,但是可以使用比较笨的shell脚本执行批量HQL命令,原理很简单,在shell脚本中用echo命令将HQL命令以字符串的形式导入Hive客户端里面去执行,还可以用重定向将执行结果保存到本地文件,一个例子如下:
echo "CREATE TABLE test_table(id INT,name STRING) PARTITIONED BY(dt STRING, country STRING) STORED AS SEQUENCEFILE;exit;" | hive -u root > local_file