Skip to main content

HIVE Interview Questions And Answers

 Compare Pig and Hive
CriteriaPigHive
ArchitectureProcedural data flow languageSQL type declarative language
ApplicationProgramming purposesReport creation
Operational fieldClient sideServer side
Support for avro filesYesNo
What is the definition of Hive? What is the present version of Hive and explain about ACID transactions in Hive?
Hive is an open source data warehouse system. We can use Hive for analyzing and querying in large data sets of Hadoop files. It’s similar to SQL. The present version of hive is 0.13.1. Hive supports ACID transactions: The full form of ACID is Atomicity, Consistency, Isolation, and Durability. ACID transactions are provided at the row levels, there are Insert, Delete, and Update options so that Hive supports ACID transaction.
  • Insert
  • Delete
  • Update
Explain what is a Hive variable. What do we use it for?
Hive variable is basically created in the Hive environment that is referenced by Hive scripting languages. It provides to pass some values to the hive queries when the query starts executing. It uses the source command.

What kind of data warehouse application is suitable for Hive? What are the types of tables in Hive?
Hive is not considered as a full database. The design rules and regulations of Hadoop and HDFS put restrictions on what Hive can do.Hive is most suitable for data warehouse applications.
Where :
  • Analyzing the relatively static data.
  • Less Responsive time.
  • No rapid changes in data.Hive doesn’t provide fundamental features required for OLTP, Online Transaction Processing.Hive is suitable for data warehouse applications in large data sets.Two types of tables in Hive
  1. Managed table.
  2. External table.
Get a better understanding of Hive by going through this Hive Tutorial now.
Can We Change settings within Hive Session? If Yes, How?
Yes we can change the settings within Hive session, using the SET command. It helps to change Hive job settings for an exact query.
Example: The following commands shows buckets are occupied according to the table definition.
hive> SET hive.enforce.bucketing=true;
We can see the current value of any property by using SET with the property name. SET will list all the properties with their values set by Hive.
hive> SET hive.enforce.bucketing;
hive.enforce.bucketing=true
And this list will not include defaults of Hadoop. So we should use the below like
SET -v
It will list all the properties including the Hadoop defaults in the system.
Interested in learning Hive? Well, we have the comprehensive Hive Training Course to give you a head start in your career.
Is it possible to add 100 nodes when we have 100 nodes already in Hive? How?
Yes, we can add the nodes by following the below steps.
  1. Take a new system create a new username and password.
  2. Install the SSH and with master node setup ssh connections.
  3. Add ssh public_rsa id key to the authorized keys file.
  4. Add the new data node host name, IP address and other details in /etc/hosts slaves file
    192.168.1.102 slave3.in slave3.
  5. Start the Data Node on New Node.
  6. Login to the new node like suhadoop or ssh -X hadoop@192.168.1.103.
  7. Start HDFS of a newly added slave node by using the following command
    ./bin/hadoop-daemon.sh start data node.
  8. Check the output of jps command on a new node
Explain the concatenation function in Hive with an example .
Concatenate function will join the input strings.We can specify the
‘N’ number of strings separated by a comma.
Example:
CONCAT ('Intellipaat','-','is','-','a','-','eLearning',’-’,’provider’);
Output:
Intellipaat-is-a-eLearning-provider
So, every time we set the limits of the strings by ‘-‘. If it is common for every strings, then Hive provides another command
CONCAT_WS. In this case,we have to specify the set limits of operator first.
CONCAT_WS ('-',’Intellipaat’,’is’,’a’,’eLearning’,‘provider’);
Output: Intellipaat-is-a-eLearning-provider.
Trim and Reverse function in Hive with examples.
Trim function will delete the spaces associated with a string.
Example:
TRIM(‘ INTELLIPAAT ‘);
Output:
INTELLIPAAT
To remove the Leading space
LTRIM(‘ INTELLIPAAT’);
To remove the trailing space
RTRIM(‘INTELLIPAAT ‘);
In Reverse function, characters are reversed in the string.
Example:
REVERSE(‘INTELLIPAAT’);
Output:
TAAPILLETNI
How to change the column data type in Hive? Explain RLIKE in Hive.
We can change the column data type by using ALTER and CHANGE.
The syntax is :
ALTER TABLE table_name CHANGE column_namecolumn_namenew_datatype;
Example: If we want to change the data type of the salary column from integer to bigint in the employee table.
ALTER TABLE employee CHANGE salary salary BIGINT;RLIKE: Its full form is Right-Like and it is a special function in the Hive. It helps to examine the two substrings. i.e, if the substring of A matches with B then it evaluates to true.
Example:
‘Intellipaat’ RLIKE ‘tell’  True
‘Intellipaat’ RLIKE ‘^I.*’  True (this is a regular expression)
What are the components used in Hive query processor?
The components of a Hive query processor include
  • Logical Plan of Generation.
  • Physical Plan of Generation.
  • Execution Engine.
  • Operators.
  • UDF’s and UDAF’s.
  • Optimizer.
  • Parser.
  • Semantic Analyzer.
  • Type Checking
