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

湖南营销类网站设计网站程序找人做还是自己做

湖南营销类网站设计,网站程序找人做还是自己做,游戏源码出售,优设网站官网分区表 概念和常用操作 将一个大表的数据按照业务需要分散存储到多个目录#xff0c;每个目录称为该表的一个分区。一般来说是按照日期来作为分区的标准。在查询时可以通过where子句来选择查询所需要的分区#xff0c;这样查询效率会提高很多。 ①创建分区表 hive (defau…分区表 概念和常用操作 将一个大表的数据按照业务需要分散存储到多个目录每个目录称为该表的一个分区。一般来说是按照日期来作为分区的标准。在查询时可以通过where子句来选择查询所需要的分区这样查询效率会提高很多。 ①创建分区表 hive (default) create table dept_partition (deptno int, --部门编号dname string, --部门名称loc string --部门位置 )partitioned by (day string, hour string)row format delimited fields terminated by \t;查询分区表数据时可以将分区字段看作表的伪列可像使用其他字段一样使用分区字段。 操作命令作用desc 表名查看表的信息分辨是否为分区表show partition 表名查看所有分区信息alter 表名 add partition(dt‘’)添加分区多个分区不用添加分隔符alter 表名 drop partition(),partiton2删除分区, 多个分区逗号分隔msck repair table 表名 add/drop/ sync partitions没有使用hive load命令上传文件时用来修复分区默认是add 二级分区表 如果一天内的数据量也很大可以再次将数据按照小时进行分区。适合数据量特别大的时候使用 动态分区表 动态分区是指向分区表insert数据时被写往的分区不由用户指定而是由每行数据的最后一个字段的值来动态的决定。使用动态分区可只用一个insert语句将数据写入多个分区。 开启动态分区功能set hive.exec.dynamic.partitiontrue;设置为动态分区非严格模式set hive.exec.dynamic.partition.modenonstrict需要先存在一张大表已经存储好了然后转换为动态分区表。按照已经存储的表的最后一列作为分区列 insert into table dept_partition_dynamic partition(loc) -- 动态分区就是指这个值没有写死 select deptno, dname, loc from dept;分桶表 分区提供一个隔离数据和优化查询的便利方式。底层是将数据放到不同目录但是并非所有数据都可形成合理的分区。分桶是指将同一个文件的数据按照分桶数再划分为更细粒度的不同文件。数据内容是按照对应字段的哈希值对桶数取模来分配的。只在特定情况下效率会更高。 分区和分桶结合使用 create table stu_buck_sort_part(id int,name string ) partitioned by (day string) -- 分区 clustered by (id) sorted by (id) into 4 buckets -- 分桶 row format delimited fields terminated by \t;分区和分桶的区别 分区是分的是目录分桶分的是文件分区的字段不能是表中字段分桶的字段必须是表中的字段 自定义函数 用户自定义函数分类 1UDF一进一出 2UDAF多进一出 3UDTF一进多出 自定义步骤 模仿length函数导入jar包编写MyUDF类继承GenericUDF类重写方法initialize(检查器数组)返回值为检查器。检查器类内部封装了所有可以处理的类对象。初始化用来 检查参数个数不正确时抛UDFArgumentLengthException()检查参数类型, 不正确时抛UDFArgumentTypeException()约定函数的返回值类型, 可以选择java的序列化对象或者hadoop的writable对象。使用工厂类帮你把各种类的单例已经new好了来获取返回对应的对象。 evaluate(函数值对象 o) 返回值是Object 如果为null返回0或-1不为null, 返回 o.toString().length(); 使用Maven打包在target中复制到hadoop中建议放到data目录下, 复制路径pwd。在hadoop中使用add jar 路径进入jdbc中创建永久函数create function my_len as 方法的全类名如果想创建临时方法在function前面加上temporary。临时函数可以跨库使用永久函数需要加上前缀库名后才能跨库使用。由于add jar本身也是临时生效的需要将jar包上传到HDFS中才能真正变成永久函数。然后在创建函数时添加using HDFS路径 Hadoop压缩 存储时选择压缩比的最好的bzip2计算时选择速度快点压缩算法目前天选加唯一的就是snappy。 打开参数, 这两个参数默认都为false Hadoop: mapreduce.map.output.compresstrue Hivehive.exec.compress.outputtrue设置压缩方式使用hadoop103:8088中的yarn来查看压缩算法是否被使用。实际使用过程中并不能提升程序的运行效率只是减少了IO但需要额外的配置只有在特殊场景才会配置。 Hive文件格式 文件名特点textfile行式存储orc列式存储, 比较适合列式的查询符合公司业务需求Parquet列式存储 ORC文件结构 Stripe0大小等于物理块128M Index索引column acolumn bcolumn cFooter编码信息 Stripe1和上面一样…File Footer: stripe的起始位置索引的长度数据的长度Stripe footer的长度 使用orc列式存储时可以将原文件大小缩小到原先的40%parquet大概是原先的70%。在数据量较大时orc和parquet进行按列查询时查询速度会比textfile速度更快。 企业优化 计算资源配置 调整yarn内存和容器内存调整map和reduce的内存和CPU核心数 Explain查看执行计划 语法explain query-SQL 分组聚合优化 map-side聚合 将聚合操作从reduce阶段提前到map阶段。 set hive.map.aggr true. 开启预聚合combiner 可以将该参数关闭比较两次查询过程的执行时间。该优化对于有数据倾斜的数据有很好的优化效果。 join优化 common join 没有开启自动转map join map join 文件大小小于25M时被称为小表配置参数开启hive.auto.convert.join配置参数开启无条件转map join不考虑数据是否是小表出错时直接OOM内存溢出。 bucket map join 将大表进行分桶分桶是根据字段来分的分桶时必须按照连接键来分。左右两边分桶的个数必须是相等或倍数关系。 sort merge bucket join 在分桶的基础上将桶内数据进行排序后再进行Join操作将全量IO转换为部分IO。设置参数为true sortedmergesortmerge.join 数据倾斜 reducer倾斜 map-side聚合默认是开启的Skew-GroupBy优化将数据打散不按照原先的逻辑进行分组随机平均分散到不同的reducer中。适合倾斜量级很大时否则优化效果不是很明显。 join数据倾斜 桶表joinmap join
http://www.hkea.cn/news/14348332/

