当前位置: 首页 > news >正文

红安县城乡建设局网站英文网站开发

红安县城乡建设局网站,英文网站开发,在拼多多开网店的流程,嘉兴定制型网站建设Hbase是三维有序存储的#xff0c;通过rowkey#xff08;行键#xff09;,column key(column family和qualifier)和TimeStamp(时间戳)这三个维度可以对HBase中的数据进行快速定位。 Hbase中Rowkey可以唯一标识一行记录#xff0c;在Hbase查询的时候#xff0c;有以下几种方…Hbase是三维有序存储的通过rowkey行键,column key(column family和qualifier)和TimeStamp(时间戳)这三个维度可以对HBase中的数据进行快速定位。   Hbase中Rowkey可以唯一标识一行记录在Hbase查询的时候有以下几种方式   1、通过get方式指定rowkey获取唯一一条记录   2、通过scan方式设置StartRow和EndRow参数进行范围匹配   3、全表扫描即直接扫描整张表中所有行记录 Rowkey长度原则 rowkey是一个二进制码流可以是任意字符串最大长度 64kb 实际应用中一般为10-100bytes以 byte[] 形式保存一般设计成定长。 建议越短越好不要超过16个字节原因如下 数据的持久化文件HFile中是按照KeyValue存储的如果rowkey过长比如超过100字节1000w行数据光rowkey就要占用100*1000w10亿个字节将近1G数据这样会极大影响HFile的存储效率MemStore将缓存部分数据到内存如果rowkey字段过长内存的有效利用率就会降低系统不能缓存更多的数据这样会降低检索效率。目前操作系统都是64位系统内存8字节对齐控制在16个字节8字节的整数倍利用了操作系统的最佳特性。rowkey散列原则 如果rowkey按照时间戳的方式递增不要将时间放在二进制码的前面建议将rowkey的高位作为散列字段由程序随机生成低位放时间字段这样将提高数据均衡分布在每个RegionServer以实现负载均衡的几率。如果没有散列字段首字段直接是时间信息所有的数据都会集中在一个RegionServer上这样在数据检索的时候负载会集中在个别的RegionServer上造成热点问题会降低查询效率。 rowkey唯一原则 必须在设计上保证其唯一性rowkey是按照字典顺序排序存储的因此设计rowkey的时候要充分利用这个排序的特点将经常读取的数据存储到一块将最近可能会被访问的数据放到一块。 什么是热点 HBase中的行是按照rowkey的字典顺序排序的这种设计优化了scan操作可以将相关的行以及会被一起读取的行存取在临近位置便于scan。然而糟糕的rowkey设计是热点的源头。 热点发生在大量的client直接访问集群的一个或极少数个节点访问可能是读写或者其他操作。大量访问会使热点region所在的单个机器超出自身承受能力引起性能下降甚至region不可用这也会影响同一个RegionServer上的其他region由于主机无法服务其他region的请求。 设计良好的数据访问模式以使集群被充分均衡的利用。 为了避免写热点设计rowkey使得不同行在同一个region但是在更多数据情况下数据应该被写入集群的多个region而不是一个。   常见的避免热点的方法以及它们的优缺点 1、盐析 在rowkey的前面增加随机数具体就是给rowkey分配一个随机前缀以使得它和之前的rowkey的开头不同。分配的前缀种类数量应该和你想使用数据分散到不同的region的数量一致。加盐之后的rowkey就会根据随机生成的前缀分散到各个region上以避免热点。 2、哈希 哈希会使同一行永远用一个前缀加盐。哈希也可以使负载分散到整个集群但是读却是可以预测的。使用确定的哈希可以让客户端重构完整的rowkey可以使用get操作准确获取某一个行数据 3、反转 第三种防止热点的方法时反转固定长度或者数字格式的rowkey。这样可以使得rowkey中经常改变的部分最没有意义的部分放在前面。这样可以有效的随机rowkey但是牺牲了rowkey的有序性。 反转rowkey的例子以手机号为rowkey可以将手机号反转后的字符串作为rowkey这样的就避免了以手机号那样比较固定开头导致热点问题 4、时间戳反转 一个常见的数据处理问题是快速获取数据的最近版本使用反转的时间戳作为rowkey的一部分对这个问题十分有用可以用 Long.Max_Value - timestamp 追加到key的末尾例如 [key][reverse_timestamp] , [key] 的最新值可以通过scan [key]获得[key]的第一条记录因为HBase中rowkey是有序的第一条记录是最后录入的数据。 比如需要保存一个用户的操作记录按照操作时间倒序排序在设计rowkey的时候可以这样设计 [userId反转][Long.Max_Value - timestamp]在查询用户的所有操作记录数据的时候直接指定反转后的userIdstartRow是[userId反转][000000000000],stopRow是[userId反转][Long.Max_Value - timestamp] 如果需要查询某段时间的操作记录startRow是[user反转][Long.Max_Value - 起始时间]stopRow是[userId反转][Long.Max_Value - 结束时间] 5、建表时进行预分区处理  默认情况下在创建Hbase表的时候会自动创建一个region分区当导入数据的时候所有的HBase客户端都向这一个Region写数据知道这个Region足够大了才进行切分。我们通过预先创建一些空的Regions这样当数据写入Hbase时会按照region分区情况在集群内做数据的负载均衡。 1、命令方式 # create table with specific split points hbasecreate table1,f1,SPLITS [\x10\x00, \x20\x00, \x30\x00, \x40\x00] # create table with four regions based on random bytes keys hbasecreate table2,f1, { NUMREGIONS 8 , SPLITALGO UniformSplit } # create table with five regions based on hex keys hbasecreate table3,f1, { NUMREGIONS 10, SPLITALGO HexStringSplit } 2、API方式 hbase org.apache.hadoop.hbase.util.RegionSplitter test_table HexStringSplit -c 10 -f infohbase org.apache.hadoop.hbase.util.RegionSplitter splitTable HexStringSplit -c 10 -f info 参数   test_table 是表名   HexStringSplit 是split 方式   -c 是分 10 个 region   -f 是 family 这样就可以将表预先分为 10 个区减少数据达到 storefile 大小的时候自动分区的时间 消耗并且还有以一个优势就是合理设计 rowkey 能让各个 region 的并发请求平均分配(趋 于均匀) 使 IO 效率达到最高但是预分区需要将 filesize 设置一个较大的值设置哪个参数 呢 hbase.hregion.max.filesize 这个值默认是 10G 也就是说单个 region 默认大小是 10G   这个参数的默认值在 0.90 到 0.92 到 0.94.3 各版本的变化256M--1G--10G   但是如果 MapReduce Input 类型为 TableInputFormat 使用 hbase 作为输入的时候就要注意 了每个 region 一个 map如果数据小于 10G 那只会启用一个 map 造成很大的资源浪费 这时候可以考虑适当调小该参数的值或者采用预分配 region 的方式并将检测如果达到 这个值再手动分配 region。 转载于:https://www.cnblogs.com/yfb918/p/10600898.html
http://www.pierceye.com/news/594804/

