Hadoop Hive sql语法详解

2023-10-30

      Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构

化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需

要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据。而mapreduce开发人员可以把

己写的mapper 和reducer 作为插件来支持Hive 做更复杂的数据分析。


     它与关系型数据库的SQL 略有不同,但支持了绝大多数的语句如DDL、DML 以及常见的聚合函数、连接查询、条件查询。HIVE不适合用于联机

online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。

    HIVE的特点:可伸缩(在Hadoop的集群上动态的添加设备),可扩展,容错,输入格式的松散耦合。


     Hive 的官方文档中对查询语言有了很详细的描述,请参考:http://wiki.apache.org/hadoop/Hive/LanguageManual ,本文的内容大部分翻译自该页面,期间加入了一些在使用过程中需要注意到的事项。

1.  DDL 操作

DDL
•建表
•删除表
•修改表结构
•创建/删除视图
•创建数据库
•显示命令

建表:

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name 
  [(col_name data_type [COMMENT col_comment], ...)] 
  [COMMENT table_comment] 
  [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] 
  [CLUSTERED BY (col_name, col_name, ...) 
  [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] 
  [ROW FORMAT row_format] 
  [STORED AS file_format] 
  [LOCATION hdfs_path]
•CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常
•EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)
•LIKE 允许用户复制现有的表结构,但是不复制数据
•COMMENT可以为表与字段增加描述
 
•ROW FORMAT
    DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]
        [MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
   | SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]
         用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,将会使用自带的 SerDe。在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指定自定义的 SerDe,Hive 通过 SerDe 确定表的具体的列的数据。
•STORED AS
            SEQUENCEFILE
            | TEXTFILE
            | RCFILE    
            | INPUTFORMAT input_format_classname OUTPUTFORMAT             output_format_classname
       如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE 。


创建简单表:

hive> CREATE TABLE pokes (foo INT, bar STRING);


创建外部表:

CREATE EXTERNAL TABLE page_view(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User',
     country STRING COMMENT 'country of origination')
 COMMENT 'This is the staging page view table'
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054'
 STORED AS TEXTFILE
 LOCATION '<hdfs_location>';

建分区表

