hive

安装mysql
设置密码
Msql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
登录
mysql -uroot -p123456
解压hive,创建hive-site.xml


     
         javax.jdo.option.ConnectionURL
         jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
    

   
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
  

  
       javax.jdo.option.ConnectionUserName
       root
  

  
  javax.jdo.option.ConnectionPassword
  123456
 

把驱动压缩包(mysql-connector-java-5.1.41)拷贝到hive的lib下
cp mysql-connector-java-5.1.41-bin.jar ../apache-hive-0.13.0-bin/lib/
配置环境变量 source /etc/profile

image.png

登录

image.png

创建一个表,并查看里面的字段

image.png

从本地往表里面灌数据
LOAD DATA LOCAL INPATH '/home/tomcat/badou/class6/hive_test/a.txt' OVERWRITE INTO TABLE p_t_2;

image.png

Hive是MapReduce的一个封装,当你执行一个sql语句,背后hive帮你执行了 mapreduce的任务。Hive本身是不存数据的,我们可以看到在 hadoop fs -text /user/hive/warehouse/p_t_2/a.txt 路径下有这个数据

image.png

image.png

你hive上把表删除了,hadoop上就不存在了。
不用终端的方式建立一个外部表
hive -f create_table.sql
create EXTERNAL TABLE p_t_1
(
usrid STRING,
age STRING,
sex STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n';
如果建立一个外部表,即使hive 上把表删除,hadoop上的数据还是存在,只要重新建立表的结构就可以恢复数据。

你可能感兴趣的:(hive)