黑马在线教育数仓实战6

news2025/1/27 12:56:14

6. 意向用户主题看板_增量流程

6.1 数据采集(拉链表)

7. hive的索引

​ 索引的作用: 加快查询的效率

为什么索引可以提升查询效率呢?

hive索引是在 分区 分桶优化基础上, 又提供一种新的优化手段, 如果分区 和分桶受限, 可以尝试使用索引的方式来优化处理

hive提供了三种索引:

  • 原始索引
  • row group index(行组索引)
  • bloom filter index(布隆过滤索引)

7.1 hive的原始索引

​ 结论: 此索引已经不再使用, 在hive3.0以上, 彻底不支持

    hive的原始索引, 可以针对表中某一列或者某几列构建索引, 构建之后, 当查询的时候使用到索引字段, 可以帮助提升一定效率
    弊端: 
        hive原始索引, 不会自动更新, 每一次对表中数据进行处理后, 都需要进行重建索引, 而这个效率是比较差, 而且整体效率的提升,相对比较有限 

7.2 row group index(行组索引)

 

条件:
    1) 要求表必须是ORC存储格式
    2) 需要对那个字段进行索引, 必须对这个字段进行排序, 否则索引意义不大
    3) 在创建表的时候, 必须开启行组索引: ’orc.create.index’=’true’
    4) 主要应用在 < > = 场景中, 主要针对数值类型数据 

建表操作: 
CREATE TABLE lxw1234_orc2(
    ....
) stored AS ORC
TBLPROPERTIES
(
    'orc.compress'='SNAPPY',
--     开启行组索引
    'orc.create.index'='true'
)

插入数据:
    SELECT CAST(siteid AS INT) AS id,
    pcid
    FROM lxw1234_text
--     插入的数据保持排序
    DISTRIBUTE BY id sort BY id;

7.3 bloom filter index(布隆过滤索引)

条件:
    1) 必须是ORC类型的表
    2) 需要按照哪一个字段进行等值连接, 需要对这个字段构建布隆索引
    3) 仅适合做等值连接, 不局限于数据类型
    4) 在建表的时候, 必须指定为那些字段开启: ”orc.bloom.filter.columns”=”pcid,字段2..” 

如何使用:
CREATE TABLE lxw1234_orc2 (
   ....
) stored AS ORC
TBLPROPERTIES
(
    'orc.compress'='SNAPPY',
    'orc.create.index'='true',
--     pcid字段开启BloomFilter索引
    "orc.bloom.filter.columns"="pcid"
)

插入数据: 
SELECT CAST(siteid AS INT) AS id,
pcid
FROM lxw1234_text
DISTRIBUTE BY id sort BY id;


使用索引:
SET hive.optimize.index.filter=true --开启 hive的自动使用索引
SELECT COUNT(1) FROM lxw1234_orc1 WHERE id >= 0 AND id <= 1000   (行组索引)
AND pcid IN ('0005E26F0DCCDB56F9041C','A'); (布隆过滤索引)

注意 如果要使用hive的索引, 必须开启hive自动使用索引

SET hive.optimize.index.filter=true --开启 hive的自动使用索引

当然也可以将这个配置, 直接配置到cm的hive的配置窗口中, 进行统一配置 

在生产中这些索引如何选择呢?

1) 对于行组索引, 建议是常开即可
    在插入数据, 如果不明确对那个字段使用行组索引, 可以任意的插入, 在条件合适情况下, 也在使用行组索引

2) 布隆过滤索引:  主要将那些用于 等值连接的字段开启索引即可
    一般主要指的是 join关联字段 以及清洗字段 

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

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

相关文章

VMware ESXi 8.0U1 macOS Unlocker OEM BIOS (标准版和厂商定制版)

ESXi 8.0U1 标准版&#xff0c;Dell HPE 联想 浪潮 定制版 请访问原文链接&#xff1a; https://sysin.org/blog/vmware-esxi-8-u1-oem/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 2023-04-18, VMware vSphere 8.0U1 发布…

家用洗地机实用吗?家用洗地机款式推荐

要说现在家居清洁用什么单品更省心&#xff0c;洗地机必须要算一项。虽然这在国际上也不是什么新鲜的概念了&#xff0c;但是在国内兴起也只是这几年的事&#xff0c;关于家用洗地机什么牌子最好之类的问题也是很多人都比较关心的问题。我个人也是不喜欢做家务的&#xff0c;家…

C++算法:排序、查找

排序 排序是一个非常经典的问题&#xff0c;它以一定的顺序对一个数组&#xff08;或一个列表&#xff09;中的项进行重新排序 有许多不同的排序算法&#xff0c;每个都有其自身的优点和局限性。 时间复杂度&#xff1a;对排序数据的总的操作次数。反映当n变化时&#xff0c;操…

SQL之SQL优化