CREATE TABLE par_table(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User')
 COMMENT 'This is the page view table'
 PARTITIONED BY(date STRING, pos STRING)
ROW FORMAT DELIMITED ‘\t’
   FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;

建Bucket表

CREATE TABLE par_table(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User')
 COMMENT 'This is the page view table'
 PARTITIONED BY(date STRING, pos STRING)
 CLUSTERED BY(userid) SORTED BY(viewTime) INTO 32 BUCKETS
 ROW FORMAT DELIMITED ‘\t’
   FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;

创建表并创建索引字段ds

hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);

复制一个空表

CREATE TABLE empty_key_value_store
LIKE key_value_store;

例子

create table  user_info (user_id int, cid string, ckid string, username string) 

row format delimited 

fields terminated by '\t'

 lines terminated by '\n';

导入数据表的数据格式是:字段之间是tab键分割,行之间是断行。

及要我们的文件内容格式:

100636  100890  c5c86f4cddc15eb7        yyyvybtvt
100612  100865  97cc70d411c18b6f        gyvcycy
100078  100087  ecd6026a15ffddf5        qa000100


显示所有表:

hive> SHOW TABLES;

按正条件(正则表达式)显示表,

hive> SHOW TABLES '.*s';

修改表结构

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop Hive sql语法详解 的相关文章

  • AI大模型应用入门实战与进阶:如何训练自己的AI模型

    1 背景介绍 人工智能 Artificial Intelligence AI 是计算机科学的一个分支 旨在模拟人类智能的能力 包括学习 理解自然语言 识别图像和视频 进行决策等 随着数据量的增加和计算能力的提升 人工智能技术的发展得到了巨大
  • 心灵与大脑的沟通:如何让大脑更好地理解我们的情感

    1 背景介绍 心理学和人工智能之间的界限已经不断模糊化 尤其是在情感智能方面 情感智能是一种新兴的人工智能技术 旨在让计算机更好地理解和回应人类的情感 这篇文章将探讨如何让大脑更好地理解我们的情感 以及在这个过程中涉及的核心概念 算法原理
  • 智能时代:自然语言生成SQL与知识图谱问答实战

    语义解析 前言 语义解析的应用场景 总结概论 语义解析和大模型的关系 延伸阅读 前言 语义解析技术可以提高人机交互的效率和准确性 在自然语言处理 数据分析 智能客服 智能家居等领域都有广泛的应用前景 特别是在大数据时代 语义解析能够帮助企业
  • 【Mysql】InnoDB 引擎中的页目录

    一 页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表 那么我使用主键查询的时候 最顺其自然的办法肯定是从第一条记录 也就是 Infrimum 记录开始 一直向后找 只要存在总会找到 这种在数据量少的时候还好说 一旦数据多了 遍历耗
  • 【计算机毕业设计】病房管理系统

    当下 如果还依然使用纸质文档来记录并且管理相关信息 可能会出现很多问题 比如原始文件的丢失 因为采用纸质文档 很容易受潮或者怕火 不容易备份 需要花费大量的人员和资金来管理用纸质文档存储的信息 最重要的是数据出现问题寻找起来很麻烦 并且修改
  • 扬帆证券:产业化破题在即 人形机器人超预期演进

    大模型助力下的拐点 特斯拉A股产业链上 两笔重磅出资几乎一起现身 总规划超百亿元 1月4日 拓普集团公告 与宁波经济技能开发区办理委员会签署了 机器人电驱系统研发生产基地项目出资协议书 公司拟出资50亿元 建设机器人核心部件生产基地 此次出
  • 【计算机毕业设计】网上拍卖系统

    现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本网上拍卖系统就是在这样的大环境下诞生 其可以帮助使用者在短时间内处理完毕庞大的数据信息 使用这种软件工具可以帮助管理人员
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 这个很少人知道的零售技巧,却是我最想安利的!

    在当今数字化浪潮的推动下 零售业正在迎来一场革命性的变革 新零售模式的崛起正引领着消费者与商品之间的互动方式发生深刻的变化 在这个变革的前沿 自动售货机作为新零售的一种关键形式 通过智能技术和自动化系统 重新定义了购物体验的边界 客户案例
  • 扬帆证券:三只松鼠去年扣非净利预增超1.4倍

    在 高端性价比 战略驱动下 三只松鼠 300783 重拾增势 1月15日晚间 三只松鼠发布成绩预告 预计2023年度净赢利为2亿元至2 2亿元 同比增加54 97 至70 47 扣非后净赢利为1亿元至1 1亿元 同比增速达146 9 至17
  • 深入了解 Python MongoDB 查询:find 和 find_one 方法完全解析

    在 MongoDB 中 我们使用 find 和 find one 方法来在集合中查找数据 就像在MySQL数据库中使用 SELECT 语句来在表中查找数据一样 查找单个文档 要从MongoDB的集合中选择数据 我们可以使用 find one
  • 【计算机毕业设计】白优校园社团网站的设计与实现

    近些年 随着中国经济发展 人民的生活质量逐渐提高 对网络的依赖性越来越高 通过网络处理的事务越来越多 随着白优校园社团网站的常态化 如果依然采用传统的管理方式 将会为工作人员带来庞大的工作量 这将是一个巨大考验 需要投入大量人力开展对社团
  • 【计算机毕业设计】OA公文发文管理系统_xtv98

    近年来 人们的生活方式以网络为主题不断进化 OA公文发文管理就是其中的一部分 现在 无论是大型的还是小型的网站 都随处可见 不知不觉中已经成为我们生活中不可或缺的存在 随着社会的发展 除了对系统的需求外 我们还要促进经济发展 提高工作效率
  • Redis分布式锁--java实现

    文章目录 Redis分布式锁 方案 SETNX EXPIRE 基本原理 比较好的实现 会产生四个问题 几种解决原子性的方案
  • CorelDRAW2024官方中文版重磅发布更新

    35年专注于矢量设计始于1988年并不断推陈出新 致力为全球设计工作者提供更高效的设计工具 CorelDRAW 滋养并见证了一代设计师的成长 在最短的时间内交付作品 CorelDRAW的智能高效会让你一见钟情 CorelDRAW 全称 Co
  • 【产品兼容认证】WhaleStudio 成功兼容TiDB数据库软件

    平凯星辰和白鲸开源宣布成功完成产品兼容认证 北京 2023年12月27日 平凯星辰 北京 科技有限公司 以下简称平凯星辰 旗下的 TiDB 产品与白鲸开源的 WhaleStudio 已成功完成产品兼容性认证 这一重要合作旨在为全球客户提供更
  • ESM10A 消除对单独 PLC 的需求

    ESM10A 消除对单独 PLC 的需求 ESM10A 可以消除对单独 PLC 的需求 该程序是在 PC 上开发的 然后使用免费提供的简单易用的 EzSQ 软件下载到逆变器 似乎这些改进还不够 日立还在 SJ700 中添加了其他新功能 例如
  • 高精度运算合集,加减乘除,快速幂,详细代码,OJ链接

    文章目录 零 前言 一 加法 高精度加法步骤 P1601 A B 二 减法 高精度减法步骤
  • 最大流-Dinic算法,原理详解,四大优化,详细代码

    文章目录 零 前言 一 概念回顾 可略过 1 1流网络 1 2流 1 3最大流 1 4残留网络 1 5增广路
  • 对中国手机作恶的谷歌,印度CEO先后向三星和苹果低头求饶

    日前苹果与谷歌宣布合作 发布了 Find My Device Network 的草案 旨在规范蓝牙追踪器的使用 在以往苹果和谷歌的生态形成鲜明的壁垒 各走各路 如今双方竟然达成合作 发生了什么事 首先是谷歌安卓系统的市场份额显著下滑 数年来

随机推荐

  • 数据结构与算法(非常详细)从零基础入门到精通,看完这一篇就够了

    本文包含数据结构与算法主要的基本知识点 便于知识的梳理与回顾 部分知识点的详细介绍请在专栏内查阅 目录 一 概述 二 线性表 三 栈 四 队列 五 串 六 多维数组和广义表 七 树和二叉树 八 图 九 查找 十 排序 一 概述 数据结构 逻
  • 【C++】全局变量的声明与定义

    文章目录 编译单元 模块 声明与定义 extern作用 静态全局变量 static 全局常量 const 编译单元 模块 在VC或VS上编写完代码 点击编译按钮准备生成exe文件时 编译器做了两步工作 将每个 cpp c 和相应的 h文件编
  • flutter开发实战-just_audio实现播放音频暂停音频设置音量等

    flutter开发实战 just audio实现播放音频暂停音频设置音量等 最近开发过程中遇到需要播放背景音等音频播放 这里使用just audio来实现播放音频暂停音频设置音量等 一 引入just audio 在pubspec yaml引
  • CLR Inside Out: Marshaling between Managed and Unmanaged Code

    L et s face it The world is not perfect Very few companies are developing entirely in managed code and on top of that th
  • 蓝桥杯2021省赛填空题最后一题:图的遍历和最大公因数(小蓝的图由 2021 个结点组成,依次编号 1 至 2021。)

    蓝桥杯2021省赛填空题最后一题 小蓝的图由 2021 个结点组成 依次编号 1 至 2021 对于两个不同的结点 a b 如果 a 和 b 的差的绝对值大于 21 则两个结点 之间没有边相连 如果 a 和 b 的差的绝对值小于等于 21
  • 浅显易懂 SQLite3 笔记(05)— 搭建Windows下的QT数据库(SQLite3)环境

    文章目录 前言 一 配置文件 二 环境搭建 三 环境测试 总结 前言 在学习完SQLite3数据库基本表的增删改查后 本篇我们将开始搭建Windows操作系统下的QT数据库环境 使QT中的数据来源从C 容器转移到数据库中 完成软件界面与数据
  • iOS appid (wildcard ID和explicit ID)

    最近做ios游戏的平台相关的工作 平台商要求把我们产品的bundle id加上他们的标记 比如我们的bundle id叫 com lc test 如果我上CSDN的平台 就需要改成 com lc testCSDN之类的 作为一个不是做ios
  • 用MATLAB写出蒙特卡洛仿真

    蒙特卡洛仿真是一种在计算机上模拟随机过程的方法 在 MATLAB 中 可以使用函数 rand 来生成随机数 并用循环语句进行模拟 下面是一个简单的例子 模拟在半径为 1 的圆内随机生成点 并统计在圆内的点的数量 设置随机点的数量n 1000
  • 如何提高工作激情,打造狼性团队

    一 榜样激励 为员工树立一根行为标杆 在任何一个组织里 管理者都是下属的镜子 可以说 只要看一看这个组织的管理者是如何对待工作的 就可以了解整个 组织成员的工作态度 表不正 不可求直影 要让员工充满激情地去工作 管理者就先要做出一个样子来
  • csharp: Export or Import excel using NPOI

    excel 2003 using System using System Collections Generic using System ComponentModel using System Data using System Draw
  • 网络安全人才的发展情况是怎么样的呢?快上车,带你了解

    前言 根据报告执行的数据分析情况 今年因疫情影响及新基建的提出 导致网络安全人才的择业及网络安全从业人员的流动受到一些影响 目前网络安全人才培养方面存在以下几个主要特点 1 在校网络安全人才中性别比例愈加趋于均衡 网络安全学生中女性占比连续
  • 【MySQL】数据库主主备份

    我们先以A服务器为起点 配置它的数据库同步到B 这就是主 从复制了 之后再反过来做一次 就可以互相备份了 热备份的条件 1 mysql的版本都要高于3 2 2 两者数据库版本相同 3 主主备份相当于在原先主从备份的基础上反过来再操作一次 范
  • 算法的鲁棒性

    在机器学习领域 总是看到 算法的鲁棒性 这类字眼 比如这句 L1范数比L2范数鲁棒 鲁棒 的英文是robustness 其是一个特别大的研究领域 最权威的著作当属稳健统计的2本厚书 文献 1 和 2 有志之士可作研究 本人的硕士论文对算法鲁
  • 存储显示联机服务器,存储和服务器如何连接

    存储和服务器如何连接 内容精选 换一换 通过内网连接云手机实例时 需要在租户VPC中创建一台弹性云服务器 作为连接云手机的跳板机器 若创建云手机服务器时未使用自定义网络 还需在云手机租户的VPC和服务器所在VPC之间建立对等连接 如图1所示
  • E70_433半双工无线模组,伪全双工方案

    E70 433半双工无线模组 伪全双工方案 前言 架构设计 外侧输入模块 外侧输出模块 内侧发帧模块 内侧接受模块 实现代码 通用宏定义 代码解析 通用工具函数 代码解析 串口输入输出函数 代码解析 核心业务代码 发送模块 代码解析 接收模
  • uint8 int8

    signed char int8 unsigned char uint8 int int16 unsigned int uint16 long int32 unsigned long uint32 long long int64 unsig
  • python设计个性签名

    python设计个性签名 1 设计个性签名即根据输入的汉字 在签名网站上爬取相应的签名并可视化输出设计结果 2 签名展示举例 可根据需要自行修改 潇洒签 代码展示 import tkinter from tkinter import fro
  • 用python写一个简单的对话框

    前几天 同事说他学过C 做对话框 然后他问我可不可以用python写个对话框 今天我就来写个python的简单版本对话框 大家都是成年人且单身 那么就来写个相亲的对话框 import time print 快过年了 相亲队伍火热报名中 ti
  • Charles 下载并激活(现在已经不用下载Jar包了)。完美解决

    Charles下载网址 https www charlesproxy com download 1 Charles先下载 安装 2 安装完成之后 https www zzzmode com mytools charles 输入任意名字 点击
  • Hadoop Hive sql语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统 它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据 可以将结构 化的数据文件映射为一张数据库表 并提供完整的SQL查询功能 可以将SQL语句转换为MapRe