博主信息
Sky
博文
291
粉丝
0
评论
0
访问量
7030
积分:0
P豆:617

hive 说明与使用

2021年10月20日 20:13:41阅读数:11博客 / Sky

hive 介绍

hive 基于 hadoop 数据仓库的工具

hive 使用 hql 语言操作; hql 语句有点类似 sql, 最终在 hadoop 节点上运行

hive 优点

通过 sql 语法简单容易去上手
避免写原生 hadoop 程序, 减少开发工作量
hive 执行延时比较高, 所以hive 适合 数据量特别大, 实时性要求不搞的情况
hive 支持用户自定义函数

hive 缺点

hql 表达能力有限
hive 无法做迭代式的运算
hive 数据挖掘不是特别擅长
hive 效率低,调优空间小,只能用于离线场景: 所以一般我们不会直接使用hadoop执行查询, 而使用spark和hadoop链接在一起执行查询

hive 架构原理和使用场景

数据存储在 hdfs, hive 类sql 操作
到数据仓库的数据基本就是不变的数据, 所以读的特别多, 写得特别少. 尽量不要改写.
hive 没有索引,所以查询都是全表扫描: 离线数据分析; 可扩展性非常好

hive 实操

# 进入 hive 容器docker psdocker exec -it dc387ff5c56d /bin/bash# 进入 hive 命令行root@dc387ff5c56d:/opt# hive# hive> show databases;OK
default
Time taken: 1.009 seconds, Fetched: 1 row(s)hive> use default;hive> show tables;hive> create table student(id int , name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';OK
Time taken: 2.854 seconds# 浏览器查看 hadoop 数据节点是否创建成功 student 表http://192.168.20.157:50070/explorer.html#/user/hive/warehouse

在宿主机编辑好文件 复制到 容器中

[work@Lan-Kvm-20157-Reptile2 ~]$ vim student.txt
1       namenode
2       spark
3       hadoop
4       elasticsearch"student.txt" [New] 4L, 44C written                                                                                                                                                                
[work@Lan-Kvm-20157-Reptile2 ~]$ docker cp ./student.txt dc387ff5c56d:/opt[work@Lan-Kvm-20157-Reptile2 ~]$ docker exec -it dc387ff5c56d /bin/bash
root@dc387ff5c56d:/opt# lshadoop-2.7.1  hive  student.txt
root@dc387ff5c56d:/opt# cat student.txt 1 namenode
2 spark
3 hadoop
4 elasticsearch
root@dc387ff5c56d:/opt#

加载数据到 hive

hive> load data local inpath '/opt/student.txt' into table student;Loading data to table default.student
OK
Time taken: 2.415 seconds

hive> select * from student;OK
1 namenode
2 spark
3 hadoop
4 elasticsearch
Time taken: 2.174 seconds, Fetched: 4 row(s)hive> # namenode 文件数据加载hive> load data inpath 'hdfs://namenode:8020/student3.txt' into table student;

namenode 操作 上传卖域名平台文件数据到 hdfs

[work@Lan-Kvm-20157-Reptile2 hadoop-spark-hive]$ vim language.txt
5       java
6       php
7       python
8       shell
9       mysql
10      golang"language.txt" [New] 6L, 48C written                                                                                                                                                              
# 上传文件至 hadoop 对应路径, 数据直接加载到 hadoop# 路径在 (namenode网站/Utilities/filesystem查看) http://192.168.20.157:50070/explorer.html#/user/hive/warehouse/student[work@Lan-Kvm-20157-Reptile2 hadoop-spark-hive]$
[work@Lan-Kvm-20157-Reptile2 hadoop-spark-hive]$ docker cp language.txt 67264de82f72:/home
root@67264de82f72:/opt# hadoop fs -put /home/language.txt /user/hive/warehouse/student
hive> drop table stu_external;oK
Time taken : 0.188 seconds
hive> create external table stu_external(id int, name string) row format delimited fields terminated by '\t' location ' / student' ;OK
Time taken: 0.055 seconds



版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 今天我们php中文网给大家介绍phpStudy使教程的主界面介绍及按钮功能
    ​下面由帝国cms二次开发教程栏目给大家介绍帝国cms万能通api二次开发核心包使,希望对需要的朋友有所帮助!
    java注解也叫元数据,它是一种代码级别的类、接口、枚举在同一个层次。它可以声在包、类、字段、方法、局部变量、方法参数等的前面,来对这些元素进行、注释。
    对于php7中空合并运算符的使做一些
    jquery判断id是否存在的方法:可以使jquery对象的length属性来判断,如【if($("#id").length>0){}else{}】,如果length>

    2021-02-18

    146

    p.cn是Process Change Notice的缩写,是在物流供应链管理中的一个概念,它加工和装配的工序顺序,每道工序使的工作中心,各项时间定额。
    jquery判断对象是否存在的方法:可以通过使jquery对象的属性length来进行判断,如果【length>0】则对象存在,反之则对象不存在,如【$("#id")
    java面试题及答案:果不其然,在上次的面试中面试官又问了这样的问题:请你下final关键字的具体含义,并详细讲解它的作以及它static的区别。
    2、语法;户数据控制信息的结构格式,以及数据出现的顺序。3、时序;对事件发生顺序的详细
    PHPCMS支持PHP7,在官方升级更新日志中已经了最新版支持“PHP5.5”、“PHP5.6”和“PHP7”,PHPCMS是一款网站管理软件,该软件采模块化开发,支持多种分类方式,使它可方便实现个性化网站的设计
    当php相同的数判断出不相等时,它们虽然数值一样,但是类型是不同的,所以当使PHP中比较运算符全等于符号“===”来判断两个相同的数时,返回false,则类型不同。
    本文教大家使CSS3变形实现漂亮的4色花,并且使纯DIV+CSS附加,有兴趣的可以学习学习!
    网络协议的三要素:1、语义是解释控制信息每个部分的意义;2、语法是户数据控制信息的结构格式,以及数据出现的顺序;3、时序是对事件发生顺序的详细
    在css中,可以使border属性配合rgba()设置所有边框透;也可以使border-top、border-right、border-bottom、border-left属性rgba()配合设置某个边框透
    本篇文章给大家介绍PHP实现生产者消费者,希望对需要的朋友有所帮助!
    本文目标:1、掌握background-size背景图片大小的几种设置方法;问题:1、实现以下效果,使纯DIV+CSS,必须使background-size附加
    本文目标:1、掌握CSS中结构性伪类选择器—enabled的法问题:1、实现以下表单,且使纯DIV+CSS,必须使选择器—enabled附加...
    本文总结了laravel框架在使过程中的错误以及解决办法,大家一起看看吧,如有补充,请
    网络协议的三个要素及其含义:1、语义,解释控制信息每个部分的意义;2、语法,户数据控制信息的结构格式,以及数据出现的顺序;3、时序,对事件发生顺序的详细
    jquery this$(this)的区别是:1、this是一个html元素,而$this只是个变量名,加$是为了其是个jquery对象;2、$(this)是个转换,可于将this表示的dom对象转为