个人与公司网站备案,divi wordpress,wordpress 登录背景,国家林业工程建设协会网站一、Hive 信息查看 Hive的元数据管理#xff1a; Hive 将表的元数据#xff08;如表名、列名、类型等#xff09;存储在关系型数据库中#xff0c;通常是 MySQL。元数据的主要表包括#xff1a; TBLS#xff1a;存储表的信息#xff08;表名、类型、ID 等#xff09;。…一、Hive 信息查看 Hive的元数据管理 Hive 将表的元数据如表名、列名、类型等存储在关系型数据库中通常是 MySQL。元数据的主要表包括 TBLS存储表的信息表名、类型、ID 等。COLUMNS_V2存储每个列的详细信息列名、类型等。DBS存储数据库的信息。SDS存储数据文件的位置。 Mysql数据字典查询 查询表信息SELECT * FROM TBLS; -- 查询表名
SELECT * FROM COLUMNS_V2; -- 查询列信息
SELECT * FROM DBS; -- 查询数据库信息
SELECT * FROM SDS; -- 查询数据文件位置信息Hive查看表定义的命令 查看表的结构信息DESC table_name; -- 查看表定义信息
DESC EXTENDED table_name; -- 查看表详细信息
DESC FORMATTED table_name; -- 格式化显示表定义的详细信息
SHOW CREATE TABLE table_name; -- 查看创建表的语句Hive与MySQL的关系 Hive 将其元数据存储在 MySQL 数据库中使用 MySQL 作为 Hive 的 metastore。MySQL 负责存储 Hive 表、列、数据库等的结构信息而实际数据则存储在 HDFS 中。Hive 依赖于 Hadoop 提供的数据存储能力同时通过 MySQL 管理其结构化的元数据。 二、 Hive表的复制方式
1. 复制一个表的结构复制列的定义和数据类型不包括分隔符表属性等和数据
使用 CREATE TABLE AS SELECT 语句可以将一个查询的结果创建成一个新表。这种方法将同时复制表的结构和数据。
CREATE TABLE emp1 AS
SELECT * FROM emp;2. 复制一个表的某些列来创建新表
如果只想复制表中的特定列可以在 SELECT 子句中指定所需的列。
CREATE TABLE emp2 AS
SELECT empno, ename, deptno FROM emp;3. 复制一个表的某些行来创建新表
如果想要根据特定条件复制表中的某些行可以在 WHERE 子句中指定条件。
CREATE TABLE emp3 AS
SELECT empno, ename, deptno FROM emp WHERE deptno 20;4. 复制表完整结构 保留原表的所有属性包括分隔符、表注释等但没有复制数据
如果只想复制表的结构而不复制数据可以使用 CREATE TABLE LIKE 语句。
CREATE TABLE emp4 LIKE emp;三、 Hive表的插入方式
1. 将 SQL 语句的结果覆盖到已存在的表中
使用 INSERT OVERWRITE 语句将查询结果覆盖写入到一个已存在的表中。
INSERT OVERWRITE TABLE empl
SELECT * FROM emp;2. 将 SQL 语句的结果追加到已存在的表中
使用 INSERT INTO 语句将查询结果追加到已存在的表中。这将产生新的文件。
INSERT INTO TABLE empl
SELECT * FROM emp;3. 将 SQL 语句的结果保存到本地目录
使用 INSERT OVERWRITE LOCAL DIRECTORY 语句将查询结果保存到本地文件系统中。建议使用一个新空目录以避免覆盖原有内容。
INSERT OVERWRITE LOCAL DIRECTORY /opt/module/export/emp
SELECT * FROM emp;4. 将 SQL 语句的结果格式化保存到 HDFS
使用 INSERT OVERWRITE DIRECTORY 语句将查询结果保存到 HDFS 目录中。需要指定结果的格式和分隔符。
INSERT OVERWRITE DIRECTORY /datas/emp
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ,
SELECT * FROM emp;5. 将查询结果格式化导出到本地
使用 INSERT OVERWRITE LOCAL DIRECTORY 并设置格式化选项将查询结果导出到本地。
INSERT OVERWRITE LOCAL DIRECTORY /opt/module/export/emp1
ROW FORMAT DELIMITED
FIELDS TERMINATED BY \t
SELECT * FROM emp;