Hadoop教程
HBase
Hive
Pig
Sqoop
Spark

Hive 创建表

在Hive中,我们可以使用类似于SQL的约定来创建表。在存储表的数据文件时,它具有广泛的灵活性。它提供两种类型的表:-
内部表格 外部表

内部表

内部表也称为托管表,因为它们的数据生命周期由Hive控制。默认情况下,这些表存储在hive.metastore.warehouse.dir定义的目录(即/user/hive/warehouse)下的子目录中。内部表不够灵活,无法与Pig等其他工具共享。如果我们尝试删除内部表,Hive会删除表架构和数据。
让我们使用以下命令创建内部表:-
hive> create table demo.employee (Id int, Name string , Salary float)
row format delimited
fields terminated by ',' ;

Hive创建表
此处,该命令还包含以下信息: 数据以' ,"。
让我们使用以下命令查看已创建表的元数据:-
hive> describe demo.employee

配置单元创建表 当我们再次尝试创建现有表时,让我们看看结果。 Hive创建表
在这种情况下,会发生异常。如果要忽略这种类型的异常,可以在创建表时使用如果不存在命令。
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允许使用现有表的架构来创建新表。
hive> create table if not exists demo.copy_employee
like demo.employee;

Hive创建表
配置单元创建表
在这里,我们可以说新表是现有表的副本。

外部表

外部表允许我们从外部创建和访问表和数据。 external 关键字用于指定外部表,而 location 关键字用于确定加载的数据的位置。
由于表是外部,Hive目录中不存在该数据。因此,如果我们尝试删除该表,则该表的元数据将被删除,但数据仍然存在。
要创建外部表,请执行以下步骤:-
让我们使用以下命令在HDFS上创建目录:-
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;

配置单元创建表
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4