创建hive表并插入一条记录后mysql元数据库的变化

  • 前言,为了研究hive元数据库的变化,做了个新的集群,然后做了一张表,然后插入1条记录,观察mysql的变化情况,由此得到了很多有用的结论,例如如何查到这张表的分隔符是什么。
  • 上面疑问语句的答案是什么呢?
#答案在此
mysql -uhive -p -hnamenode01
use hive;
#SQL语句如下
select
       T5.NAME,
       T1.TBL_NAME,
       T2.PARAM_VALUE
  from TBLS T1,
       SERDE_PARAMS T2,
       SDS  T3,
       DBS T5
 WHERE T3.SERDE_ID=T2.SERDE_ID
   AND T3.SD_ID=T1.SD_ID
   AND T5.DB_ID=T1.DB_ID
   AND T2.PARAM_KEY='field.delim'
   AND T5.NAME='default'
   AND T1.TBL_NAME='dim_other'
;
  • 下面记录整体操作过程及mysql的变化情况
hive> create table dim_other
    > (
    > phone_no string,
    > name string
    > ) row format delimited
    > fields terminated by '|'
    > stored as textfile;
OK
Time taken: 0.207 seconds
hive>  LOAD DATA LOCAL INPATH '/root/dual.txt' OVERWRITE INTO TABLE dim_other;
Loading data to table default.dim_other
Table default.dim_other stats: [numFiles=1, numRows=0, totalSize=22, rawDataSize=0]
OK
Time taken: 0.488 seconds
hive> select * from dim_other;
OK
15838162873	要树立
Time taken: 0.222 seconds, Fetched: 1 row(s)
hive> exit;
[root@cdh1 ~]# mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2050
Server version: 5.6.39 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| amon               |
| cm                 |
| hive               |
| hue                |
| mysql              |
| oozie              |
| performance_schema |
| rm                 |
| test               |
+--------------------+
10 rows in set (0.00 sec)

mysql> use hive;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------+
| Tables_in_hive            |
+---------------------------+
| BUCKETING_COLS            |
| CDS                       |
| COLUMNS_V2                |
| COMPACTION_QUEUE          |
| COMPLETED_TXN_COMPONENTS  |
| DATABASE_PARAMS           |
| DBS                       |
| DB_PRIVS                  |
| DELEGATION_TOKENS         |
| FUNCS                     |
| FUNC_RU                   |
| GLOBAL_PRIVS              |
| HIVE_LOCKS                |
| IDXS                      |
| INDEX_PARAMS              |
| MASTER_KEYS               |
| NEXT_COMPACTION_QUEUE_ID  |
| NEXT_LOCK_ID              |
| NEXT_TXN_ID               |
| NOTIFICATION_LOG          |
| NOTIFIC
<think>好的,用户想创建一个名为dept的部门插入示例数据。首先我需要回忆一下如何创建数据的结构。根据引用[1],创建数据的基本语法是CREATE TABLE语句。部门通常包含部门编号、部门名称等信息,所以需要确定字段和数据类型。 接下来要考虑每个字段的数据类型。比如部门编号可以用整数类型INT,部门名称用VARCHAR,长度根据实际情况设定,比如20或50。可能还需要位置字段,也是VARCHAR类型。 然后主键的设置很重要,部门编号一般作为主键。所以创建的时候需要指定PRIMARY KEY。参考引用[1]中的例子,语法应该是CREATE TABLE dept (deptno INT PRIMARY KEY, dname VARCHAR(50), loc VARCHAR(50))这样。 接下来是插入数据的问题。用户需要插入示例数据,比如三个部门的信息。根据引用[2],插入数据使用INSERT INTO语句。注意字段顺序和值的对应。例如:INSERT INTO dept (deptno, dname, loc) VALUES (10, 'ACCOUNTING', 'NEW YORK'); 重复三次,修改不同的值。 还要考虑用户使用的数据库类型,比如MySQL、Oracle还是Hive。不过根据用户的问题中没有特别说明,可能默认是MySQL,但不同数据库的语法可能略有不同。比如Hive中的分区在引用[3]提到,但这里用户没有提到分区,所以暂时不考虑。 需要检查是否有语法错误,比如是否使用了正确的引号,分号结尾等。另外,提醒用户使用SHOW TABLES和SELECT语句来验证创建插入是否成功,像引用[1]里展示的那样。 可能用户还需要知道如何查询插入后的数据,所以在回答中加入SELECT * FROM dept的示例。此外,是否需要事务提交?如果是Oracle可能需要COMMIT,但如果是MySQL自动提交的话可能不需要,所以可以提示用户根据数据库类型决定。 最后,生成相关问题时要围绕创建插入数据,比如字段选择、主键设置、插入多行的方法等,帮助用户进一步学习。</think>### 创建部门插入数据的SQL实现 #### 1. 创建部门 `dept` 部门通常包含部门编号(主键)、部门名称和位置信息。以下是标准SQL语法: ```sql CREATE TABLE dept ( deptno INT PRIMARY KEY, -- 部门编号(主键) dname VARCHAR(50), -- 部门名称 loc VARCHAR(50) -- 部门位置 ); ``` - **字段说明**: - `deptno`:使用整数类型`INT`,作为主键确保唯一性[^1]。 - `dname`和`loc`:使用可长度字符串`VARCHAR`,长度根据实际需求设定(如50)。 #### 2. 插入示例数据 插入3条示例数据(会计部、研发部、销售部): ```sql INSERT INTO dept (deptno, dname, loc) VALUES (10, 'ACCOUNTING', 'NEW YORK'), (20, 'RESEARCH', 'DALLAS'), (30, 'SALES', 'CHICAGO'); ``` - **注意事项**: - 字段顺序需与结构一致。 - 字符串需用单引号包裹。 - 若使用Oracle,可添加`COMMIT;`提交事务[^2]。 #### 3. 验证操作 - 查看所有: ```sql SHOW TABLES; -- MySQL验证方式 ``` - 查询部门数据: ```sql SELECT * FROM dept; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值