1.在hive部署节点使用hive的shell,在./bin/hive目录下进入hive的客户端,执行我们的sql语句
--删除表 drop table if exists iov_gather_table; --创建表 CREATE TABLE IF NOT EXISTS iov_gather_table(tid bigint,ty string,val string) PARTITIONED BY (f string) stored AS ORC ; --使用表 use iov_gather_table; --给表添加分区 ALTER TABLE iov_gather_table ADD IF NOT EXISTS PARTITION (f="20220101") --删除指定分区 ALTER TABLE iov_gather_table DROP IF EXISTS PARTITION (f="20220101") -- 外部表 external CREATE TABLE IF NOT EXISTS gps_hot( tid bigint, hot_type int, hash_code string, lng double, lat double, cnt int) PARTITIONED BY (pt string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' stored AS txtfile;
2.启动服务端,使用beeline进行交互
注意该方式要先启动服务 nohup /export/server/hive-2.1.0/bin/hive --service hiveserver2 &
3.使用hive命令行的交互
hive -e 'sql语句' 不进入hive的客户端,直接执行hql语句: ssh azkaban@txj2data01 "hive -e 'use "${dbname}";ALTER TABLE iov_etl_table ADD IF NOT EXISTS PARTITION (f="${date}")'" hive -f /hive-script.sql 不进入hive的客户端,直接执行hive的脚本(适合多语句): #!/usr/bin/env bash ym=$1 ymd=$2 ssh azkaban@txj2data01 "hive --hivevar ym=${ym} --hivevar ymd=${ymd} -f ${dirname}/hive.sql"