• Hive基础知识


    Hive综述

    • Hive:用于解决海量结构化日志的数据统计
    • 基于Hadoop的数据仓库工具,将结构化的数据文件映射为一张表,并提供类SQL的查询功能
    • 本质是把HiveQL转化为Mapreduce程序
    • Hive不支持记录级别的更新、插入和删除操作
    • Hive查询延时严重,因为要启动mapreduce任务
    • 不支持事务
    • 通过CLI即命令行交互
    • 通过JDBC、ODBC和一个Thrift服务器进行编程访问
    • Hive通过和JobTracker通信来初始化MapReduce

    词频统计

    CREATE TABLE docs (line STRING);
    
    LOAD DATA INPATH 'docs' OVERWRITE INTO TABLE docs;
    
    CREATE TABLE word_counts AS SELECT word,count(1) AS count FROM 
    (SELECT explode(split(line,'s')) AS word FROM docs) w
    GROUP BY word
    ORDER BY word;
    

    Hive内部

    lib下是JAR文件,bin下是各种服务的执行文件,包括命令行界面CLI,conf下是配置文件。Thrift服务提供了可远程访问其他进程的功能,也提供使用JDBC和ODBC访问Hive的功能。

    所有的Hive客户端都需要一个metastoreservice(元数据服务),Hive使用这个服务来存储表模式信息和其他元数据信息。

    SQL Parser解析器、Physical Plan编译器、Query Optimizer优化器、Execution执行器

    Hive的优缺点

    优点
    • 操作接口采用类SQL语法,容易上手
    • 避免写MapReduce,减少学习成本
    • 优势在于处理大数据,延时高
    • 支持用户自定义函数(这个是重点)
    缺点
    • 迭代式算法无法表达
    • 数据挖掘方面不擅长
    • 不够智能化,调优困难

    文件导入Hive

    将student.txt文件导入,文件格式(id int,name string)。

    LOAD DATA LOCAL INPATH 'student.txt' INTO TABLE student;
    
    • LOAD DATA LOCAL INPATH '文件路径' INTO TABLE '表名'
    • 也可以直接将文件student.txt放到对应的HDFS目录上,-put student.txt /hive/warehouse
    • 如果是HDFS上文件移动,只是改动文件索引,文件本身存储没变

    HiveJDVC访问

    • 启动hiveserver2服务
    • 连接hiveserver2

    Hive数据类型

    • INT,int,4byte
    • DOUBLE,double,双精度
    • STRING,string,字符串
    • STRUCT
    • MAP
    • ARRAY
    • row format delimited terminated by 列分隔符
    • collection items terminated by 是MAP STRUCT和ARRAY的分隔符
    • map keys terminated by MAP里的分隔符
    • lines terminated by 行分隔符

    类型转换

    Hive的原子数据类型是可以进行隐式转换。

    • INT可以转换成BIGINT
    • FLOAT和STRING可以转换成DOUBLE
    • CAST('1' AS INT)把字符串转换成整数1
  • 相关阅读:
    windows update error 0x8024401c
    linux杀毒软件ClamAV的安装使用
    firewalld防火墙设置
    RPM-GPG-KEY详解
    centos修改默认启动级别
    debian9.6修改系统语言
    ubuntu18.04修改网卡名称为eth0
    Windows server 1709(不含UI)模板部署
    NVIDIA-SMI系列命令总结
    bash: lspci: command not found解决方法
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12448532.html
Copyright © 2020-2023  润新知