学习Hive(一)初识Hive、基于Hadoop搭建Hive、HSql基础

1、hive就是对hdfs的数据进行mapreduce操作。hive就是一个数据仓库,运行时元数据信息存储在关系型数据库。

2、

       1、hive上传并解压。将mysql-connector放入hive的lib下,环境变量添加上。  记得装个mysql(yum install mysql,开启mysqld服务,授权。)

       2、将hive-xxx(忘记了好像是tem什么的).xml改为hive-site.xml。删除其中的property部分改为:

          

<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive_remote/warehouse</value>
</property>
 
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://node02:3306/hive_remote?createDatabaseIfNotExist=true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123</value>
</property>
 

3、删除/opt/soft/hadoop-2.6.5/share/hadoop/yarn/lib/下的,并将hive中的该包放入。

4、完成,hive命令使用客户端。

 

 

3、

首先,MetaStore Server 处与之前无改变。Client处只添加server连接信息和路径即可。

4、启动服务端:hive --service metastore

5、服务端开启:hive

 

三、HIVE数据结构

注意其中的strut_type 结构体。类似java中的类,可包含多种类型的属性。

建表语句:注意属性前不要加空格

create table psn
(
id int,
name string,
likes array<string>,
address map<string,string>
)
row format delimited
fields terminated by ','
collection items terminated by '-'
map keys terminated by ':';

 

注意:查询表的详细元数据信息可以使用desc formatted psn(查询的表明);

实战中 insert into ... values基本不用。

插入数据语句:load data local inpath '/root/data/data' into table psn;此为从所在本地加载数据插入数据库。

使用select * from psn;查看数据。

注意:我使用hdfs dfs -put data /user/hive/warehouse/psn/data2在表目录下再添加文件后,再执行select发现data2的数据也在展示列!!!说明两件事:1、Hive展示是读取表目录下的文件执行。2、有一些默认配置使hive能够访问hdfs.

官网片段(从此可以看出来环境变量是必须要配置的):

 

外部表创建:下面第一个为外部表,第二个为内部表。内部表产生在了配置文件中配置的目录,而外部表是按照写sql自定义的

create external table psn2
(
id int,
name string,
likes array<string>,
address map<string,string>
)
row format delimited
fields terminated by ','
collection items terminated by '-'
map keys terminated by ':'
location '/usr/';

注意,内部表与外部表再删除时都会删除Hive表信息,Mysql元信息。但是内部表会删除路径下的数据文件。而外部表不会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值