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

百度aipage智能建站网站代码软件

百度aipage智能建站,网站代码软件,游戏网站模板,种子搜索神器在线引擎分区表 Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录#xff0c;每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区#xff0c;这样的查询效率会提高很多。 静态分区表基本语法 创建分区表 create table dept_p…分区表 Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区这样的查询效率会提高很多。 静态分区表基本语法 创建分区表 create table dept_partition (deptno int, --部门编号dname string, --部门名称loc string --部门位置 )partitioned by (day string)row format delimited fields terminated by \t;写数据: 创建文件写入以下数据并上传到HDFS上面 10 行政部 1700 20 财务部 1800load加载数据 load data inpath hdfs://flinkv1:8020/input/dept_20220401.loginto table dept_partitionpartition(day20220401);insert加载数据 将day20220401’分区的数据插入到day20220402’分区可执行如下装载语句 insert overwrite table dept_partition partition (day 20220402) select deptno, dname, loc from dept_partition where day 20220401;读数据 查询分区表数据时可以将分区字段看作表的伪列可像使用其他字段一样使用分区字段。 select deptno, dname, loc ,day from dept_partition where day 20220401;查看所有分区信息 show partitions dept_partition;增加分区 1创建单个分区 alter table dept_partition add partition(day20220403);2同时创建多个分区分区之间不能有逗号 alter table dept_partition add partition(day20220404) partition(day20220405);删除分区 1删除单个分区 alter table dept_partition drop partition (day20220403);2同时删除多个分区分区之间必须有逗号 alter table dept_partition drop partition (day20220404), partition(day20220405);修复分区 Hive将分区表的所有分区信息都保存在了元数据中只有元数据与HDFS上的分区路径一致时分区表才能正常读写数据。若用户手动创建/删除分区路径Hive都是感知不到的这样就会导致Hive的元数据和HDFS的分区路径不一致。再比如若分区表为外部表用户执行drop partition命令后分区元数据会被删除而HDFS的分区路径不会被删除同样会导致Hive的元数据和HDFS的分区路径不一致。 若出现元数据和HDFS路径不一致的情况可通过如下几种手段进行修复。 1add partition 若手动创建HDFS的分区路径Hive无法识别可通过add partition命令增加分区元数据信息从而使元数据和分区路径保持一致。 2drop partition 若手动删除HDFS的分区路径Hive无法识别可通过drop partition命令删除分区元数据信息从而使元数据和分区路径保持一致。 3msck 若分区元数据和HDFS的分区路径不一致还可使用msck命令进行修复以下是该命令的用法说明。 msck repair table table_name [add/drop/sync partitions];说明该命令会增加HDFS路径存在但元数据缺失的分区信息。 msck repair table table_name add partitions该命令会删除HDFS路径已经删除但元数据仍然存在的分区信息。 msck repair table table_name drop partitions该命令会同步HDFS路径和元数据分区信息相当于同时执行上述的两个命令。 msck repair table table_name sync partitions等价于msck repair table table_name add partitions命令。 msck repair table table_name二级分区表 思考如果一天内的日志数据量也很大如何再将数据拆分?答案是二级分区表例如可以在按天分区的基础上再对每天的数据按小时进行分区。 二级分区表建表语句 create table dept_partition2(deptno int, -- 部门编号dname string, -- 部门名称loc string -- 部门位置 ) partitioned by (day string, hour string) row format delimited fields terminated by \t;数据装载语句 load data inpath hdfs://flinkv1:8020/input/dept_20220401.loginto table dept_partition2partition(day20220401, hour12);查询分区数据 select * from dept_partition2 where day20220401 and hour12;动态分区 动态分区是指向分区表insert数据时被写往的分区不由用户指定而是由每行数据的最后一个字段的值来动态的决定。使用动态分区可只用一个insert语句将数据写入多个分区。 动态分区相关参数 1动态分区功能总开关默认true开启 set hive.exec.dynamic.partitiontrue2严格模式和非严格模式 动态分区的模式默认strict严格模式要求必须指定至少一个分区为静态分区nonstrict非严格模式允许所有的分区字段都使用动态分区。 set hive.exec.dynamic.partition.modenonstrict3一条insert语句可同时创建的最大的分区个数默认为1000。 set hive.exec.max.dynamic.partitions10004单个Mapper或者Reducer可同时创建的最大的分区个数默认为100。 set hive.exec.max.dynamic.partitions.pernode1005一条insert语句可以创建的最大的文件个数默认100000。 hive.exec.max.created.files1000006当查询结果为空时且进行动态分区时是否抛出异常默认false。 hive.error.on.empty.partitionfalse案例实操 需求将dept表中的数据按照地区loc字段插入到目标表dept_partition_dynamic的相应分区中。 1创建目标分区表 create table dept_partition_dynamic(id int, name string ) partitioned by (loc int) row format delimited fields terminated by \t;2设置动态分区 set hive.exec.dynamic.partition.mode nonstrict;insert into table dept_partition_dynamic partition(loc) select deptno, dname, loc from dept;3查看目标分区表的分区情况 show partitions dept_partition_dynamic;分桶表 分区提供一个隔离数据和优化查询的便利方式。不过并非所有的数据集都可形成合理的分区。对于一张表或者分区Hive 可以进一步组织成桶也就是更为细粒度的数据范围划分分区针对的是数据的存储路径分桶针对的是数据文件。 分桶表的基本原理是首先为每行数据计算一个指定字段的数据的hash值然后模以一个指定的分桶数最后将取模运算结果相同的行写入同一个文件中这个文件就称为一个分桶bucket。 分桶表基本语法 1建表语句 create table stu_buck(id int, name string ) clustered by(id) into 4 buckets row format delimited fields terminated by \t;2数据装载 创建student.txt文件并输入如下内容上传HDFS 1001 student1 1002 student2 1003 student3 1004 student4 1005 student5 1006 student6 1007 student7 1008 student8 1009 student9 1010 student10 1011 student11 1012 student12 1013 student13 1014 student14 1015 student15 1016 student162导入数据到分桶表中 说明Hive新版本load数据可以直接跑MapReduce老版的Hive需要将数据传到一张表里再通过查询的方式导入到分桶表里面。 load data inpath hdfs://flinkv1:8020/input/student.txtinto table stu_buck;3查看创建的分桶表中是否分成4个桶 4观察每个分桶中的数据 分桶排序表 1建表语句 create table stu_buck_sort(id int, name string ) clustered by(id) sorted by(id) into 4 buckets row format delimited fields terminated by \t;2数据装载 load data inpath hdfs://flinkv1:8020/input/student.txtinto table stu_buck_sort;
http://www.zqtcl.cn/news/219612/