What is Buckets in Hive?
The present data is partitioned and divided into different Buckets. This data is divided on the basis of Hash of the particular table columns.
Explain process to access sub directories recursively in Hive queries.
By using below commands we can access sub directories recursively in Hive
hive> Set mapred.input.dir.recursive=true;
hive> Set hive.mapred.supports.subdirectories=true;
Hive tables can be pointed to the higher level directory and this is suitable for the directory structure which is like /data/country/state/city/
How to skip header rows from a table in Hive?
Header records in log files
System=….
Version=…
Sub-version=….
In the above three lines of headers that we do not want to include in our Hive query. To skip header lines from our tables in the Hive,set a table property that will allow us to skip the header lines.
CREATE EXTERNAL TABLE employee (
name STRING,
job STRING,
dob STRING,
id INT,
salary INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘ ‘ STORED AS TEXTFILE
LOCATION ‘/user/data’
TBLPROPERTIES("skip.header.line.count"="2”);
What is the maximum size of string data type supported by hive? Mention the Hive support binary formats.
The maximum size of string data type supported by hive is 2 GB.
Hive supports the text file format by default and it supports the binary format Sequence files, ORC files, Avro Data files, Parquet files.
Sequence files: Splittable, compressible and row oriented are the general binary format.
ORC files: Full form of ORC is optimized row columnar format files. It is a Record columnar file and column oriented storage file. It divides the table in row split. In each split stores that value of the first row in the first column and followed sub subsequently.
AVRO data files: It is same as a sequence file splittable, compressible and row oriented, but except the support of schema evolution and multilingual binding support.
What is the precedence order of HIVE configuration?
We are using a precedence hierarchy for setting the properties
  1. SET Command in HIVE
  2. The command line –hiveconf option
  3. Hive-site.XML
  4. Hive-default.xml
  5. Hadoop-site.xml
  6. Hadoop-default.xml
If you run a select * query in Hive, Why does it not run MapReduce?
The hive.fetch.task.conversion property of Hive lowers the latency of mapreduce overhead and in effect when executing queries like SELECT, FILTER, LIMIT, etc., it skips mapreduce function
How Hive can improve performance with ORC format tables?
We can store the hive data in highly efficient manner in the Optimized Row Columnar file format. It can simplify many Hive file format limitations. We can improve the performance by using ORC files while reading, writing and processing the data.
Set hive.compute.query.using.stats-true;
Set hive.stats.dbclass-fs;
CREATE TABLE orc_table (
idint,
name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\:’
LINES TERMINATED BY ‘\n’
STORES AS ORC;
Explain the functionality of Object-Inspector.
It helps to analyze the internal structure of row object and individual structure of columns in HIVE. It also provides a uniform way to access complex objects that can be stored in multiple formats in the memory.
Instance of Java class
A standard Java object
A lazily initialized object
The Object-Inspector tells structure of the object and also ways to access the internal fields inside the object.
Whenever we run hive query, new metastore_db is created. Why?
Local metastore is created when we run Hive in embedded mode. And before creating it checks whether the metastore exists or not and this metastore property is defined in the configuration file hive-site.xml. Property is“javax.jdo.option.ConnectionURL” with default value “jdbc:derby:;databaseName=metastore_db;create=true”.So to change the behavior of the location to an absolute path, so that from that location meta-store will be used.
Differentiate between Hive and HBase
HiveHBase
Enables most of the SQL queriesThis doesn’t allow SQL queries
Doesn’t support record level insert, update, and delete operations on tableIt supports
It is a data warehouse frameworkIt is NoSQL database
Hive run on the top of MapReduceHBase runs on the top of HDFS
How can we access the sub directories recursively?
By using below commands we can access sub directories recursively in Hive
hive> Set mapred.input.dir.recursive=true;
hive> Set hive.mapred.supports.subdirectories=true;
Hive tables can be pointed to the higher level directory and this is suitable for the directory structure which is like /data/country/state/city/
What are the uses of explode Hive?
Hadoop developers consider the array as their inputs and convert them into a separate table row. To convert complicate data types into desired table formats Hive is essentially using explode.
What is available mechanism for connecting from applications, when we run hive as a server?
  1. Thrift Client: Using thrift you can call hive commands from various programming languages. Example: C++, PHP,Java, Python and Ruby.
  2. JDBC Driver: JDBC Driver supports the Type 4 (pure Java) JDBC Driver
  3. ODBC Driver: ODBC Driver supports the ODBC protocol.
How do we write our own custom SerDe?
End users want to read their own data format instead of writing, so the user wants to write a Deserializer than SerDe.
Example: The RegexDeserializer will deserialize the data using the configuration parameter ‘regex’, and a list of column names.
If our SerDe supports DDL, we probably want to implement a protocol based on DynamicSerDe. It’s non-trivial to write a “thrift DDL” parser.
Mention the date data type in Hive. Name the Hive data type collection.
The TIMESTAMP data type stores date in java.sql.timestamp format.
Three collection data types in Hive
  1. ARRAY
  2. MAP
  3. STRUCT

Comments

Popular posts from this blog

Hadoop Design Principles

Following are the design principles on which  Hadoop  works: System shall manage and heal itself as per the requirement occurred. Fault Tolerant  are automatically and transparently route are managed around failures speculatively execute redundant tasks if certain nodes are detected to be running of slower phase. Performance is scaled based on linearity. Proportional change in terms of capacity with resource been change (Scalability) Compute must be moved to data. Data Locality is termed as lower latency, lower bandwidth. It is based on simple core, modular and extensible (Economical).

HDFS Interview Questions And Answers

Compare HDFS & HBase Criteria HDFS HBase Data write process Append method Bulk incremental, random write Data read process Table scan Table scan/random read/small range scan Hive SQL querying Excellent Average What is the use of Hadoop? With Hadoop the user can run applications on the systems that have thousands of nodes spreading through innumerable terabytes. Rapid data processing and transfer among nodes helps uninterrupted operation even when a node fails preventing system failure. What are the operating systems on which Hadoop works? Windows and Linux are the preferred operating system though Hadoop can work on OS x and BSD. What is meant by Big Data? Big Data refers to assortment of huge amount of data which is difficult capturing, storing, processing or reprieving. Traditional database management tools cannot handle them but Hadoop can. Can you indicate Big Data examples? Facebook alone generates more than 500 terabytes of data daily w...

Hadoop Interview Questions And Answers

Compare Hadoop & Spark Criteria Hadoop Spark Dedicated storage HDFS None Speed of processing average excellent Libraries Separate tools available Spark Core, SQL, Streaming, MLlib, GraphX Modes Hadoop can be run in? Hadoop can run in three modes: Standalone Mode:  Default mode of Hadoop, it uses local file stystem for input and output operations. This mode is mainly used for debugging purpose, and it does not support the use of HDFS. Further, in this mode, there is no custom configuration required for mapred-site.xml, core-site.xml, hdfs-site.xml files. Much faster when compared to other modes. Pseudo-Distributed Mode (Single Node Cluster):  In this case, you need configuration for all the three files mentioned above. In this case, all daemons are running on one node and thus, both Master and Slave node are the same. Fully Distributed Mode (Multiple Cluster Node):  This is the production phase of Hadoop (what Hadoop is known for) where data is ...