iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Hive中Hql语法是什么
  • 401
分享到

Hive中Hql语法是什么

2023-06-03 03:06:29 401人浏览 八月长安
摘要

小编给大家分享一下Hive中Hql语法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hive 是基于hadoop 构建的一套数据仓库分析系统,它提供了丰富的

小编给大家分享一下Hive中Hql语法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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 ,本文的内容大部分翻译自该页面,期间加入了一些在使用过程中需要注意到的事项。

 DDL 操作

 DML 操作:元数据存储

     hive不支持用insert语句一条一条的进行插入操作,也不支持update操作。数据是以load的方式加载到建立好的表中。数据一旦导入就不可以修改。

 DQL 操作:数据查询SQL

 从SQL到HiveQL应转变的习惯

) a  
  • REDUCE Word, cnt USING ) a  

  • REDUCE sessionid, tstamp, data USING GROUP BY t3.c2;  

 实际示例

创建一个表

CREATE TABLE u_data (
userid INT,
movieid INT,
rating INT,
unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '/t'
STORED AS TEXTFILE;


下载示例数据文件,并解压缩
wget http://www.grouplens.org/system/files/ml-data.tar__0.gz
tar xvzf ml-data.tar__0.gz

加载数据到表中:

LOAD DATA LOCAL INPATH 'ml-data/u.data'
OVERWRITE INTO TABLE u_data;

统计数据总量:

SELECT COUNT(1) FROM u_data;

现在做一些复杂的数据分析:

创建一个 weekday_mapper.py: 文件,作为数据按周进行分割 
import sys
import datetime

for line in sys.stdin:
line = line.strip()
userid, movieid, rating, unixtime = line.split('/t')

生成数据的周信息

weekday = datetime.datetime.fromtimestamp(float(unixtime)).isoweekday()
print '/t'.join([userid, movieid, rating, str(weekday)])

使用映射脚本

//创建表,按分割符分割行中的字段值
CREATE TABLE u_data_new (
userid INT,
movieid INT,
rating INT,
weekday INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '/t';
//将python文件加载到系统
add FILE weekday_mapper.py;

将数据按周进行分割

INSERT OVERWRITE TABLE u_data_new
SELECT
TRANSFORM (userid, movieid, rating, unixtime)
USING 'Python weekday_mapper.py'
AS (userid, movieid, rating, weekday)
FROM u_data;

SELECT weekday, COUNT(1)
FROM u_data_new
GROUP BY weekday;

处理Apache WEBlog 数据

将WEB日志先用正则表达式进行组合,再按需要的条件进行组合输入到表中
add jar ../build/contrib/hive_contrib.jar;

CREATE TABLE apachelog (
host STRING,
identity STRING,
user STRING,
time STRING,
request STRING,
status STRING,
size STRING,
referer STRING,
agent STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|//[[^//]]*//]) ([^ /"]*|/"[^/"]*/") (-|[0-9]*) (-|[0-9]*)(?: ([^ /"]*|/"[^/"]*/") ([^ /"]*|/"[^/"]*/"))?",
"output.format.string" = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s"
)
STORED AS TEXTFILE;

以上是“Hive中Hql语法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Hive中Hql语法是什么

本文链接: https://www.lsjlt.com/news/232289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Hive中Hql语法是什么
    小编给大家分享一下Hive中Hql语法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的...
    99+
    2023-06-03
  • HQL查询语言的作用是什么
    本篇文章为大家展示了HQL查询语言的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.获取Hibernate Session对象2.编写HQL语句3.以H...
    99+
    2024-04-02
  • hive和oracle的语法区别是什么
    Hive 和 Oracle 是两种不同的数据库管理系统,它们的语法和功能有一些区别。以下是一些主要的语法区别: SQL 方言:H...
    99+
    2024-04-19
    hive oracle
  • Hive中的ACID是什么
    在Hive中,ACID是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Du...
    99+
    2024-04-02
  • hive中explode函数的用法是什么
    在Hive中,explode函数用于将数组或者map类型的列拆分成多行数据。例如,如果某一列中包含一个数组,使用explode函数可...
    99+
    2024-03-05
    hive
  • Hive中的SerDe是什么
    Hive中的SerDe是Serializer/Deserializer的缩写,它是用于在Hive中读取和写入数据的接口。SerDe负...
    99+
    2024-03-12
    Hive
  • Hive中的UDF是什么
    Hive中的UDF是用户自定义函数(User Defined Function),允许用户自定义函数来操作或处理数据。UDF可以用于...
    99+
    2024-04-02
  • Hive中的ACID是指什么
    在Hive中,ACID是指一组数据库事务的特性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isol...
    99+
    2024-04-02
  • Hive中的分区是什么
    Hive中的分区是一种将表数据按照某一列或多列进行划分的方法。通过对数据进行分区,可以提高查询效率,因为只需要对特定分区的数据进行处...
    99+
    2024-04-02
  • hive中增加字段的方法是什么
    在Hive中增加字段可以通过以下两种方式实现: 使用ALTER TABLE语句: ALTER TABLE table_name ...
    99+
    2024-03-15
    hive
  • Hive中动态SQL执行的方法是什么
    在Hive中执行动态SQL语句的方法是使用Hive的变量和脚本功能。可以通过设置变量来动态构建SQL语句,然后通过Hive的shel...
    99+
    2024-04-09
    Hive SQL
  • pycharm连接hive的方法是什么
    要在PyCharm中连接到Hive,你可以使用PyHive库。以下是连接Hive数据库的步骤: 安装PyHive库:在PyChar...
    99+
    2024-03-01
    pycharm hive
  • Hive中的partitioning和bucketing是什么
    Hive中的partitioning和bucketing是一种数据分区和数据分桶的技术,用于提高查询性能和管理数据。 Parti...
    99+
    2024-03-11
    Hive
  • Hive中ACID的概念是什么
    在Hive中,ACID是指一组属性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)...
    99+
    2024-03-14
    Hive
  • [Hive]一篇带你读懂Hive是什么
    ✅作者简介:大家好,我是Philosophy7?让我们一起共同进步吧!🏆 📃个人主页:Philosophy7的csdn博客 🔥系列专栏: ...
    99+
    2023-10-23
    hive hadoop big data
  • Hive数据导出的方法是什么
    这篇文章主要介绍“Hive数据导出的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Hive数据导出的方法是什么”文章能帮助大家解决问题。一、数据导出是什么hive是一个依赖Hadoop集群...
    99+
    2023-07-06
  • Hive中Vectorization指的是什么意思
    在Hive中,Vectorization指的是一种优化技术,通过将一组行操作转换为一组列操作,从而提高查询性能。通过将操作应用于整个...
    99+
    2024-03-14
    Hive
  • hive计算分钟差的方法是什么
    在Hive中,可以使用TIMESTAMPDIFF函数来计算两个时间戳之间的分钟差。具体语法如下: SELECT TIMEST...
    99+
    2024-04-08
    hive
  • hive创建数据表的方法是什么
    在Hive中,可以使用HiveQL(Hive Query Language)来创建数据表。以下是一个简单的示例: CREATE TA...
    99+
    2024-04-02
  • hive表增加字段的方法是什么
    要向Hive表中添加新字段,可以使用ALTER TABLE语句。以下是向Hive表中添加新字段的方法: 使用ALTER TABLE...
    99+
    2024-04-08
    hive
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作