Hive

在  Hadoop 集群上所有数据的访问都是通过 Java 编写的 MapReduce 作业来完成的,这些让 Java 程序员来完成没有问题。

但是对 SQL 程序员来说,写 MapReduce 则非常困难。Hive 的目的就是允许 SQL 能够访问 HDFS 中的数据。

Hive 定义了一个简单的类 SQL查询语言,叫做 HQL。这种语言让用户能用熟悉的 SQL来查询数据,

用 HQL 编写的查询语句通过 Hive 转化成 MapReduce 代码并且通过 Hadoop 来执行。但 HQL 并非完全标准的 SQL。体现在下面几个方面

  • Hive 不支持连接条件
  • 不支持 update 和 delete 语句
  • 不支持事务

Spark SQL

spark sql 本身就是跑在 spark 上,其性能表现比 Hive 要好。 spark SQL 有一个内存计算模型,可以比 MapReduce 进行

磁盘访问的方式快许多。

尽管 Spark SQL 用一种 Hive 查询语言 HQL 来表达,但也有一些在 Hive 上没有的额外功能。

如在整个用户会话期间缓存表数据的能力,相当于一些数据库中的临时表,这些表在内存中,访问速度要快许多。

以上内容节选自《hadoop 生态系统》

Hive & SparkSQL 比较的更多相关文章

  1. concat_ws 使用在hive spark-sql上的区别

    concat_ws() 在hive中,被连接对象必须为string或者array<string>,否则报错如下: hive> select concat_ws(',',unix_ti ...

  2. Spark入门实战系列--6.SparkSQL(上)--SparkSQL简介

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .SparkSQL的发展历程 1.1 Hive and Shark SparkSQL的前身是 ...

  3. Spark入门实战系列--6.SparkSQL(下)--Spark实战应用

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .运行环境说明 1.1 硬软件环境 线程,主频2.2G,10G内存 l  虚拟软件:VMwa ...

  4. 60分钟内从零起步驾驭Hive实战学习笔记

    本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...

  5. Spark记录-Spark-Shell客户端操作读取Hive数据

    1.拷贝hive-site.xml到spark/conf下,拷贝mysql-connector-java-xxx-bin.jar到hive/lib下 2.开启hive元数据服务:hive  --ser ...

  6. SparkSQL简介

    1.SparkSQL的发展历程 1.1 Hive and Shark SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生,它 ...

  7. 60分钟内从零起步驾驭Hive实战学习笔记(Ubuntu里安装mysql)

    本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...

  8. sparksql基础知识一

    目标 掌握sparksql底层原理 掌握sparksql中DataFrame和DataSet的数据结构和使用方式 掌握通过sparksql开发应用程序 要点 1.sparksql概述 1.1 spar ...

  9. Spark(十一)【SparkSQL的基本使用】

    目录 一. SparkSQL简介 二. 数据模型 三. SparkSQL核心编程 1. IDEA开发SparkSQL 2. SparkSession 创建 关闭 获取SparkContext 3. D ...

随机推荐

  1. Linux动态库的导出控制

    在实际工作中,许多软件模块是以动态库的方式提供的.做为模块开发人员,我们不仅要掌握如何编写和构建动态库,还要了解如何控制动态库的导出接口,这样,我们可以向模块的用户仅导出必要的接口,而另一些内部接口, ...

  2. 使用 Hexo + github 搭建个人博客

    来自:http://www.cnblogs.com/fengzheng/p/8031518.html Hexo 是什么 Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown(或 ...

  3. SpringCloud学习笔记(一)——基础

    什么是微服务架构 简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进 ...

  4. MySQL数据库管理

    好记性不如烂笔头 1.MySQL启动基本原理 /etc/init.d/mysqld 是一个shell启动脚本,启动后会调用mysqld_safe脚本,最后调用的是mysqld主程序启动mysql. 单 ...

  5. P4542 [ZJOI2011]营救皮卡丘

    题目链接 题意分析 我们仔细分析一下 发现题目要求用最多\(k\)条路径实现最小权覆盖 首先由于最小路径覆盖针对的是有向图 但是这是一个无向图 所以我们面向对象编程 我们维护一个数组\(d[i][j] ...

  6. 插入排序 思想 JAVA实现

    已知一个数组 60.28.41.39.6 .18 .14.28.49.31 利用插入排序算法进行排序 插入排序是一个运行时间为O(N²)的排序算法. 算法思想  60.28.41.39.6 .18 . ...

  7. SVN服务器端环境搭建步骤

    5.1 安装服务器端程序 yum install -y subversion 5.2 创建并配置版本库 创建版本库目录 mkdir -p /var/svn/repository 在版本库目录下创建具体 ...

  8. 使用GPIO监听中断

    #include<stdlib.h> #include<stdio.h> #include<string.h> #include<unistd.h> # ...

  9. LINQ中的"延迟查询"特性【转】

    本文转载自:LINQ中的"延迟查询"特性 详细了解“延迟查询”:C#学习笔记(八)—–LINQ查询之延迟执行 很多标准查询操作符的设计原型都是返回一个IEnumerable< ...

  10. 【Eclipse】编译使用Makefile的C工程

    创建MakeFile project新建src文件夹,将文件复制到里面.右击makefile,make targets->create->名称填上allmake targets->b ...