相关文章:

  • 成都网站建设维护怎样换网站关键词
  • 中山网站建设的企业电子商务系统的开发方式
  • 那个网站适合学生做兼职专业网站定制报价
  • 本地网站建设开发信息大全广告在线设计制作
  • wordpress修改作者链接沈阳快速排名优化
  • 宁波品牌网站推广优化营业执照网上年检入口
  • 做实体店优惠券的网站工作流程管理系统说明书
  • 做一家网站需要多少钱wordpress博客站模板
  • 北京大型网站开发科技小制作视频
  • 做购物商城类网站需要石家庄网站快速备案
  • 如何用visual做网站静态网页设计作业成品
  • 空间站免费版下载东莞网站建设行业翘楚
  • 网站开发图片编辑深圳傻瓜式网站建设公司好吗
  • 个人备案网站 内容摄影设计思路
  • 高端网站设计元素图片wordpress主题 ipcme
  • 开封小吃网站建设门户
  • 网站建设利益分析网站建设需要的网络技术
  • 无锡宜兴网站建设如何优化好一个网站
  • 中国空间站航天员首次出舱手机网站需要备案吗
  • 北京网站推广服务淘宝建设网站的
  • 最新项目加盟代理关键词优化按天计费
  • 企业网站关键词应如何优化wordpress js丢失
  • 电商网站设计价格企业品牌网站建设应该怎么做
  • 7天查分网站 优帮云什么叫优化关键词
  • 专门做鞋的网站法拍房北京网站
  • 巨人科技网站建设网站建设费 大创
  • asp网站 访问 变慢 监测盱眙住房和城乡建设局网站
  • 北京建网站价格优帮云视觉asp网站源码
  • 上海嘉定区网站建设公司上海的二字代码
  • 网页是网站的什么颜色好看做小程序用什么软件