大数据Hadoop入门3

第五部分(Apache Hive DML语句和函数使用)

1.课程内容大纲和学习目标

2.Hive SQL-DML-load加载数据操作

下面我们随机创建文件尝试一下

先创建一个hivedata文件夹

在这个文件夹中写一个1.txt文件

下面使用beeline创建一张表

只要将1.txt文件放在t_1文件夹下,就能映射成功了

==================================================================================================================================================

下面是第一种方法,直接put进去

刷新一下

或者直接在web页面上传

不管什么方法

将结构化的文件放在对应的目录下面就能成功

 

=================

上面的方法,hive官方是不推荐的(因为上面的都是跳过hive去操作的)

我们有三台机器

我们的hive是安装在node1上面的,node1上面启动了hiveserver2和metastore两个服务

我们是使用node3作为客户端的(包括第一代客户端和第二代beeline客户端),如果使用的是datagrip,则客户端在外面的Windows系统上。

但不管我们的客户端在哪,最终都是连接到node1的hiveserver2上进行操作的。

如果我们在客户端上敲一个命令,加载数据local,这个local是hiveserver2服务所在的机器

本课程的SQL已经写好了

我们直接将其复制粘贴到datagrip

首先将我们当前的SQL语法切换为hive语法

接着将我们的会话做一个绑定

如果有直接绑定即可,没有的话创建一个新的会话即可

之后我们做一个验证

看是否与我们的hive集群连接上

然后针对下面的文件

我们创建两张表

我们运行命令创建两张表

==================================================================================================================================================

下面首先进行本地上传

文件首先存放到本地中

成功

红框中是关键的日志信息

做一个查看

数据显示正常

我们发现本地目录中的文件依旧存在

所以本地加载就是一个复制的过程

==================================================================================================================================================

我们将刚刚的文件放在hdfs的根目录下面

我们刚刚建了两张表

我们看一下另外一张表

我们继续加载数据

我们发现根目录下的文件没有了

3.Hive SQL-DML-insert插入数据

insert插了一条数据花了47秒

因为我们底层使用了Mr程序

我们首先创建一个表student

然后将student.txt加载到表student

再创建另外一个空表

使用insert+select

4.Hive SQL-DML-select查询-语法书和环境准备

下面我们创建一个表

将这个数据映射成功

首先将我们的文件上传到Linux

5.Hive SQL-DML-select查询-列表达式和distinct去重

选中表点击ctrl+q,可以查看表信息

6.Hive SQL-DML-select查询-where条件过滤

7.Hive SQL-DML-select查询-聚合操作aggregate

where中不能使用聚合函数

8.Hive SQL-DML-select查询-group by分组及语法限制

我们的state被group by分组

country被count聚合函数应用

但death什么都没有(系统不知道返回哪一行的death)

我们可以对报错做一个修改

9.Hive SQL-DML-select查询-having过滤操作

having主要为了解决where无法与聚合函数一起使用的弊端

10.Hive SQL-DML-select查询-order by排序

11.Hive SQL-DML-select查询-limit限制语法

12.Hive SQL-DML-select查询-梳理执行顺序

13.Hive SQL  join关联查询

14.hive函数概述及分类标准

15.hive常用的内置函数

如果有多个条件判断

第六部分(Hadoop生态综合案例--陌陌聊天数据分析)

1.课程内容大纲与学习目标

2.陌陌聊天数据分析案例需求

3.基于hive数仓实现需求开发-建库建表与加载数据

我们点击显示所有符号,可以查看我们的分割符

我们的tab键制表符就是->

空格键就是 ..... 

下面是课程使用的SQL文件

复制到datagrip

修改SQL为hive支持

与hive服务器做一个连接

首先创建数据库

然后创建表

然后加载数据

要先将文件上传到Linux系统中

4.基于hive数仓实现需求开发-ETL需求分析与技术支持

比如要统计每个小时的数量

我们做一个截取

那我们要以小时分组,可以用下面的方式

但有一个弊端

14w条数据,性能受到很大的影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网易云音乐歌名可视化:词云生成与GitHub-Pages部署实践

引言 本文将基于前一篇爬取的网易云音乐数据, 利用Python的wordcloud、matplotlib等库, 对歌名数据进行深入的词云可视化分析. 我们将探索不同random_state对词云布局的影响, 并详细介绍如何将生成的词云图部署到GitHub Pages, 实现数据可视化的在线展示. 介绍了如何从原始数据…

const的用法

文章目录 一、C和C中const修饰变量的区别二、const和一级指针的结合const修饰的量常出现的错误是:const和一级指针的结合总结:const和指针的类型转换公式 三、const和二级指针的结合 一、C和C中const修饰变量的区别 C中:const必须初始化,叫常…

AI DeepSeek

DeepSeek 文字解析 上传图片解析 视乎结果出入很大啊,或许我们应该描述更加清楚自己的需求。

996引擎 - NPC-动态创建NPC

996引擎 - NPC-动态创建NPC 创建脚本服务端脚本客户端脚本添加自定义音效添加音效文件修改配置参考资料有个小问题,创建NPC时没有控制朝向的参数。所以。。。自己考虑怎么找补吧。 多重影分身 创建脚本 服务端脚本 Mir200\Envir\Market_Def\test\test001-3.lua -- NPC八门名…

css粘性定位超出指定宽度失效问题

展示效果 解决办法&#xff1a;外层容器添加display:grid即可 完整代码 <template><div class"box"><div class"line" v-for"items in 10"><div class"item" v-for"item in 8">drgg</div>&…

Git客户端工具

Git&#xff08;读音为/gɪt/&#xff09;是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。 [1]也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 可使用工具TortoiseGit&#xff0c;官网下载…

