被要求用hive -e连接远程hive数据库,因为之前很少用hive这个命令,转而用beeline,可以用下列命令成功连接远程数据库。
/opt/hive/bin/beeline -u jdbc:hive2://host:port/database -n username -p password -e "select * from table"
以下是交互命令
find / -name beeline #找到结果 /opt/hive/bin/beeline
/opt/hive/bin/beeline #进入到命令行
!connect jdbc:hive2://host:port #连接到缺省的schema
!connect jdbc:hive2://host:port/database #连接到指定数据库
0: jdbc:hive2://host-> select * from table; #查询表
!exit #断开连接并退出命令行
尝试过很多方法试图用hive -e 来连接远程数据库都失败,后来找到官方文档,发现hive CLI不支持连接远程数据库。详见下列链接。
The Hive CLI, which connects directly to HDFS and the Hive Metastore, and can be used only on a host with access to those services.