hive installation deployment, there are many tutorials on the web, I will not repeat here, this time I would like to talk about how hive submits the HQL statement to hive execution. There are several ways: first, hiveserver provide thrift interface by building Hiveserver to receive HQL statement execution from remote commit. The benefit of this is that there is no need for a hive client to simplify deployment, but for data analysis engineering it requires a certain amount of research and development capability to implement the thrift Protocol, but a common component can be designed to simplify the workload of the data analyst. Make up data analysts are not familiar with the lack of development. Second, hive client hive client deployment, you need to install deployment hive and Hadoop as the client. Data analysts can submit HQL statements in a hive -e manner. hive client meta data, typically set to local mode, hive receives metadata through JDBC's metadata database to connect to hive during the boot process. However, the biggest problem is exposing the user name and password of the hive metadata database, and it is not possible to fine-tune the permissions on the MySQL server. Hive client metadata can be controlled by remote, by setting the hive.metastore.uris parameter, connecting remote server The hive client side does not need to provide MSYQL user name and password, which greatly improves the security. At the same time the MSYQL server can be controlled by fine-grained control permissions. Deployment Mode Select a server, install HIVE,MSYQL JDBC driver, configure MySQL database, user name, password. Execute Bin/hive --service metastore & start service. The hive client configures the hive.metastore.uris parameter (where the database configuration information and the JDBC driver are removed) and hive.metastore.uris is set to thrift://$ ip:9083 Execute HQL bin/hive-e "SELECT *"
How hive submits the HQL statement to hive for execution