zoukankan      html  css  js  c++  java
  • 【Hive】Hive 基础

    Hive架构:

    Hive基础
    1 概念
    1.1 简介
    1.1.1 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。--OLAP
    1.2 背景
    1.2.1 OLAP逻辑和SQL一样大体一致,可以将这些逻辑转化为对应的MR,不需要每种类型的查询分析都重复写MR
    1.2.2 Facebook开发通用的MR程序框架,对外使用SQL接口,框架就是Hive
    1.3 官网
    1.3.1 http://hive.apache.org/
    1.4 原理
    1.4.1 建表
    1.4.1.1 Hive保存元数据
    1.4.1.1.1 可以使用MySQL
    1.4.1.2 指定HDFS文件路径
    1.4.2 SQL查询
    1.4.2.1 Compiler编译器匹配MR模板,生成MR实例
    1.4.2.2 MR执行器
    1.4.2.2.1 提交运行MR,返回输出
    1.4.3 问题
    1.4.3.1 Hive采用的方法是将SQL查询转化成MapReduce任务,这导致Hive的性能很差。 而且,Hive只能支持不到30%的SQL分析功能
    1.5 同类产品
    1.5.1 Impala
    1.5.1.1 使用MPP并行数据库思想,完全抛弃了MapReduce这个不太适合做SQL查询的范式。 比基于MapReduce的HiveSQL查询速度提升3~30倍。支持HDFS、HBASE作为存储引擎。
    1.5.1.2 http://baike.baidu.com/link?url=wjJdGGrc150Mjrw_JX53P8aEdLOtVwi7hO6P31CKjAmq 2v7P6mEVkRLLLuyvQXI7p_GUsN3du2jF4detmY1t-q
    1.5.1.3 http://www.ctocio.com/bigdata/9236.html
    1.5.2 Drill
    1.5.2.1 Impala仅支持CDH,Drill构建在Hadoop通用版本之上
    1.5.3 Spark Shark
    1.5.3.1 Shark为了实现Hive兼容,在HQL方面重用了Hive中HQL的解析、逻辑执行计划翻译、 执行计划优化等逻辑,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业
    1.5.3.2 http://zhidao.baidu.com/link?url=KsaLI5bexln9hVHFp4mABsq2xSpwdllf89-sGZlwz1lAoUo OPMJwGgS0w-eaHOVbaxGYMsxbI5KjYxFRj1sv1MC_XTW0BN2hf96NF8ZdHcu
    1.5.4 Spark SQL
    1.5.4.1 http://www.csdn.net/article/2014-07-02/2820482-shark-spark-sql-hive-on-spark-and-the-future-of-sql-on-spark
    1.5.5 Cassandra
    1.5.5.1 http://baike.baidu.com/link?url=vqQi3df9gQb6pnudACgLzz6NCgRvlOvoA0mtXGDeqiawcy22yt2FTYrJkv PeRNS6uyMhvkrwmtLCb_312cmg9a
    1.5.6 Presto
    1.5.6.1 http://www.linuxidc.com/Linux/2015-07/119958.htm
    1.5.6.2 http://prestodb-china.com/
    1.5.6.3 http://blog.csdn.net/joomlaer/article/details/45889759
    1.5.7 如何选择?
    1.5.7.1 http://stackoverflow.com/questions/17113964/comparing-cassandras-cql-vs-spark- shark-queries-vs-hive-hadoop-dse-version
    1.5.7.2 http://blog.163.com/xiaoji0106@126/blog/static/136134661201411322353856/
    1.5.7.3 http://blog.sina.com.cn/s/blog_6277623c0102vnq2.html
    1.5.7.4 http://blog.chinaunix.net/uid-29242841-id-4030543.html
    1.5.7.5 https://www.zhihu.com/question/41541395
     
  • 相关阅读:
    模拟两位选手进行n羽毛球比赛(15分赛制)并计算模拟胜率
    Pyton实例
    Python图片处理
    jieba库的使用和好玩的词云
    Python汉诺塔问题
    多线程同时操作一个epoll_fd
    Linux tr命令
    iptables 深入分析
    Linux xtables
    Linux IPC 共享内存
  • 原文地址:https://www.cnblogs.com/junneyang/p/5871233.html
Copyright © 2011-2022 走看看