hive表数据操作(hive的数据库操作)

Hive有四种表:内部表,外部表,分区表,分桶表。分别对应不同的需求。又可将他们分为两组内部表和外部表、分区表和分桶表,其中分区表在企业中用的最多,可以说百分之八九十的表都是分区表。

创建表
方式1:基本创建

  1. -- EXTERNAL 代表外部表
  2. CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
  3. [(col_name data_type [COMMENT col_comment], ...)]
  4. [COMMENT table_comment] :----重要
  5. -- 分区表设置 分区的字段和类型
  6. [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
  7. -- 桶表设置 按照什么字段进行分桶
  8. [CLUSTERED BY (col_name, col_name, ...)
  9. -- 桶内的文件 是按照 什么字段排序 分多少个桶
  10. [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
  11. -- 分隔符 + 序列化反序列化
  12. [ROW FORMAT row_format]
  13. -- 表存储格式格式
  14. [STORED AS file_format]
  15. -- 表所对应的hdfs目录
  16. [LOCATION hdfs_path]
  17. [TBLPROPERTIES (property_name=property_value, ...)]

方式2:create table as select建表

该语法允许用户利用select查询语句的结果,直接建表,表的结构和查询语句的结构保持一致,并且包含查询语句里的所有内容。

CREATE  TABLE [IF NOT EXISTS] table_name

[AS select_statement]

[COMMENT table_comment]

[ROW FORMAT row_format]

[STORED AS file_format]

[LOCATION hdfs_path]

[TBLPROPERTIES (property_name=property_value, ...)]

as:后跟查询语句,根据查询结果创建表。

方式3:create table like建表

该语法允许用户复制一张已经存在的表的结构,但是和上面的CTAS语法不同,该语法创建出来的表中不包含数据

CREATE TABLE [IF NOT EXISTS] table_name

LIKE table_name

[COMMENT table_comment]

[ROW FORMAT row_format]

[STORED AS file_format]

[LOCATION hdfs_path]

[TBLPROPERTIES (property_name=property_value, ...)]

like允许用户复制现有的表结构,但是不复制数据。

加载数据

  1. ----本地加载数据(hdfs 不需要加local
  2. load data local inpath "/home/hewwen8888/data/ch4_emp.txt" overwrite into table ds_hive.ch4_emp;
  1. -- hdfs上加载数据,不用local
  2. load data inpath "/user/hewwen8888/data/ch4_emp.txt" overwrite into table ds_hive.ch4_emp_l;

区别:磁盘上的数据复制到hdfs上,hdfs的数据,移动到对应的表路径下的

大数据

kafka中isr啥意思(kafka的isr是什么)

2025-3-3 10:15:57

大数据

spark大数据平台搭建(spark大数据方案)

2025-3-3 10:15:59

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