相关文章:

  • 物业网站模板下载支付宝官网登录入口
  • 医疗网站模版北京建筑信息平台
  • 关于网站建设电话销售的开场白爱网站最新发布址
  • 聊城职业 网站建设与管理酒店类网站开发的策略
  • 学习建设网站建设网站那家好
  • 秦皇岛住房建设网站网站改版建设
  • thinkphp做的网站怎么预览启信宝企业查询
  • 网站为什么没有被收录营销网站都有哪些
  • 广州网站建设比较好的公司芜湖网站公司
  • 网站建设教育机构做图表用的网站
  • 正规手表回收网站重庆观音桥必吃美食
  • 交流稿 网站建设企业网站制作策划书
  • 提取网站子页面邮箱图书网站建设规划书
  • 1元建站阳光市往房和城乡规划建设局网站
  • 安徽和城乡建设厅网站怎么做微信上的网站吗
  • 外贸网站建设有什么需要注意的吗网站开发是什么环境
  • 网站设计与推广wordpress用什么编辑器好
  • h5做的网站网站内容页做301
  • 广州市网站开发二手车网站制作贵吗
  • php网站建设模板下载用爬虫做网站
  • 岗巴网站建设宁波市住房和城乡建设局网站
  • 北京公司网站制作电话豫建市2021 42号
  • 深圳做二维码网站建设自己做的美食在哪个网站上卖
  • 论论坛坛网网站站建建设设viewjs wordpress
  • 襄阳定制型网站开发昆明网站开发推广公司
  • 做视频怎样传到网站ip域名查询
  • 天台建设局网站恒一信息深圳网站建设公司2
  • 珠海网站怎样建设网页设计相关网站
  • 网站推广服务好公司排名山西网站建设免费
  • 金乡县网站建设曲靖建设局网站