国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MySQL分區(qū)表和分桶表的操作詳解

瀏覽:98日期:2023-05-08 10:17:32
目錄
  • 1.創(chuàng)建分區(qū)表
  • 2.增刪改查操作
    • 2.1 插入數(shù)據(jù)
    • 2.2 操作數(shù)據(jù)
  • 3. 二級(jí)分區(qū)表
    • 3.1 創(chuàng)建分區(qū)表
    • 3.2 插入數(shù)據(jù)
  • 4.動(dòng)態(tài)分區(qū)
    • 5.分桶表
      • 5.1 新建分桶表
      • 5.2 插入數(shù)據(jù)
      • 5.3 既分區(qū)有分桶
    • 6 分區(qū)與分桶的區(qū)別

      1.創(chuàng)建分區(qū)表

      create table dept_partition(    deptno int,    dname string,    loc int)partitioned by (dt string)  // 分區(qū)字段(date)row format delimited fields terminated by "\t";

      2.增刪改查操作

      2.1 插入數(shù)據(jù)

      1)導(dǎo)入本地?cái)?shù)據(jù)

      -- 創(chuàng)建一個(gè)名字為dt="2022-06-14"的文件夾,在其中導(dǎo)入數(shù)據(jù)load data local inpath "/opt/module/hive/datas/dept.txt" into table dept_partition partition(dt="2022-06-14"); 

      分區(qū)表就是先創(chuàng)建文件夾,然后在文件夾中寫(xiě)入數(shù)據(jù)

      換句話(huà)說(shuō),分區(qū)表就是將一張大表分成若干個(gè)文件夾進(jìn)行管理

      2)插入數(shù)據(jù)

      insert overwrite table dept_partition partition(dt="2022-06-17")select deptno, dname, loc from dept;
      insert overwrite table dept_partitionselect deptno, dname, loc, "2022-06-18" from dept;

      2.2 操作數(shù)據(jù)

      1)查看分區(qū)數(shù)

      show partitions dept_partition;

      2)查詢(xún)指定分區(qū)

      select * from dept_partition where dt="2022-06-14";

      3)增加/刪除分區(qū)

      alter table dept_partition add partition(dt="2022-06-19");alter table dept_partition drop partition(dt="2022-06-19");

      ps.也可以直接在liunx端輸入命令增加分區(qū)

      -- 將18號(hào)分區(qū)復(fù)制一份,命名為13號(hào)分區(qū)
      hadoop fs -cp /user/hive/warehouse/dept_partition/dt=2022-06-18
      /user/hive/warehouse/dept_partition/dt=2022-06-13

      ps..如果直接在網(wǎng)頁(yè)端新建文件夾,終端不會(huì)顯示新建的分區(qū),必須修復(fù)

      msck repair table dept_partition;

      3. 二級(jí)分區(qū)表

      就是大文件夾套小文件夾

      3.1 創(chuàng)建分區(qū)表

      create table dept_partition2(    deptno int,    dname string,    loc int)partitioned by (month string, day string)  // month為父目錄,day為子目錄row format delimited fields terminated by "\t";

      3.2 插入數(shù)據(jù)

      load data local inpath "/opt/module/hive/datas/dept.txt" into table dept_partition2 partition(month="2022-06", day="15");
      insert into dept_partition2 partition(month="2022-06",day="15")select deptno, dname, loc from dept;

      4.動(dòng)態(tài)分區(qū)

      普通數(shù)據(jù)無(wú)法直接轉(zhuǎn)化為分區(qū)表,只能先新建新的分區(qū)表,再將舊數(shù)據(jù)插入這個(gè)新的分區(qū)表

      1)創(chuàng)建分區(qū)表

      create table emp_par(    empno int,    ename string,    job string,    salary decimal(16,2)) partitioned by (deptno int)row format delimited fields terminated by "\t";

      2)然后將數(shù)據(jù)插入這張分區(qū)表

      方式一:一個(gè)分區(qū)一個(gè)分區(qū)的插入

      insert into emp_par partition(deptno=10)select empno,ename,job,sal from emp where deptno=10;  //然后是11,12...

      方式二:動(dòng)態(tài)分區(qū)一次搞定

      insert overwrite table emp_par   // 不用指定分區(qū)select empno,ename,job,sal,deptno from emp;  //直接把deptno寫(xiě)到這里

      5.分桶表

      核心語(yǔ)句:

      clustered by (a) sorted by (b) into 4 buckets //按照a分了4個(gè)桶,桶內(nèi)按照b排序

      5.1 新建分桶表

      create table stu_buck(    id int,    name string)clustered by (id) sorted by (id) into 4 buckets  //根據(jù)id的hash值按4取模row format delimited fields terminated by "\t";

      查看

      select * from stu_buk

      可以發(fā)現(xiàn)分成了四個(gè)區(qū)

      ps.分桶的意義:在取數(shù)的時(shí)候可以直接數(shù)據(jù)定位所在的桶,然后方便遍歷,查詢(xún)更高效

      5.2 插入數(shù)據(jù)

      load data inpath "/datas/student.txt" into table stu_buck;

      ps.不能用本地模式,必須用hdfs模式

      insert overwrite table stu_buckselect id,name from stu_ex;

      5.3 既分區(qū)有分桶

      create table stu_par_buck(    id int,    name string)partitioned by (dt string)  // 先創(chuàng)建文件夾clustered by (id) sorted by (id desc) into 4 buckets  //然后內(nèi)部分桶row format delimited fields terminated by "\t";

      插入數(shù)據(jù):

      與普通的一樣

      insert into stu_par_buckselect id, name, "2022-06-14" from stu_ex;

      6 分區(qū)與分桶的區(qū)別

      主鍵適合拿來(lái)分桶,而普通的列適合拿來(lái)分區(qū)(一般為日期)

      分桶是文件,分區(qū)是文件夾

      到此這篇關(guān)于MySQL分區(qū)表和分桶表的操作詳解的文章就介紹到這了,更多相關(guān)MySQL分區(qū)表和分桶表內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

      標(biāo)簽: MySQL
      相關(guān)文章:
      主站蜘蛛池模板: 九九视频在线观看视频6偷拍 | 国产欧美日韩一区二区三区 | 国产精品亚洲专一区二区三区 | 久久国产国内精品对话对白 | 91极品尤物| 久久在线观看免费视频 | 国产欧美日韩综合二区三区 | 久久精品国产亚洲高清 | 自拍 欧美 在线 综合 另类 | 中文字幕日本一区波多野不卡 | 99国产在线观看 | 免费v片视频在线观看视频 免费v片在线观看 | 91www成人久久 | 丰满老熟女毛片 | 制服丝袜在线视频香蕉 | 在线a毛片免费视频观看 | 免费在线看黄网址 | 精品国产一区二区三区2021 | 国产成人av性色在线影院 | 精品视频在线看 | 亚洲精品高清在线观看 | 亚洲欧美日韩国产专区一区 | 一区二区在线欧美日韩中文 | 国内外成人免费在线视频 | 日韩欧美在线精品 | 5388国产亚洲欧美在线观看 | 美女的被男人桶爽网站 | 免费人欧美成又黄又爽的视频 | 99久久精品国产片 | 手机在线观看一级午夜片 | 理论在线看 | 麻豆视频一区 | 欧美成人看片一区二区三区 | 国产香蕉成人综合精品视频 | 在线视频免费观看a毛片 | 日本老熟妇激情毛片 | 中国国产成人精品久久 | 国产视频综合 | 美女131爽爽爽做爰中文视频 | 国产成人在线小视频 | 亚洲国产日产韩国欧美综合 |