相关文章:

  • 网站建设维护课件ppt百度搜索一下百度
  • 重庆企业网站开发方案wordpress菜单插件
  • 江苏网站seo设计什么学习网站建设
  • 青海网站建设系统电商出口营销要多少钱
  • 上海的网站设计公司百度上做优化
  • 连云港权威网站优化服务如何自己做解析网站
  • 学校网站建设调研报告wordpress update_post_meta
  • 法人变更在哪个网站做公示做企业平台的网站有哪些
  • 制作网站过程有免费的网站域名吗
  • 简单做网站用什么软件价格优惠
  • 在线自助下单网站建设银行上海分行招聘网站
  • 网站备案期间停止解析网站改版后 存在大量404页面
  • 朝阳网站建设 国展东莞常平邮政编码多少
  • 深圳网站建设微赢天下做视频网站服务器多少钱
  • 中小企业网站建设与管理课后答案wordpress主题 亚马逊
  • 网站制作关键技术上海网站建设收费
  • 深圳做互联网教网站公司集团管理软件
  • 华宁网站建设网站建设与维护新的体会
  • 网站后台清空北京网站建设厂家
  • 济南建设银行网站应用制作app软件
  • 网站开发实习个人小结关于做展厅的网站
  • 网站设计三把火如何制作动漫网站模板
  • 重庆做网站 哪个好些嘛开通qq空间申请网址
  • 制作网站 太原买的电脑没有wordpress
  • 图书馆建设投稿网站可信网站认证logo
  • 专做阀门网站网站如何做银联在线支付
  • 南通网站seo网页制作图片轮播
  • 高端品牌网站建设哪家好中医网站模板
  • 怎么做多语言网站图片添加文字在线制作
  • js特效演示网站wordpress本地视频