Time Constant | RC、RL 和 RLC 电路中的时间常数

注&#xff1a;本文为 “Time Constant” 相关文章合辑。 机翻&#xff0c;未校。 How To Find The Time Constant in RC and RL Circuits June 8, 2024 &#x1f4a1; Key learnings: 关键学习点&#xff1a; Time Constant Definition: The time constant (τ) is define…

七、深入了解SpringBoot的配置文件

一、配置端口号 通过配置文件application.properties配置修改端口号 修改 application.properties 文件 #端口号修改成 9090 server.port9090运行结果&#xff0c;观察日志 二、配置文件格式 Spring Boot 配置⽂件有以下三种&#xff1a; • application.properties • ap…

set集合

set集合 Set系列集合&#xff1a; 无序&#xff1a;存取顺序不一致 不重复&#xff1a;可以去除重复 无索引&#xff1a;没有带索引的方法&#xff0c;所以不能使用普通for循环遍历&#xff0c;也不能通过索引来获取元素 可以看出set是无序的存和打印的顺序不一样 Set接中的…

马尔科夫模型和隐马尔科夫模型区别

我用一个天气预报和海藻湿度观测的比喻来解释&#xff0c;保证你秒懂&#xff01; 1. 马尔可夫模型&#xff08;Markov Model, MM&#xff09; 特点&#xff1a;状态直接可见 场景&#xff1a;天气预报&#xff08;晴天→雨天→阴天…&#xff09;核心假设&#xff1a; 下一个…

SimpleFOC STM32教程10|基于STM32F103+CubeMX,速度闭环控制(有电流环)

导言 SimpleFOC STM32教程09&#xff5c;基于STM32F103CubeMX&#xff0c;ADC采样相电流 如上图所示, 增加了电流环. 效果如下&#xff1a; 20250123-200906 RTT 如上图所示&#xff0c;三相占空比依然是马鞍波。当我用手去给电机施加阻力时&#xff0c;PID要维持目标转速&am…

基于蓝牙6.0的RSSI和UWB融合定位方法,可行性分析

融合RSSI&#xff08;接收信号强度指示&#xff09;和UWB&#xff08;超宽带&#xff09;两种技术进行蓝牙6.0定位是完全可行的&#xff0c;并且可以带来更高的定位精度和稳定性。本文给出分析和MATLAB仿真结果 文章目录 技术优势RSSIUWB融合的优势 实现方案数据融合算法硬件要…

富文本 tinyMCE Vue2 组件使用简易教程

参考官方教程 TinyMCE Vue.js integration technical reference Vue2 项目需要使用 tinyMCE Vue2 组件(tinymce/tinymce-vue)的第 3 版 安装组件 npm install --save "tinymce/tinymce-vue^3" 编写组件调用 <template><Editorref"editor"v-m…

项目集成Nacos

文章目录 1.环境搭建1.创建模块 sunrays-common-cloud-nacos-starter2.目录结构3.pom.xml4.自动配置1.NacosAutoConfiguration.java2.spring.factories 5.引入cloud模块通用依赖 2.测试1.创建模块 sunrays-common-cloud-nacos-starter-demo2.目录结构3.pom.xml4.application.ym…

K8S 启动探测、就绪探测、存活探测

先来思考一个问题&#xff1a; 在 Deployment 执行滚动更新 web 应用的时候&#xff0c;总会出现一段时间&#xff0c;Pod 对外提供网络访问&#xff0c;但是页面访问却发生404&#xff0c;这个问题要如何解决呢&#xff1f;学完今天的内容&#xff0c;相信你会有自己的答案。 …

基于物联网的智能环境监测系统(论文+源码)

1系统的功能及方案设计 本课题为基于物联网的智能环境监测系统的设计与实现&#xff0c;整个系统采用stm32f103单片机作为主控制器&#xff0c;通过DHT11传感器实现智能环境监测系统温度和湿度的检测&#xff0c;通过MQ传感器实现CO2浓度检测&#xff0c;通过光照传感器实现光照…

【愚公系列】《循序渐进Vue.js 3.x前端开发实践》030-自定义组件的插槽Mixin

标题详情作者简介愚公搬代码头衔华为云特约编辑&#xff0c;华为云云享专家&#xff0c;华为开发者专家&#xff0c;华为产品云测专家&#xff0c;CSDN博客专家&#xff0c;CSDN商业化专家&#xff0c;阿里云专家博主&#xff0c;阿里云签约作者&#xff0c;腾讯云优秀博主&…

基于SpringBoot电脑组装系统平台系统功能实现六

一、前言介绍&#xff1a; 1.1 项目摘要 随着科技的进步&#xff0c;计算机硬件技术日新月异&#xff0c;包括处理器&#xff08;CPU&#xff09;、主板、内存、显卡等关键部件的性能不断提升&#xff0c;为电脑组装提供了更多的选择和可能性。不同的硬件组合可以构建出不同类…

网络工程师 (5)系统可靠性

前言 系统可靠性是指系统在规定的条件和规定的时间内&#xff0c;完成规定功能的能力。这种能力不仅涵盖了系统本身的稳定性和耐久性&#xff0c;还涉及了系统在面对各种内外部干扰和故障时的恢复能力和容错性。系统可靠性是评价一个系统性能优劣的关键指标之一&#xff0c;对于…

【2024年华为OD机试】(C卷,200分)- 推荐多样性 (JavaScriptJava PythonC/C++)

一、问题描述 问题描述 我们需要从多个已排序的列表中选取元素&#xff0c;以填充多个窗口。每个窗口需要展示一定数量的元素&#xff0c;且元素的选择需要遵循特定的穿插策略。具体来说&#xff0c;我们需要&#xff1a; 从第一个列表中为每个窗口选择一个元素&#xff0c;…