Hive使用


hive服务开放端口

描述 端口
JDBC 32203

基本使用

EMR中hive已经不再支持hive-cli的方式提交任务, 都采用beeline的方式, 具体使用方式如下:

  1. 交互式

    cd $HIVE_HOME
    ./bin/beeline
    !connect jdbc:hive2://${hiveserver2_ip}:$port # Enter之后username和password也直接Enter
    select 1+1;
    
  2. 非交互式

    cd $HIVE_HOME
    ./bin/beeline -u jdbc:hive2://${hiveserver2_ip}:$port -e ${your_query}
    

    NOTE: 通常使用交互式做一些运行时间短小数据量的连续query; 使用非交互式进行定时任务的运行, 处理较大的数据量.

使用UDF/UDAF等

  1. 准备好UDF/UDAF函数的jar包, 假如为a.jar
  2. 上传a.jar到集群的hdfs
  3. create function ${func_name} as '${classfullname_to_your_funcclass}' using jar '${jarpath}'

扩展fds文件系统支持

给hive扩展fds文件系统支持可以让hive直接访问fds上的数据, 默认EMR创建的集群中hive是不支持 访问fds文件系统的. 请发送邮件到emr-help@xiaomi.com申请开通.