2024-02-05(Hive)

1.Hive中抽样表数据

对表进行随机抽样是非常有必要的。

大数据体系下,在真正的企业环境中,很容易出现很大的表,比如体积达到TB级别的。

对这种表一个简单的SELECT * 都会非常的慢,哪怕LIMIT 10想要看10条数据,也会走MapReduce流程,这个时间等待是非常不合适的。

因此Hive提供了快速抽样的语法,可以快速的从大表中随机抽取一些数据供用户查看。

随机抽样,本质上就是用TABLESAMPLE函数

语法1,基于随机分桶抽样:

select ... from tb1 tablesample (bucket x out of y on (column | rand()))

y:表示将表数据随机划分为y份(y个桶)

x:表示从y里面随机抽取x份数据作为取样

column表示随机的依据是基于某个列的值

rand()表示随机的依据是基于整行 

语法2,基于随机块分配:

select ... from tb1 tablesample(num rows | num percent | num(k|m|g))

num rows:表示抽样num条数据

num percent:表示抽样num百分百比例的数据

num(k|m|g):表示抽取num大小的数据,单位可以是k,m,g表示kb,mb,gb。

注意:

以上抽样语法,条件不变的话,每次的抽样结果都一致。即无法做到随机,只是按照数据顺序从前向后取出来。

2.虚拟列

虚拟列是Hive内置的可以在查询语句中使用的特殊标记,可以查询数据本身的详细参数。

INPUT__FILE__NAME,显示数据行所在的具体文件

BLOCK__OFFSET__INSIDE__FILE,显示数据行所在文件的偏移量

ROW__OFFSET__INSIDE__BLOCK,显示数据所在HDFS块的偏移量

3.虚拟列的作用

查看行级别的数据详细参数

可以用于where,group by等各类统计计算中

可以协助进行错误排查工作

4.ETL

从一张表查询数据进行数据过滤和转换,并将结果写入到另外一张表中的操作,本质上就是一种简单的ETL行为。

ETL:

E:Extract 抽取

T:Transfrom 转换

L:Load 加载

从A抽取数据(E),进行数据转换过滤(T),将结果加载到B(L),就是ETL。

ETL操作在大数据系统中十分常见。

5.大数据与可视化报表展示

通过ETL操作讲HDFS中的表进行数据清洗和过滤,生成新的表,然后利用BI工具,将新的表进行可视化展示。

6.BI可视化工具

Business Intelligence,商业智能。

指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。简单来说,就是借助BI工具,可以完成复杂的数据分析、数据统计等需求,为公司决策带来巨大的价值。

7.Hadoop中的Hive与Mysql

hadoop和mysql对比(优缺点及使用场景) - 代码先锋网 (codeleading.com)

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

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

相关文章

树莓派4b连接WQ9201外置无线网卡命令行配置详解

树莓派4B连接WQ9201无线网卡 接线方式 蓝色的线来连接树莓派和WQ9201demo板,USB接树莓派的USB接口,microUSB一端接demo板靠近天线部分的microUSB口。 驱动和固件准备 驱动直接放在树莓派系统的任意目录,目前配置则是将驱动放在树莓派的主目…

使用PaddleNLP识别垃圾邮件:用BERT做中文邮件内容分类,验证集准确率高达99.6%以上(附公开数据集)

使用PaddleNLP识别垃圾邮件:用BERT做中文邮件内容分类,验证集准确率高达99.6%以上(附公开数据集)。 要使用PaddleNLP和BERT来识别垃圾邮件并做中文邮件内容分类,可以按照以下步骤进行操作: 安装PaddlePaddle和PaddleNLP:首先,确保在你的环境中已经安装了PaddlePaddle和…

《Git 简易速速上手小册》第1章:Git 基础(2024 最新版)

文章目录 1.1 Git 简介:版本控制的演变1.1.1 基础知识讲解1.1.2 重点案例:协作开发流程优化案例:功能开发与分支策略 1.1.3 拓展案例 1:代码审查与合并1.1.4 拓展案例 2:冲突解决 1.2 安装和配置 Git:首次设…

代码随想录算法训练营第41天 | 343.整数拆分 96.不同的二叉搜索树

整数拆分 dp数组的含义:dp[i] 表示将 i 拆分所能得到的最大乘积。递推公式:dp[i] max(dp[i], max(j * (i - j), j * dp[i - j]))。我们对 j 从1开始遍历,检验不同的拆分方式能产生的最大乘积。对于拆分方式的选择,要么拆成 j 和 …

关联语句join与合并语句union

前言 在当今数据驱动的世界中,数据库操作是数据分析和处理的关键步骤之一。JOIN语句作为关系型数据库中连接表的重要工具,为我们提供了强大的数据整合能力。本博客将深入探讨各种JOIN语句的用法和应用场景,帮助读者更好地理解如何通过连接操作…

Win32 SDK Gui编程系列之--ListView自绘OwnerDraw(续)

