zoukankan      html  css  js  c++  java
  • HIVE了解及SQL基础命令

    hive(数据仓库工具)

    Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。术语“大数据”是大型数据集,其中包括体积庞大,高速,以及各种由与日俱增的数据的集合。使用传统的数据管理系统,它是难以加工大型数据。因此,Apache软件基金会推出了一款名为Hadoop的解决大数据管理和处理难题的框架。

    SQL

    结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

    结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

    常见SQL命令

    SELECT 语句

    作用:用于从表中选取数据,结果被存储在一个结果表中

    语法:select 列名称 from 表名称

    举例:select LastName from Person  或 select * from Person

     

    WHERE 子句

    作用:如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句

    语法:SELECT 列名称 FROM 表名称WHERE 列 运算符 值

    举例:SELECT * FROM Persons WHERE FirstName='John'

     

    ORDER BY 语句

    作用:ORDER BY 语句用于根据指定的列对结果集进行排序,默认按照升序对记录进行排序;如需按照降序,可使用DESC关键字

    举例:ORDER BY SELECT LastName, FirstName FROM Persons ORDER BY FirstName

     

    SELECT DISTINCT

    作用:关键字DISTINCT 用于返回唯一不同的值

    语法:SELECT DISTINCT 列名称 FROM 表名称

    举例:要从Company列中仅选取唯一不同的值,

     

    SELECTDISTINCT Company FROM Orders

     

    AND 和 OR 运算符

    作用: AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

    如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

    如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录

     

    举例:使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人

    SELECT* FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

     

    SUM() 函数

    作用:SUM 函数返回数值列的总数(总额)

    语法:SELECT SUM(column_name) FROM table_name

    举例:

     

    我们希望查找 "OrderPrice" 字段的总数

    SELECTSUM(OrderPrice) AS OrderTotal FROM Orders

     

    GROUP BY 语句

    “GroupBy”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理

    举例:

    select类别, sum(数量) as 数量之和fromA

    groupby 类别

    返回结果如下表,实际上就是分类汇总。

     

    实例介绍:

    1. 从persona_data_info 表中,查询job_id=279 的每个gender类别的人数总和

    select gender,sum(persona_count) from persona_data_info where job_id=279 group by gender;

    2. 从persona_data_city ,persona_city_map两个表中查询job_id=279且citycode= map.code

    SELECTjob_id,citycode,persona_count,province,region,city_level FROM persona_data_city,persona_city_map where job_id=279 AND persona_data_city.citycode =persona_city_map.`code`;

     

  • 相关阅读:
    区块链是怎么运行的
    区块链技术到底是什么鬼(二)
    区块链技术到底是什么鬼(一)
    关于SetTimer间隔小于OmTimer执行时间的问题
    区块链
    浏览器原生 form 表单POST 数据的两种方式
    动态调用dll遇到的问题
    转-tcp建立和释放详解
    浏览器使用ActiveX控件
    C可变参数函数 实现
  • 原文地址:https://www.cnblogs.com/Yanss/p/10231071.html
Copyright © 2011-2022 走看看