执行hive命令时没有反应
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行hive命令时没有反应相关的知识,希望对你有一定的参考价值。
效果如图
一直处于这种状态,也不报错,日志文件也没有报错/。
/etc/profile 环境变量配置如下:
export PATH MANPATH INFOPATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
export JAVA_HOME=/cygdrive/d/salesforce/jdk
export HADOOP_HOME=/cygdrive/d/cygwin/home/hadoop-1.2.1
export HADOOP_CONF_DIR=/cygdrive/d/cygwin/home/hadoop-1.2.1/conf
export HIVE_HOME=/cygdrive/d/cygwin/home/hive-0.11.0
export HIVE_CONF_DIR=/cygdrive/d/cygwin/home/hive-0.11.0/conf
export PATH=$HIVE_HOME/bin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/conf:$PATH
export CLASSPATH=$HIVE_HOME/lib:$JAVA_HOME/lib:$JAVA_HOME/lib:$HADOOP_HOME
希望高手能帮我解决!
2 看一下hive配置的Xml文件是否配置正确。
希望把xml发上来 说一下具体配置的细节、才能定位问题追问
请问下如何查看Hive服务正常起来没?
hive的XML都是使用的conf文件夹里面的template模板
你使用的是什么数据库?Derby? mysql? 这两个数据库安装有区别
首先你会在你安装Hive的Master或者Slave上看到Hvie的进程(命令JPS) 你起Hive的时候可能用的是Hive根目录下bin中的shell hive也可能使用命令hive –service cli
conf中是否都创建了hive-env.sh hive-site.xml 是可以用模板 但是你需要把
export HIVE_CONF_DIR和HADOOP_HOME都放进去。
数据库用的是derby,
hive-site.xml使用的是hive-default.xml.template的模板,没做任何修改。
export HIVE_CONF_DIR和HADOOP_HOME已经放在hive-env.sh里面了,
Hive基于命令行的DDL和DML
1. Hive命令行启动
在用命令行操作hive时,需要在hive的安装目录的bin子目录下:执行如下命令:
hive
测试:
hive> show tables;
OK
Time taken: 0.9 seconds
hive>
以下的DDL和DML命令均通过此命令行执行即可。
2. Hive的DDL操作
关于数据库
1 创建数据库 CREATE (DATABASE|SCHEMA) database_name
例如:create database testdb;
2 使用某个数据库 USE DBname
例如: use testdb;
3 删除数据库 DROP (DATABASE|SCHEMA) database_name
例如: drop database testdb;
3. Hive的DML操作
1 创建一张表
语法:
create table 表名
(
列名1 数据类型,
列名N 数据类型
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’ //用来设置列之间的分隔符
STORED AS TEXTFILE;
例子:
create table testdb
(
name string,
des string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
2 修改表
语法:
修改表名字
ALTER TABLE name RENAME TO new_name
给表增加列
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
给表删除列
ALTER TABLE name DROP [COLUMN] column_name
修改表的列
ALTER TABLE name CHANGE column_name new_name new_type
替换表的列
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])
例子:
ALTER TABLE testdb RENAME TO testdb2;
3 列出表
语法:
列出所有表
show tables;
列出指定表
show tables tablename;
例子:
show tables;
4 加载数据 将本地符合条件的文件,导入到hive
语法:
load data local inpath ‘本地路径’ into table 表名;
例子:
在本地创建文件data.txt 文件内容如下:
Mike aaa
Jone bbb
注意:每一行的单词之家要以一个tab键隔开,相当于\t。因为创建表时,指定每列之间的分隔符是\t
然后执行如下命令:
load data local inpath '/home/project/soft/hive/apache-hive-1.2.1-bin/bin/data.txt' into table testdb2;
5 查看表的结构
语法:
desc 表名;
例子:
desc testdb2;
6 查询表
语法:
select * from 表名;
例子:
select * from testdb2;
7 删除表
语法:
drop table 表名;
例子:
drop table testdb2;
8 清空表中的数据
语法:
truncate table 表名;
例子:
truncate table testdb2;
4. Hive的复杂查询
1 SELECT ... WHERE 查询复合where后的条件的记录
例子:
select * from testdb2 where name = 'mike2’;
2 SELECT ... ORDER BY 按照某个字段升序或者降序展示结果
注意:默认是某一字段升序排列
例子:
升序:
select * from testdb2 order by name;
降序:
select * from testdb2 order by name desc;
3 SELECT... GROUP BY 按照某一字段分组
例子:
select name,count(*) from testdb2 group by name;
4 SELECT ... JOIN 多表之间关联查询
有不同类型的联接给出如下:
JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
例子:
select t2.name,t2.des,t3.name,t3.des from testdb2 t2 join testdb33 t3 on (t2.name=t3.name);
以上是关于执行hive命令时没有反应的主要内容,如果未能解决你的问题,请参考以下文章
Oracle shutdown immediate命令关闭数据库时没有反应
hive非管理员用户无权执行CREATE TEMPORARY FUNCTION,是需要管理员赋权吗?错误如图所示