• HIVE 分桶模式


    1.分桶之前要打开  hive.enforce.bucketiong=true;

    2.分桶处理的对象必须是有,有效的列 , 比如我分了三个桶,针对id , 那么就是取id的hash值 , 然后分别放入三个不同之中 ,注意

    -----不能指定数据存放在哪个桶 , 他自己会根据哪个列判断 , 你只需要保证传入的数据具有哪个列就好了.

    其实有点类似于hashmap分区

    1.创建分桶表

    create table yask(id int,name string) clustered by(id) Row Format Delimited Fields Terminated By '	';

    注意: 这里面id是从前面拿出来得到 , 和分区独立开不一样 

    2.插入数据

    这里面插入数据是从select * from  里面插入的 , 而不是load进来的,因为需要指定列作为hash的依据

    inset overwrite table yask select * from userinfo;

    查看分桶信息

    hive> dfs -ls /usr/hive/warehouse/yask

    查询分桶的数据

    select * from yask tablesample(bucket 1 out of 3 on id);
    要制定关键字tablesample
  • 相关阅读:
    Java_多线程入门
    JAVA多线程基础(一)
    多线程1
    1.优化MySQL数据库
    廖胤松
    Mybatais
    Spring Boot入门
    MySQL的安装步骤详解
    MySQL入门
    WEB测试方法
  • 原文地址:https://www.cnblogs.com/alpha-cat/p/12817363.html
Copyright © 2020-2023  润新知