Apache HCatalog announced release of version 0.5.0 in the past week. Along with that, it has initiated steps to graduate from an incubator project to be an Apache Top Level project or sub-project. Let's look at the current state of HCatalog, its increasing relevance and where it is heading.
HCatalog for a small introduction, is a “table management and storage management layer for Apache Hadoop” which:
- enables Pig, MapReduce, and Hive users to easily share data on the grid.
- provides a table abstraction for a relational view of data in HDFS
- ensures format indifference (viz RCFile format, text files, sequence files)
- provides a notification service when new data becomes available
The following presentation explains the role of HCatalog in Hadoop ecosystem. (jump to slide 12)
What's new with 0.5.0 version?
- HCatalog is now published in the Apache Maven repository.
- New web services API to HCatalog: webhcat
- Major notifications update
- Build has been updated to provide per-submodule artifacts.
- Improved pig adapter support.
- Updated to Hive 0.10.0.
- Many improvements and bug fixes.
The increasing relevance of HCatalog
If we look at Hortonworks Data Platform (HDP) architecture, we see HCatalog as a key enabler for Data Services layer. The key drivers for this relevant position are:
- increased demand for SQL like interface to query HDFS
- better performance for analytical queries
- consistent access method to HDFS data regardless of tools
- flexibility and simplification of data access
- decoupling data access with data storage
HCatalog, today, is being utilized for use cases which include the following, but are not limited to:
- Complex Data processing:
o Teams where a combination of tools may be employed. e.g for Hive for analytic queries and Pig for ETL
- Data Discovery:
o Using REST API to access data and discover the patterns before refining the model for further MapReduce operations
o Utilizing API to invoke data (< 1 MB) from HDFS
Where is HCatalog heading
While HCatalog cements its position in the enterprise Hadoop stack, it has also been leveraged by organizations like Teradata in their SQL like offering for Hadoop. At the same time, due to the rapid and consistent progress that the project has made, it is now being voted across to become a sub project for Apache Hive. Future work for HCatalog may include stable integration with HBase, fixing bugs in the API/public interface, and single connection to Hive-HCatalog with more Hive metadata access if adopted as part of Hive project.