这篇文章主要为大家展示了“Hive数据库仓库的基本操作有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hive数据库仓库的基本操作有哪些”这篇文章吧。
Hive 数据库仓库的基本操作
查看hive中的数据库
Show databases;
查看hive中的表
Show tables;
查看表结构信息
DESCRIBE table_name;
创建表:
CREATE TABLE daxiong (id INT, name STRING);
创建一个新表daxiong1,结构与daxiong一样
Create table daxiong1 like daxiong;
创建分区表
create table logs(ts bigint,line string) partitioned by (dt String,country String);
加载表数据
(从linux(ext3/ext4文件系统到hive))
a文件之间是空格,b文件之间是tab键;一会看结果。
hive> create table ha(id int,name string)
> row format delimited
> fields terminated by '\\t'
> stored as textfile;
OK
Time taken: 0.28 seconds
注:[ROW FORMAT DELIMITED]关键字,是用来设置创建的表在加载数据的时候,支持的列分隔符。
[STORED AS file_format]关键字是用来设置加载数据的数据类型,默认是TEXTFILE,如果文件数据是纯文本,就是使用 [STORED AS TEXTFILE],然后从本地直接拷贝到HDFS上,hive直接可以识别数据。
从HDFS上导入数据到Hive表
从linux上传到hdfs上:
load data inpath '/user/c' into table ha;
导出到本地文件系统
insert overwrite local directory '/home/hdfs/d' select * from ha;
导出到HDFS中
insert overwrite directory '/user/d select * from ha;
查看:
Hive连接hbase(数据传输)
建立一个表格classes具有1个列族user
create 'classes','user'
查看表的构造
describe 'classes‘
加入数据
put 'classes','001','user:name','jack'put 'classes','001','user:age','20' put 'classes','002','user:name','liza' put 'classes','002','user:age','18'
查看classes中的数据
scan 'classes'
创建外部hive表,查询验证:
create external table classes(id int, name string, age int) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,user:name,user:age") TBLPROPERTIES("hbase.table.name" = "classes");
select * from classes;
再添加数据到Hbase
put 'classes','003','user:age','1820183291839132'
scan 'classes'
Hive查询,看看新数据
select * from classes;
null,因为3没有name,所以补位Null,而age为Null是因为超过最大值,截图中有验证
以上是“Hive数据库仓库的基本操作有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!