Hive is a data warehouse framework built on Hadoop. It maps structured data files to a database table and provides SQL-like functions to analyze and process data. It also allows you to quickly perform simple MapReduce statistics using SQL-like statements without the need of developing a specific MapReduce application. It is suitable for statistical analysis of data warehouses.
Suppose a user develops an application to manage users who use service A in an enterprise. The procedure of operating service A on the Hive client is as follows:
Operations on common tables:
ID |
Name |
Gender |
Age |
Address |
---|---|---|---|---|
12005000201 |
A |
Male |
19 |
City A |
12005000202 |
B |
Female |
23 |
City B |
12005000203 |
C |
Male |
26 |
City C |
12005000204 |
D |
Male |
18 |
City D |
12005000205 |
E |
Female |
21 |
City E |
12005000206 |
F |
Male |
32 |
City F |
12005000207 |
G |
Female |
29 |
City G |
12005000208 |
H |
Female |
30 |
City H |
12005000209 |
I |
Male |
26 |
City I |
12005000210 |
J |
Female |
25 |
City J |
sh ${BIGDATA_HOME}/om-server/om/sbin/status-oms.sh
In the command output, the value of HAActive for the active management node is active, and that for the standby management node is standby. In the following example, node-master1 is the active management node, and node-master2 is the standby management node.
HAMode double NodeName HostName HAVersion StartTime HAActive HAAllResOK HARunPhase 192-168-0-30 node-master1 V100R001C01 2020-05-01 23:43:02 active normal Actived 192-168-0-24 node-master2 V100R001C01 2020-05-01 07:14:02 standby normal Deactived
sudo su - omm
cd /opt/client
The cluster client has been installed in advance. The following client installation directory is used as an example. Change it based on the site requirements.
sh refreshConfig.sh /opt/client Full path of the client configuration file package
For example, run the following command:
sh refreshConfig.sh /opt/client /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_Client.tar
If the following information is displayed, the configurations have been updated successfully.
ReFresh components client config is complete. Succeed to refresh components client config.
cd /opt/client
Example: user kinit hiveuser
The current user must have the permission to create Hive tables. To create a role with the permission, refer to Creating a Role. To bind the role to the current user, refer to Creating a User. If Kerberos authentication is disabled, skip this step.
Operations on internal tables:
create table user_info(id string,name string,gender string,age int,addr string);
insert into table user_info(id,name,gender,age,addr) values("12005000201","A","Male",19,"City A");
For example, to add educational background and title information about user 12005000201, run the following command:
alter table user_info add columns(education string,technical string);
For example, to query the name and address of user 12005000201, run the following command:
select name,addr from user_info where id='12005000201';
Operations on external partition tables:
Create an external partition table and import data.
create external table user_info(id string,name string,gender string,age int,addr string) partitioned by(year string) row format delimited fields terminated by ' ' lines terminated by '\n' stored as textfile location '/hive/user_info';
fields terminated indicates delimiters, for example, spaces.
lines terminated indicates line breaks, for example, \n.
/hive/user_info indicates the path of the data file.
insert into user_info partition(year="2018") values ("12005000201","A","Male",19,"City A");
load data inpath '/tmp/txt.log' into table user_info partition (year='2011');