文章目录 一、插入数据优化insert优化大批量插入数据 二、主键优化数据组织方式页分裂页合并主键设计原则三、order by优化 四、Group By 优化五、limit优化六、count优化count的几种用法 七、update优化总结 一、插入数据优化 insert优化 insert into tb_test values(1, tom…

Linux:centos:系统服务基础控制(systemctl)基础使用 图形化工具ntsysv使用

基础使用的办法为&#xff1a; systemctl控制类型服务名称 控制常用类型为一下几个 start 启动 stop 停止 enable 开机自启 disable 开机不自启 restart 重新启动 reload 重新加载 status 查看服务状态 systemc…

Redis---主从复制

一、redis主从复制 主从复制&#xff1a;是存储数据的服务结构 主服务器&#xff1a;接受客户端连接的服务器 从服务器&#xff1a;自动与主服务器保持数据一致的服务器 配置主从复制 1、环境准备 主服务器 主机名&#xff1a;master IP地址&#xff1a;192.168.11.101/…

在PyCharm中配置Git

防止以后换软件或电脑忘记怎么配置PyCharm&#xff0c;记录一下。 前提 电脑已经安装好了Git工具&#xff0c;安装教程有一个GitHub账号&#xff08;这不废话嘛…&#xff09;电脑最好有科学上网工具&#xff08;要不然拉取、推送等操作总是不成功&#xff09; PyCharm设置 …

VMware安装苹果系统教程 MAC安装VMware Tools,开启拖拽功能

VMware虚拟机安装苹果系统教程 1 准备工作 安装VM虚拟机、准备Install_macOS_Monterey_12.5 镜像、darwin1012.iso &#xff08;VMware Tools&#xff09;、unlocker解锁工具 2 解锁VM虚拟机 默认VM虚拟机是不支持macOS安装的&#xff0c;我们需要对虚拟机进行解锁操作&…

5.java程序员必知必会类库之excel读写库

前言 Excel在数据处理中的重要性自不必说&#xff0c;我们经常会有需求&#xff0c;将数据库中的数据&#xff0c;做过一些处理后&#xff0c;导出一个Excel给运营人员分析。也有需求是将批量的商品数据等&#xff0c;批量录入到我们系统中。直观上可以理解为Excel是客户和系统…

ASP 、PHP 代码加密的安全性逻辑思考

以古董后台语言 asp 为例&#xff0c;为了保证明文代码不被最终使用者修改或抄袭&#xff0c;有多种方法对代码进行编码&#xff0c;执行时再解码。也可以直接将代码全部编译入 COM 组件 &#xff0c;但是这需要每次都编译&#xff0c;不适合日常使用。 因此&#xff0c;这里考…

【STL十二】适配器——容器适配器

【STL十二】适配器——容器适配器 一、适配器1、适配器简介2、使用适配器的优点3、适配器种类3.1、容器适配器3.2、迭代器适配器3.3、函数适配器&#xff08;function adapters) 二、容器适配器1、简介2、分类 三、stack适配器1、简介2、构造函数3、成员函数4、demo 三、queue适…

Ubuntu NVIDIA-Docker安装

Ubuntu NVIDIA-Docker安装 Docker简介NVIDIA驱动安装NVIDIA-Docker安装 系统环境&#xff1a; 系统&#xff1a;linux 版本&#xff1a;ubuntu20.04 Docker简介 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#…

WebRTC真实IP泄露

WebRTC真实IP泄露 1.概述2.利用漏洞获取真实IP地址演示3.WebRTC介绍4.WebRTC 泄漏真实IP原理5.防范措施 1.概述 很多人可能误以为使用代理就可以完全隐藏我们的真实IP地址&#xff0c;但实际并不总是这样。事实上&#xff0c;有大量文章指出&#xff0c;WebRTC存在安全风险&am…

零项目零科研,本科排名倒数,一战上岸上海交大电子与通信工程

笔者来自通信考研小马哥23上交819全程班学员 本科就读于哈工大&#xff08;威海&#xff09;&#xff0c;本科成绩很差&#xff0c;专业排名62/99&#xff0c;没有科研&#xff0c;没有实验室&#xff0c;没有项目&#xff0c;连最基本大家都会参加的科技立项我四年也没有参与…

幽灵空白节点

图片下面为什么会有空白间隙呢&#xff1f;因为内联元素默认都是和 a 的下边缘基线对齐&#xff0c;基线和底部是有一段距离的&#xff0c;所以图片下面有一段间隙。 <style>.container {background-color: red;}img {width: 100px;height: 100px;} </style><d…

误删恢复及备份恢复

误删恢复&#xff0c;及备份恢复 一、误删恢复1.1用losf恢复进程存在的文件1.2恢复EXT类型的文件 二、备份恢复的集中方式2.1用xfsdump&#xff0c;xfsrestore对xfs类型文件进行备份恢复2.2用cpio命令备份恢复2.2.1通过find过滤文件进行备份 一、误删恢复 1.1用losf恢复进程存…

自然语言处理实战项目4-文本相似度的搜索功能,搜索文本内容

大家好&#xff0c;我是微学AI&#xff0c;今天给大家带来自然语言处理实战项目4-文本相似度的搜索功能&#xff0c;搜索文本内容。文本相似度搜索是一种基于自然语言处理技术&#xff0c;用于搜索和匹配文本内容的方法。其主要目的是将用户输入的查询内容与已有的文本数据进行…

c盘满了怎么清理垃圾而不误删?C盘清理,4个方法!

案例&#xff1a;c盘满了怎么清理垃圾而不误删 【我的c盘现在已经爆红了&#xff01;想清理下c盘的文件&#xff0c;但是害怕误删重要的文件&#xff0c;应该怎么做才能清理c盘但不误删重要的文件呀&#xff01;急需答案&#xff01;】 随着时间的推移&#xff0c;c盘可能会因…

游戏服务器如何搭建

无论是游戏公司还是游戏爱好者&#xff0c;游戏服务器都是不可或缺的一部分。游戏服务器承载着游戏的运行和体验&#xff0c;是在所有玩家之间建立连接的纽带。如果你想了解如何搭建游戏服务器以及相关的配置要求&#xff0c;那么本文是无法错过的。在本文中小编将为您介绍如何…

Nginx安装注意事项

一.看你是什么系统,先从官网下载你想要的版本 二.windows系统 直接解压就行了 conf 是放配置文件的地方 html是 放页面的位置 ,欢迎页也在这里 有什么静态资源也可以放这里 logs 放日志文件 在路径栏位置直接cmd 开启命令窗口 注意这里是在nginx.exe文件所在目录进行的…