实验五 熟悉 Hive 的基本操作

news2024/12/25 12:34:27

实验环境:
1.操作系统:CentOS 7。
2.Hadoop 版本:3.3.0。
3.Hive 版本:3.1.2。
4.JDK 版本:1.8。
实验内容与完成情况:

(1)创建一个内部表 stocks,字段分隔符为英文逗号,表结构如表 A-6 所示。

create table if not exists stocks ( `exchange` string, `symbol` string, `ymd` string, `price_open` float, `price_high` float, `price_low` float, `price_close` float, `volume` int, `price_adj_close` float ) row format delimited fields terminated by ',';

在这里插入图片描述

打开数据库
在这里插入图片描述

(2)创建一个外部分区表 dividends(分区字段为 exchange 和 symbol),字段分隔符为英 文逗号,表结构如表 A-7 所示。

create external table if not exists dividends ( `ymd` string, `dividend` float ) partitioned by(`exchange` string ,`symbol` string) row format delimited fields terminated by ',';

在这里插入图片描述
在这里插入图片描述

(3)从 stocks.csv 文件向 stocks 表中导入数据。

load data local inpath '/test/data/stocks/stocks.csv' overwrite into  table stocks;

在这里插入图片描述

(4) 创建一个未分区的外部表 dividends_unpartitioned,并从 dividends.csv 向其中导入数 据,表结构如表 A-8 所示。

create external table if not exists dividends_unpartitioned ( `exchange` string , `symbol` string, `ymd` string, `dividend` float ) row format delimited fields terminated by ','; load data local inpath '/test/data/dividends/dividends.csv' overwrite into table dividends_unpartitioned;

在这里插入图片描述

(5)通过对 dividends_unpartitioned 的查询语句,利用 Hive 自动分区特性向分区表 dividends 各个分区中插入对应数据。

