Hive数据仓库实战(详细)

将本地文件数据加载到Hive数据仓库:

首先在/public/users/yexin/Hadoop/hadoopdata下建立文本文件:

Hive中建立表后只有两种方式可以加载数据:(1)从本地文件系统加载数据(2)从Hadoop文件系统加载数据

Hive数据仓库实战(详细)

在node63节点启动hive服务:分别输入:hive --service metastore &;hive --service hiveserver2或直接输入hiveserver2

在node70节点下输入hive登陆,执行如下操作,

创建表:

Hive数据仓库实战(详细)

hive> CREATE TABLE score (
    > sno int,name String,
    > java decimal(10,2),
    > python decimal(10,2))
    > ROW FORMAT DELIMITED
    > FIELDS TERMINATED BY '\t'
    > LINES TERMINATED BY '\n'
    > STORED AS TEXTFILE;
OK

Time taken: 0.429 seconds

导入数据:从本地系统文件按导入

Hive数据仓库实战(详细)

Time taken: 0.429 seconds
hive> load data local inpath '/public/users/yexin/Hadoop/hadoopdata/score.txt' overwrite into table score;
Loading data to table yexin.score
OK
Time taken: 1.413 seconds

Hive数据仓库实战(详细)

查询score表:

Hive数据仓库实战(详细)

查看HDFS数据:

Hive数据仓库实战(详细)

查看元数据:

use hive;

Hive数据仓库实战(详细)

Hive数据仓库实战(详细)

删除表:drop tabel score  记住删除表时HDFS上的数据一起删除了。

注意:如果建立的是外部表,drop后HDFS中的文件并没有删除

=========================================================================

Beelin命令:

设置访问权限:修改hadoop的core-site.xml

用其他节点作为客户端,需要在node63节点配置hive2的监听节点端口,才能让远程访问hive服务(beeline)

vim hive-site.xml

添加:来绑定node70客户端访问 。这样远程就可以访问了。

<property>
        <name>hive.server2.thrift.bind.host</name>
        <value>node70</value>
 </property>

    <property>
        <name>hive.server2.long.polling.timeout</name>
        <value>5000</value>
    </property>

在node70节点(hive的客户端)来连接HiveServer2(允许多个客户端并发操作)

输入:beeline进入beeline,输入:

!connect jdbc:hive2://node70:10000 yexin 12345