zoukankan      html  css  js  c++  java
  • hive如何提交hql语句到hive上执行

     
     
    hive的安装部署,网上有很多教程,我在这边就不再重复了,这次我要讲的是hive如何提交hql语句到hive上执行。
    一共有以下几种方式:
    第一、 hiveserver
        通过搭建hiveserver来提供thrift接口,接收来自远程提交的hql语句执行。
        这样做的好处是不需要hive客户端,简化部署方式,但是对于数据分析工程需要一定的研发能力来实现thrift协议,不过可以设计一个公用的组件来简化数据分析师的工作量。弥补数据分析师不熟悉开发的欠缺。
     
    第二、hive client
        hive client的部署方式,需要安装部署hive和hadoop作为客户端。数据分析师可以采用hive -e 的方式提交hql语句。
     
        hive client的元数据,一般设置为local模式,hive在启动过程中,通过jdbc连接hive的元数据数据库得到元数据。但这样最大的问题是暴露了hive元数据数据库的用户名和密码,而且在mysql服务端,也无法对权限做精细化控制。
     
        hive client的元数据可以通过remote的方式来控制,通过设置hive.metastore.uris 参数,连接远程服务器的remote元数据,那么hive client端不需要提供msyql的用户名和密码,大大提高了安全性。同时msyql服务端可以通过精细化的控制权限。
     
      部署方式
        选择一台服务器,安装hive,msyql的jdbc驱动,配置mysql的数据库、用户名、密码。执行  bin/hive --service metastore & 启动服务。
      
        hive client 配置hive.metastore.uris 参数(此处可以把数据库的配置信息和jdbc驱动去掉),将hive.metastore.uris 设置成 thrift://$ip:9083
     
        执行hql  bin/hive -e "select ****"
     
     
     
  • 相关阅读:
    camp训练day2
    LCA板子题
    牛客多校第一场
    P1063 能量项链 区间DP
    64. Minimum Path Sum
    46. Permutations
    216. Combination Sum III
    62. Unique Paths
    53. Maximum Subarray
    22. Generate Parentheses
  • 原文地址:https://www.cnblogs.com/luckuan/p/4809860.html
Copyright © 2011-2022 走看看