select t2.`year`,symbol,t2.avg_price from ( select *,row_number() over(partition by t1.`year` order by t1.avg_price desc) as `rank`

在这里插入图片描述

(6)查询 IBM 公司(symbol=IBM)从 2000 年起所有支付股息的交易日(dividends 表中有对应 记录)的收盘价(price_close)。

select s.ymd,s.symbol,s.price_close from stocks s LEFT SEMI JOIN dividends d ON s.ymd=d.ymd and s.symbol=d.symbol where s.symbol='IBM' and year(ymd)>=2000

在这里插入图片描述

(7)查询苹果公司(symbol=AAPL)2008 年 10 月每个交易日的涨跌情况,涨显示 rise,跌显 示 fall,不变显示 unchange。

select ymd, case when price_close-price_open>0 then 'rise' when price_close-price_open

在这里插入图片描述

(8)查询 stocks 表中收盘价(price_close)比开盘价(price_open)高得最多的那条记录的交易所 (exchange)、股票代码(symbol)、日期(ymd)、收盘价、开盘价及二者差价。

select `exchange`,symbol,ymd,price_close-price_open as `diff` from ( select * from stocks order by price_close-price_open desc limit 1 )t;

在这里插入图片描述

(9)从 stocks 表中查询苹果公司(symbol=AAPL)年平均调整后收盘价(price_adj_close) 大 于 50 美元的年份及年平均调整后收盘价。

select year(ymd) as `year`, avg(price_adj_close) as avg_price from stocks where `exchange`='NASDAQ' and symbol='AAPL' group by year(ymd) having avg_price > 50

在这里插入图片描述

(10)查询每年年平均调整后收盘价(price_adj_close)前三名的公司的股票代码及年平均调整 后收盘价。

select t2.`year`,symbol,t2.avg_price from ( select *,row_number() over(partition by t1.`year` order by t1.avg_price desc) as `rank` from ( select year(ymd) as `year`, symbol, avg(price_adj_close) as avg_price from stocks group by year(ymd),symbol )t1 )t2 where t2.`rank`<=3;

在这里插入图片描述

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

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

相关文章

PS4 9.0 使用ESP32 自动破解器时如何保持 内/外网通讯 | PS4 9.0 ESP32 HEN with Internet

环境&#xff1a;PS49.0 ESP32 破解器 群晖 问题&#xff1a;连接到破解器无线网络后无法与内外网通讯&#xff0c;需要先golden hen后再切换无线网络 解决办法&#xff1a;修改ESP32 WIFI工作模式为WIFI 客户端模式 背景&#xff1a;当我在PS4 9.0上使用ESP32时&#xff0c;…

spingboot之devtools热部署IntelliJ IDEA 2022.2.3不生效问题,解决

目录 环境&#xff1a; 添加依赖&#xff1a; 修改idea配置&#xff1a; 步骤一&#xff1a;“command,”命令进入配置界面。勾选下面配置 步骤二&#xff1a;进入Advanced Setting设置 步骤三&#xff1a;修改启动配置 步骤四&#xff1a;保存 开发过程中避免不了代码…

uniapp iconfont-引用阿里巴巴矢量图标库

k-icons-font图标插件: https://ext.dcloud.net.cn/plugin?id14612 下载图标库 https://www.iconfont.cn/ 为了方便使用设置FontClass为空&#xff0c;当然不设置也可以 下载图标库 将图标可以中的&#xff1a;iconfont.css、iconfont.ttf拷贝到插件目录上"k-icons-f…

助力养殖行业数字化转型,基于深度学习模型开发构建羊脸识别系统

养殖行业的数字化进程在国内还是比较缓慢的&#xff0c;一些大厂在前面的一些探索时期做过一些相关的工作&#xff0c;但是受限于各种因素并没有能够广泛地铺展开来&#xff0c;数字化不应该被理解为非常高大上的遥不可及的东西&#xff0c;数字化也不应该成为中低产的一道鸿沟…

C++标准模板库STL——list的使用及其模拟实现

1.list的介绍 list的文档介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一个…

【Kubernetes】Kubernetes的污点和容忍度

Kubernetes的污点和容忍度 在K8S中&#xff0c;如果Pod能容忍某个节点上的污点&#xff0c;那么Pod就可以调度到该节点。如果不能容忍&#xff0c;那就无法调度到该节点。污点和容忍度就像谈恋爱的小情侣&#xff0c;你情我愿&#xff0c;女生知道男生的缺点&#xff0c;却依然…

【EI会议征稿】第八届能源系统、电气与电力国际学术会议(ESEP 2023)

第八届能源系统、电气与电力国际学术会议&#xff08;ESEP 2023&#xff09; 2023 8th International Conference on Energy System, Electricity and Power 第八届能源系统、电气与电力国际学术会议&#xff08;ESEP 2023&#xff09;定于2023年11月24-26日在中国武汉隆重举…

nacos配置中心的核心概念

书接上一篇https://blog.csdn.net/qq_45451226/article/details/133250390 1.命名空间(用于配置隔离) 默认&#xff1a;public(保留空间)&#xff1b;默认新增的所有配置都在public空间。 开发&#xff0c;测试&#xff0c;生产&#xff1a;利用命名空间来做环境隔离。 在de…

AVL树的模拟实现(c++)

目录 搜索二叉树对于搜索查询来说是非常快的&#xff0c;但是它有着致命的缺陷&#xff0c;如果插入的数据是有序的&#xff0c;那么它的结构就会变成单链表&#xff0c;这对于搜索查询来说是非常不利的&#xff0c;因此为了解决搜索树的缺陷&#xff0c;弥补它的不足&#xff…

opencv实现仿射变换和透射变换

##1&#xff0c; 什么是仿射变换&#xff1f; 代码实现 import numpy as np import cv2 as cv import matplotlib.pyplot as plt#设置字体 from pylab import mpl mpl.rcParams[font.sans-serif] [SimHei]#图像的读取 img cv.imread("lena.png")#仿射变换 row…

loadEnv是vite的工具函数

loadEnv()函数返回一个对象&#xff0c;这个对象就是根据开发模式还是生产环境加载的.env.development文件里的环境变量&#xff0c;有系统自带的也有自己手写的 loadEnv(第1个参数&#xff0c;第2个参数&#xff0c;第3个参数) 注意&#xff1a;第3个参数如果是“”空字符…

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据

一、目的 经过6个月的奋斗&#xff0c;项目的离线数仓部分终于可以上线了&#xff0c;因此整理一下离线数仓的整个流程&#xff0c;既是大家提供一个案例经验&#xff0c;也是对自己近半年的工作进行一个总结。 二、数仓实施步骤 &#xff08;五&#xff09;步骤五、在Hive的…

华为孟晚舟:从最惨千金 到最强战士

作者&#xff1a;积溪 简评&#xff1a;华为25号开发布会&#xff0c;有何深意&#xff1f;从最惨千金到最强战士&#xff0c;孟晚舟和华为都回来了 #华为发布会 #孟晚舟 #任正非 #华为 华为发布会 在打谁的脸&#xff1f; 苹果只是前菜 今天才是正餐 两年前的今天 华为…

Vue3最佳实践 第五章 Vue 组件应用 2 ( Emit )

本章带领大家理解组件、props、emits、slots、providers/injects&#xff0c;Vue 插件 等Vue组件使用的基础知识。 第一章 Vue3项目创建 1 Vue CLI 创建vue项目 第一章 Vue3项目创建 2 使用 Webpack 5 搭建 vue项目 第一章 Vue3项目创建 3 Vite 创建 vue项目 第二章 Vue3 基础语…

Latex math equation中如何不斜体

math equation的字母会斜体&#xff0c;只需给不想斜体的字母加上 \text{NPSB}

C/C++鸡尾酒疗法 2023年5月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C鸡尾酒疗法 一、题目要求 1、编程实现 2、输入输出 二、解题思路 1、案例分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 C/C鸡尾酒疗法 2020年6月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 鸡尾酒疗法&#xff0c;原指“高效抗…

分治算法求解:逆序对,Max Sum,棋盘覆盖,a-Good String——中山大学软件工程学院算法第四次实验课 必做+选做题

写英文注释不是要“秀英文”&#xff0c;而是因为鄙人正在准备雅思&#xff0c;顺手练习 逆序对 题目描述 完整代码 #include<iostream> using namespace std; int num[500010]; // input numbers int tmp[500010]; // sequence after merging left and right part lon…

【李沐深度学习笔记】线性回归

课程地址和说明 线性回归p1 本系列文章是我学习李沐老师深度学习系列课程的学习笔记&#xff0c;可能会对李沐老师上课没讲到的进行补充。 线性回归 如何在美国买房&#xff08;经典买房预测问题&#xff09; 一个简化的模型 线性模型 其中&#xff0c; x → [ x 1 , x 2 ,…

如何精细化管理APP用户生命周期,寻找业绩增长点?

在APP精细化运营中&#xff0c;经常会提到用户生命周期&#xff0c;在对APP进行运营的时候&#xff0c;需要明确&#xff0c;自己的APP是处于产品生命周期的哪一个&#xff0c;然后根据这个生命周期的特点&#xff0c;使用最准确的运营方法。 01、为什么要提升用户生命周期价值…

杭州亚运会吉祥物制作,能给城市3D虚拟数字人定制带来什么启发?

继冬奥顶流“冰墩墩”后&#xff0c;吉祥物“江南忆”作为杭州亚运会吉祥物也火爆出圈&#xff01;从北京亚运会的熊猫“盼盼”、到广州亚运会“五羊”再到如今的杭州亚运会吉祥物“宸宸、琮琮、莲莲”&#xff0c;这些吉祥物凭借其形象火爆出圈&#xff0c;能给城市3D虚拟数字…