HCatalog Altering Table

posted on Nov 20th, 2016

HCatalog

Apache HCatalog is a table management layer that exposes Hive metadata to other Hadoop applications. HCatalog's table abstraction presents users with a relational view of data in the Hadoop Distributed File System (HDFS) and ensures that users need not worry about where or in what format their data is stored. HCatalog displays data from RCFile format, text files, or sequence files in a tabular view. It also provides REST APIs so that external systems can access these table's metadata.

HCatalog is built on top of the Hive metastore and incorporates components from the Hive DDL. HCatalog provides read and write interfaces for Pig and MapReduce and uses Hive's command line interface for issuing data definition and metadata exploration commands. It also presents a REST interface to allow external tools access to Hive DDL (Data Definition Language) operations, such as "create table" and "describe table".

Pre Requirements

1) A machine with Ubuntu 14.04 LTS operating system installed.

2) Apache Hive 2.1.0 Pre Installed (How to Install Hive on Ubuntu 14.04)

3) Apache HCatalog merged with Hive (in March of 2013) HCatalog is now released as part of Hive. Here we are using latest version of HCatalog merged with Hive. (How to Install Hcatalog on Ubuntu 14.04)

HCatalog Alter Table

This post descibes, how to alter the attributes of a table such as changing its table name, changing column names, adding columns, and deleting or replacing columns.

Step 1 - Open a new terminal (CTRL + ALT + T) and Change the directory to /usr/local/hive/hcatalog/bin

$ cd $HCAT_HOME/bin

Step 2 - Creating a new employee table

$ ./hcat -e "CREATE TABLE IF NOT EXISTS employee( eid int, name String, salary String, destination String) \
COMMENT 'Employee details' \
ROW FORMAT DEIMITED \
FIELDS TERMINATED BY ' ' \
LINES TERMINATED BY '\n' \
STORED AS TEXTFILE;"

Step 3 - Check whether it is created or not. It shows all the tables that are present.

$ ./hcat -e "show tables;"

Step 4 - Altering Table

Alter table name

$ ./hcat -e "ALTER TABLE employee RENAME TO emp;"
$ ./hcat -e "ALTER TABLE emp RENAME TO employee;"

Change column name and type

$ ./hcat -e "ALTER TABLE employee CHANGE name ename String;"
$ ./hcat -e "ALTER TABLE employee CHANGE salary salary Double;"

Add column

$ ./hcat -e "ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');"

Replace column name

$ ./hcat -e "ALTER TABLE employee REPLACE COLUMNS (eid int,empid int);"

Please share this blog post and follow me for latest updates on

facebook             google+             twitter             feedburner

Previous Post                                                                                          Next Post

Labels : HCatalog Installation on Ubuntu   HCatalog Command Line Interface (CLI) Usage   HCatalog Creating Table   HCatalog Script   HCatalog Load Operation   HCatalog Drop Table   HCatalog Creating View and Index