hbase rowkey设计的注意事项
2024-09-15 20:36:35
充分利用有序性 1.1 如果要scan操作,且不是很频繁,可以利用rowkey的有序性将需要一起扫描的数据放到一起。例如直接用时间戳。这样就可以按时间scan了。这个只要是简单的全表扫描都行。 1.2 同样是scan,还可以利用rowkey的有序性实现数据本地化,设同一类别的数据需要一起扫描,那就可以给rowkey加一个类别前缀。(为了节约磁盘空间,需将类别名称编码) 这个不如垂直爬虫,我要扫描新闻类,或者BBS类,就可以为rowkey加个编码后的新闻,bbs类别id,实现同一类别的url本地化。 1.3 组合rowkey 多个字段组合出rowkey,实现多字段排序以满足我们的程序设计需求,例如爬虫系统的需求有根据host ,优先级,等排序。这个完全可以是使用 hostid_pid(优先级)_urlid(哈希,或者md5) 2.1 避免热点
频繁按时间段查询,如果用时间戳作为rowkey会造成热点,所以这里需要将rowkey打散到各个节点,将压力分配到各个节点。例如人民币冠字号查询,如果rowkey是冠字号,hbase会将临近的冠字号作为rowkey放到同一个region。这样当频繁查询的时候,就会造成某个regionserver压力过大,形成热点,影响整体性能。
最新文章
- innobackupex 重启MySQL
- 在windows 下使用git
- mysql 导入大数据的秘籍
- 如何选择分类器?LR、SVM、Ensemble、Deep learning
- BZOJ1996 合唱队 区间DP
- 优惠书价计算---c++--软件工程
- 自定义枚举类型的常用操作-附源码(xjl456852原创)
- freemarker报错之八
- MyBatis 源码分析——介绍
- 利用KindEditor实现公司通讯录的维护
- 利用shell脚本实现对mysql数据库的备份
- 用IDEA生成javadoc文档
- mongoDB创建windows服务启动解决
- Snapshot Types
- 容器概念与Linux Container原理
- iOS - 统计代码行数
- c#中@标志的作用 C#通过序列化实现深表复制 细说并发编程-TPL 大数据量下DataTable To List效率对比 【转载】C#工具类:实现文件操作File的工具类 异步多线程 Async .net 多线程 Thread ThreadPool Task .Net 反射学习
- (5)ps详解 (每周一个linux命令系列)
- 第一模块:python基础语法
- XGB 调参基本方法
热门文章
- css实现基础几何图形
- MVC小系列(十五)【MVC+ZTree实现对树的CURD及拖拽操作】
- AppDelegate 方法详解
- js控制文本框输入数字和小数点等
- 当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand问题解决
- 删除Windows右键不用的选项
- Codevs 1064 虫食算 2004年NOIP全国联赛提高组
- caffe源码阅读(2)-Layer
- HOW TO: Creating your MSI installer using Microsoft Visual Studio* 2008
- Qt 之 QtScript