Hive 操作(一)

Hive 基础及安装
Hive 操作(一)
hive 操作(二)——使用 mysql 作为 hive 的metastore
hive 操作(三)——hive 的数据模型
hive 操作(四)
注:

  • (1)hive的映射工具metastore:

    • SQL ⇒ MapReduce Job
    • 表(SQL) ⇒ 文件/文件夹(hdfs)
    • 字段 ⇒ 文件中的列

Hive 的 SQL 操作

  • (1)进入hive

    [root@hadoop0 ~]# hive

    退出为quit

    hive> quit;
  • (2)基本的类 MySQL 的操作:

    hive> show databases;
    OK
    default
    Time taken: 2.456 seconds, Fetched: 1 row(s)
    
    hive> use default;
    OK
    Time taken: 0.289 seconds
    
    hive> show tables;
    OK
    Time taken: 0.149 seconds
  • (3)DDL 操作

    hive> create table t1(id string);
    OK
    Time taken: 2.048 seconds
                    # mysql 并不支持string的数据类型
    hive> show tables;
    OK
    t1
    Time taken: 0.037 seconds, Fetched: 1 row(s)

因为最终 hive (使用映射工具——metastore)是将 SQL 中创建的表转换为HDFS文件系统中的文件(文件夹),那么到底有没有转换过去呢?

我们在浏览器端输入:hadoop0:50070,进入 hadoop 集群的namenode节点,然后点击【Browse the filesystem】进入 hadoop 文件系统(File System):


这里写图片描述

我们跳转到/user/hive/warehouse,会发现我们在hive创建的表t1以文件(文件夹)的形式进行存储。

hive 在 hdfs 中的默认位置是/user/hive/warehouse,是由配置文件hive-site.xml(由mv $HIVE_HOME/conf/hive-default.xml.template $HIVE_HOME/conf/hive-site.xml而来) 中属性 hive.metastore.warehouse.dir 决定的。出于简洁性的考虑,我们不妨将hive.metastore.warehouse.dir修改为/hive,系统会自动创建。

默认配置的含义在于,你可以重新配置;

经过一系列的SQL操作(尤其是创建操作),我们重新进入hive/bin,会发现其下多了,derby.logmetastore_db两个文件,derby 数据库在哪里运行就在哪里创建(derby.log和metastore_db)。也即我们不可在不同的位置执行 hive 操作,否则会发生不一致的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值