C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Hive - Create TableIn Hive, we can create a table by using the conventions similar to the SQL. It supports a wide range of flexibility where the data files for tables are stored. It provides two types of table: -
Internal TableThe internal tables are also called managed tables as the lifecycle of their data is controlled by the Hive. By default, these tables are stored in a subdirectory under the directory defined by hive.metastore.warehouse.dir (i.e. /user/hive/warehouse). The internal tables are not flexible enough to share with other tools like Pig. If we try to drop the internal table, Hive deletes both table schema and data.
hive> create table demo.employee (Id int, Name string , Salary float) row format delimited fields terminated by ',' ; Here, the command also includes the information that the data is separated by ','.
hive> describe demo.employee
In such a case, the exception occurs. If we want to ignore this type of exception, we can use if not exists command while creating the table. hive> create table if not exists demo.employee (Id int, Name string , Salary float) row format delimited fields terminated by ',' ;
hive> create table demo.new_employee (Id int comment 'Employee Id', Name string comment 'Employee Name', Salary float comment 'Employee Salary') comment 'Table Description' TBLProperties ('creator'='Gaurav Chawla', 'created_at' = '2019-06-06 11:00:00');
hive> describe new_employee;
hive> create table if not exists demo.copy_employee like demo.employee; Here, we can say that the new table is a copy of an existing table. External TableThe external table allows us to create and access a table and a data externally. The external keyword is used to specify the external table, whereas the location keyword is used to determine the location of loaded data. As the table is external, the data is not present in the Hive directory. Therefore, if we try to drop the table, the metadata of the table will be deleted, but the data still exists. To create an external table, follow the below steps: -
hdfs dfs -mkdir /HiveDirectory
hdfs dfs -put hive/emp_details /HiveDirectory
hive> create external table emplist (Id int, Name string , Salary float) row format delimited fields terminated by ',' location '/HiveDirectory';
select * from emplist;
Next TopicHive Load Data
|