- 博客(8)
- 收藏
- 关注
原创 Hive 谓词下推
谓词下推是一种优化技术,它可以在查询时减少 IO 操作和 CPU 开销,从而提高查询性能。这种优化技术适用于关系型数据库、Hadoop 和其他大数据处理系统。在 SQL 查询中,谓词是一个用于限制结果集的条件,例如 WHERE 子句中的条件。谓词下推是将谓词推送到最低可能层级的数据源上,以减少查询的数据量。例如,在 Hadoop MapReduce 作业中,谓词下推可以将谓词应用于 Map 阶段的数据记录,而不是在 Reduce 阶段进行数据过滤。
2023-10-18 19:44:33
511
1
原创 Hive Server2 访问
什么是HiveServer2?官网解释:HiveServer2(HS2)是一个服务端接口,使远程客户端可以执行对Hive的查询并返回结果。目前基于Thrift RPC的实现是HiveServer的改进版本,并支持多客户端并发和身份验证。NONE: 不进行身份验证检查-普通的SASL传输。任何登录者都拥有超级权限,可以对hive进行任意操作。LDAP: 基于LDAP/AD身份认证。KERBEROS: Kerberos/GSSAPI 认证。CUSTOM。
2023-08-05 20:57:53
373
1
原创 HBase 基本介绍
Hbase 存储结构按照 rowkey 进行行级分区,称为 region。按照 column family 列族再次进行切分,称为 store。底层按照key + value 的形式组织。type: 记录的操作类型,比如删除的话记录的是 delete。cell : 是【rowkey , column family : column qualifier , timestamp】 唯一确定的单元格。cell 中的数据全部以字节码形式存储。上面是 hbase 在 hdfs 中存储的目录。
2023-08-05 09:59:42
237
1
原创 Store File 的管理(compact,split)
在之前的介绍中,我们了解了 HBase 从 mem store 刷写到磁盘的条件。无论是 HDFS 还是 linux 本身的文件系统,对小文件的管理都没有大文件来的有效,打开小文件需要消耗更多的文件句柄。在小文件中指定 rowkey 的数据查询性能没有在少量大文件中查询来的快。但是大小都是相对而言的,当 HFlie 比较大的时候,又会影响到查询效率,就需要对 store 文件夹中的文件做一些管理,防止文件太小太大。
2023-08-05 09:55:40
170
1
原创 HBase mem store 刷盘时机
在中,我们知道了写入数据的时候会写写入 mem store 这个内存空间。那找到合适的一个刷盘时间就是需要思考的问题。假如,让你负责这个部分的设计,你会考虑什么刷写条件呢?首先,内存空间肯定不能占用的非常大才去刷盘,而作者又考虑了两个层面的内存占用。在这里就有一个问题了,比如我这个 store 写入的很多,别的 store 写入的很少,那就意味着刷盘的时候会产生小文件,这其实是我们不希望发生的。所以作者建议,我们在使用的时候非必要的话创建一个列族就可以了。
2023-07-31 19:49:56
133
1
原创 HBase 读写流程
meta 表结构:这也是为什么 Connection 是重量级开销的原因,元数据可能也有个几M或者几十M。可能存在数据写入但是没有落盘,所以需要读取 mem store。读取 store HFlie 文件, HFile 文件存储的信息,可以快速判断当前 HFile 文件是否变化,以及布隆过滤器,可以判断要读取的 key 是否存在。
2023-07-31 19:18:55
120
1
原创 Hbase HFile 文件介绍
HFile 是 HDFS 上每个 store 文件夹下实际存储数据的文件了。这个文件存储了很多信息。每个 HFile 还会维护一个,文件中每有种 key,就在对应的位置标记。可以快速判断 get 的 key 在不在当前 HFile 中。使用这个命令可以看到 HFile 元数据的内容。
2023-07-30 10:27:14
289
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人