Showing posts with label impala. Show all posts
Showing posts with label impala. Show all posts

Saturday, December 20, 2014

Overview of IMPALA | IMPALA vs PIG & HIVE

What is IMPALA ?

Impala is a High-performance SQL Engine for vast amounts of data.


  • Massively parallel procesing
  • Inspired by google's Dremel project
  • Query latency measured in milliseconds
Impala runs on hadoop clusters
  • Can query data store in HDFS or HBase tables
  • Read and Write data in common hadoop file formats
Developed by cloudera
  • 100% open source under apache server licence
Impala supports a subset of SQL-92

Why to use IMPALA ?

Many benefits are the same as with Hive or PIG
  • More productive than writing Map-Reduce code 
  • Leverage existing knowledge of SQL
One benefit exclusive to impala is Speed
  • Highly optimized for queries
  • Almost 5times faster than Hive or Pig. Often 20 times faster or more
IMPORTANT:
Pig & Hive functions from your laptop where as the impala sits on Hadoop cluster on all data nodes.

Comparing Impala to Hive & Pig

Similarities:
  • Queries expressed in high-level languages
  • Alternatives to writting mapreduce code
  • Used to analyze data stored on Hadoop clusters
  • Impala shares the meta store with Hive (Tables created in Hive as visible in Impala (viceversa))
Contrasting Impala to Hive & Pig

  • Hive & Pig answers queries by running Mapreduce jobs.Map reduce over heads results in high latency.(even a trivial query takes 10sec or more)
  • Impala does not use mapreduce.It uses a custom execution engine build specifically for Impala.
  • Queries can complete in a fraction of sec.
  • Hive & Pig are best suited long-running batch processes (Data Transformation Tasks).Impala best for interactive/Adhoc queries.
  • Impala can't handle complex data types(Array,Map or Struct)
  • No support for binary data type.
If a node fails in Hive or Pig, They answers queries by running mapreduce jobs in other nodes. But,incase of impala if the node fails during a query,the query will fails and it has to be re-run

Relation Database vs Impala