HiveQL is an actively used query language created in 2011. SQL-like query language interface called the Hive query language. While based on SQL, HiveQL does not strictly follow the full SQL-92 standard. Internally, a compiler translates HiveQL statements into a directed acyclic graph of MapReduce, Tez, or Spark jobs, which are submitted to Hadoop for execution.

9Years Old ?Users ?Jobs
  • the HiveQL website
  • HiveQL first appeared in 2011
  • file extensions for HiveQL include q
  • Have a question about HiveQL not answered here? Email me and let me know how I can help.

Example code from the web:

4 CREATE TABLE word_counts AS
5 SELECT word, count(1) AS count FROM
6 (SELECT explode(split(line, '\s')) AS word FROM docs) temp
7 GROUP BY word
8 ORDER BY word;

Example code from Linguist:

set hive.mapred.mode=nonstrict;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

-- SORT_QUERY_RESULTS

create table nzhang_t1 like srcpart;
create table nzhang_t2 like srcpart;

FROM srcpart 
INSERT OVERWRITE TABLE nzhang_t1 PARTITION (ds, hr) 
SELECT key, value, ds, hr
WHERE ds = '2008-04-08' AND hr = '11'
INSERT OVERWRITE TABLE nzhang_t2 PARTITION (ds, hr) 
SELECT key, value, ds, hr
WHERE ds = '2008-04-08' and hr = '12'
GROUP BY key, value, ds, hr;

show partitions nzhang_t1;
show partitions nzhang_t2;

select * from nzhang_t1;
select * from nzhang_t2;

Last updated February 18th, 2020

Edit HiveQL on GitHub