hive理解:最近学习了一下hive,才知道hive没有守护进程,它是在HDFS与MapReduce的架构之上,即hadoop运行正常输入hive命令即可以使用,在运行此命令会加载hive-site.xml文件信息,下面小编介绍下Hive的简单操作
一、交互式下(interactive )
创建分区表(数据文件是csv格式)
CREATE TABLE t_weibo (
mid varchar(128) COMMENT ‘主键mid,格式为topic_parition_group’,
uid varchar(64) COMMENT ‘用户ID’,
topic varchar(256) COMMENT ‘用户topic’,
at_who varchar(256) COMMENT ‘at_who’,
comments_count bigint COMMENT ‘评论数’,
zan_count bigint COMMENT ‘点赞数’,
reposts_count bigint COMMENT ‘转发数’,
created_at varchar(32) COMMENT ‘微博发布时间’,
updatetime varchar(32) COMMENT ‘采集更新时间’,
create_time timestamp COMMENT ‘记录创建时间’,
emotion varchar(8) COMMENT ‘正负面’,
mid_p varchar(128) COMMENT ‘转发自’,
name varchar(256) COMMENT ‘微博用户名’,
pic string COMMENT ‘微博链接’,
profileImageUrl varchar(256) COMMENT ‘微博用户头像’,
reposts_depth bigint COMMENT ‘转发层级’,
source varchar(256) COMMENT ‘微博发布终端’,
text string COMMENT ‘微博内容’,
text_loc varchar(32) COMMENT ‘微博内容对应的地理位置’,
weibo_url varchar(256) COMMENT ‘微博url’
)partitioned by (datadate string) ROW FORMAT SERDE ‘org.apache.hadoop.hive.serde2.OpenCSVSerde’
WITH SERDEPROPERTIES (
“separatorChar” = “,”,
“quoteChar” = ‘”’,
“escapeChar” = “\”
) STORED AS TEXTFILE;查看表详细信息
desc formatted tablename;- 查看hive的所有函数
show functions - 查看某个函数的使用案例
desc function extended upper - 加载数据
load data (local) inpath ‘///weibo.txt’ (overwrite) into table student;
二、非交互式下(non-interactive )
- 查看帮助
hive –help - SQL查询
hive -e “select * from student” - SQL脚本运行
hive -f filename - SQL的初始化文件运行(例如:用户自定义函数)
hive -i filename - 静音模式运行SQL(即运行时不显示mapreduce的进度)
hive -S -e “sql”
三、hive的配置文件(hive-site.xml)
需要显示查询表的表头和交互式显示当前数据库名
hive的日志文件路径配置(hive启动时显示的文件名)