通过所有者绘制的列表视图(2) 所有者绘制列表视图的基础已在前一页中说明。本页将展示如何在所有者绘制列表视图中显示数据库表数据。 1、访问日志 正如在另一个页面中所述,本网站的访问日志目前是通过SQLite3数据库管理的。 以下是上述程序执行的结果。为…

【MATLAB】使用随机森林在回归预测任务中进行特征选择(深度学习的数据集处理)

1.随机森林在神经网络的应用 当使用随机森林进行特征选择时,算法能够为每个特征提供一个重要性得分,从而帮助识别对目标变量预测最具影响力的特征。这有助于简化模型并提高其泛化能力,减少过拟合的风险,并且可以加快模型训练和推理…

视频无损放大修复工具Topaz Video AI 新手入门教程

想要自学Topaz Video AI ?Topaz Video AI 如何使用?这里给大家带来了视频无损放大修复工具Topaz Video AI 新手入门教程,快来看看吧! 下载:Topaz Video AI for mac 导入您的文件 有两种方法可以将文件导入 Topaz Vid…

echarts 一条折线图上显示不同颜色

文档树懒学堂&#xff1a;ECharts visualMap 代码实例及对应注释 - 树懒学堂 封装的echarts 组件代码&#xff1a; <template> <div :style"{ height: 100% }"> <div class"foldLine" ref"foldLine" :style"{ width: width…

【大数据】Flink on YARN,如何确定 TaskManager 数

Flink on YARN&#xff0c;如何确定 TaskManager 数 1.问题2.并行度&#xff08;Parallelism&#xff09;3.任务槽&#xff08;Task Slot&#xff09;4.确定 TaskManager 数 1.问题 在 Flink 1.5 Release Notes 中&#xff0c;有这样一段话&#xff0c;直接上截图。 这说明从 …

centos7 安装mysql8

下载mysql wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar解压安装 tar xvf mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar yum -y localinstall *.rpm初始化 mysqld --initialize --usermysql需要选择mysql用户&#xff0c;否则可…

Java基于微信小程序的医院核酸检测服务系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

程序员的数字化工作台:理解不关机背后的逻辑与需求

目录 程序员为什么不喜欢关电脑&#xff1f; 电脑对程序员的重要性&#xff1a; 工作流程与需求&#xff1a; 数据安全与备份&#xff1a; 即时性与响应&#xff1a; 个人习惯等方面&#xff1a; 程序员为什么不喜欢关电脑&#xff1f; 电脑对程序员的重要性&#xff1a;…

【0257】关于pg内核shared cache invalidation messages (概念篇)

文章目录 1. inval messages2. 可配置参数(Configurable parameters)1. inval messages 所谓“共享缓存无效消息(shared cache invalidation messages)”,从概念上讲,共享缓存无效消息存储在一个无限数组中,其中maxMsgNum是存储提交消息的下一个数组下标, minMsgNum是…

动态数据源

一、部署 1、导入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.1.0</version></dependency>2、编写yml 配置文件 spring:datasource:dyna…

RAG 新路径!提升开发效率、用户体验拉满

RAG&#xff08;Retrieval-Augmented Generation&#xff09;框架结合了强大的信息检索能力和生成模型的能力&#xff0c;允许系统从海量数据中检索相关信息&#xff0c;并基于这些信息生成准确、丰富的回答。随着大语言模型和智能问答技术的崛起&#xff0c;RAG 凭借其独特的结…

MySQL数据引擎、建库及账号管理

目录 一、MySQL数据库引擎 1.1.MySQL常见数据库引擎 1.InnoDB(MySQL默认引擎) 2.MyISAM 3.MEMORY&#xff08;Heap&#xff09; 1.2.存储引擎查看 二、建库 1.默认数据库介绍 2.建库 3.查看数据库 4.删除数据库 三、账号管理 1.创建用户 1.创建用户并设置登陆密码…

使用Qt创建项目 Qt中输出内容到控制台 设置窗口大小和窗口标题 Qt查看说明文档

按windows键&#xff0c;找到Qt Creator &#xff0c;打开 一.创建带模板的项目 新建项目 设置项目路径QMainWindow是带工具栏的窗口。 QWidget是无工具栏的窗口。 QDuakig是对话框窗口。创建好的项目如下&#xff1a; #include "widget.h"// 构造函数&#xff…

03 动力云客项目之登录功能后端实现

创建项目 使用Spring initializr初始化项目 老师讲的是3.2.0, 但小版本之间问题应该不大.

Flutter学习(八)Flutter_Boost接入

背景 基于安卓的原生项目&#xff0c;进行Flutter的接入&#xff0c;进行混合开发。 参考链接 官方地址&#xff1a;link fullter_boost配置&#xff1a;link git代理配置&#xff1a;link kotlin语法集成&#xff1a;link 混合开发的坑&#xff1a;link 开发环境 as4…