欢迎投稿

今日深度:

hive,

hive,


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

<configuration>
     <property>
         <name>javax.jdo.option.ConnectionURL</name>
         <value>jdbc:mysql://localhost:3306/hive?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>123456</value>
 </property>
</configuration>

把驱动压缩包(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上的数据还是存在,只要重新建立表的结构就可以恢复数据。

www.htsjk.Com true http://www.htsjk.com/hive/26912.html NewsArticle hive, 安装mysql 设置密码 Msql -u root SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); 登录 mysql -uroot -p123456 解压hive,创建hive-site.xml configuration property namejavax.jdo.option.ConnectionURL/name valuejdbc:m...
相关文章
    暂无相关文章
评论暂时关闭