简单用户信息表创建:6.表具体信息复制代码
- create table t_user(
- id int,
- uname string,
- pwd string,
- gender string,
- age int
- )
- row format delimited fields terminated by ','
- lines terminated by '\n'; //满一行就换行
复杂人员信息表创建:复制代码
- 1,admin,123456,男,18
- 2,zhangsan,abc123,男,23
- 3,lisi,654321,女,16
复制代码
- create table IF NOT EXISTS t_person(
- name string,
- friends array<string>,
- children map<string,int>,
- address struct<street:string ,city:string>
- )
- row format delimited fields terminated by ',' -- 列与列之间的分隔符
- collection items terminated by '_' -- 元素与元素之间分隔符
- map keys terminated by ':' -- Map数据类型键与值之间的分隔符
- lines terminated by '\n'; -- 行与行之间的换行符
复制代码
- songsong,bingbing_lili,xiao song:18_xiaoxiao song:19,beng bu_anhui
- yangyang,caicai_susu,xiao yang:18_xiaoxiao yang:19,he fei_anhui
查询表结构
添加列
查询表结构
更新列
面试题:内部表和外部表的区别?怎样创建外部表?工作中使用外部表1.hive内部表
当创建好表的时间,HDFS会在当前表所属的库中创建一个文件夹
当设置表路径的时间,如果直接指向一个已有的路径,可以直接去使用文件夹中的数据
当load数据的时间,就会将数据文件存放到表对应的文件夹中
而且数据一旦被load,就不能被修改
我们查询数据也是查询文件中的文件,这些数据终极都会存放到HDFS
当我们删除表的时间,表对应的文件夹会被删除,同时数据也会被删除
默认建表的类型就是内部表
外部表说明
外部表因为是指定其他的hdfs路径的数据加载到表中来,所以hive会认为自己不完全独占这份数据
删除hive表的时间,数据仍旧生存在hdfs中,不会删除。
删除表测试一下:
一样平常在公司中,使用外部表多一点,因为数据可以须要被多个程序使用,避免误删,通常外部表会结合location一起使用
外部表还可以将其他数据源中的数据 映射到 hive中,比如说:hbase,ElasticSearch......
设计外部表的初志就是 让 表的元数据 与 数据 解耦
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |