您现在的位置是:首页 > 正文

kudu-列式存储管理器-第三篇

2024-01-30 22:29:55阅读 0

1、kudu-分区方式

为了提供可扩展性,Kudu 表被划分为称为 tablets 的单元,并分布在许多 tablet servers 上。行总是属于单个 tablet 。将行分配给 tablet 的方法由在表创建期间设置的表的分区决定。

kudu提供了3种分区方式:

1.1、Range Partitioning ( 范围分区 )

1.1.1、Range Partitioning ( 范围分区 )-创建表

范围分区可以根据存入数据的数据量,均衡的存储到各个机器上,防止机器出现负载不均衡现象

创建一张表,要求按照如下方式进行分区:

create table rangeTable(CompanyId Type.INT32 , WorkId Type.INT32 , Name Type.STRING , Gender Type.STRING , Photo Type.STRING)
RANGE (CompanyId) (
    PARTITION 0 <= VALUES < 10,
    PARTITION 10 <= VALUES < 20,
    PARTITION 20 <= VALUES < 30,
    PARTITION 30 <= VALUES < 40,
    PARTITION 40 <= VALUES < 50,
    PARTITION 50 <= VALUES < 60,
    PARTITION 60 <= VALUES < 70,
    PARTITION 70 <= VALUES < 80,
    PARTITION 80 <= VALUES < 90
)

1.1.2、Range Partitioning ( 范围分区 )-javaAPI实现

public class createRangePartition {
    private static ColumnSchema newColumn(String column , Type type , boolean isPrimary){
        final ColumnSchema.ColumnSchemaBuilder columnSchemaBuilder = new ColumnSchema.ColumnSchemaBuilder(column, type);
        columnSchemaBuilder.key(isPrimary);
        return columnSchemaBuilder.build();
    }

    public static void main(String[] args) {
        //master地址
        final String master = "hadoop01,hadoop02,hadoop03";
        final KuduClient client = new KuduClient.KuduClientBuilder(master).defaultSocketReadTimeoutMs(6000).build();
        // 设置表的schema
        List<ColumnSchema> columns = new LinkedList<ColumnSchema>();
        columns.add(newColumn("CompanyId", Type.INT32, true));
        columns.add(newColumn("WorkId", Type.INT32, false));
        columns.add(newCo

网站文章

  • sql语句使用in条件查询时结果为多个mybatis返回一个的问题分析

    sql语句使用in条件查询时结果为多个mybatis返回一个的问题分析

    sql语句使用in条件查询时结果为多个mybatis返回一个的问题分析

    2024-01-30 22:29:48
  • 调度、模型、同步与任务——阿里云大数据数仓建设性能优化方案

    调度、模型、同步与任务——阿里云大数据数仓建设性能优化方案

    摘要: 对于阿里云大数据数仓建设性能优化而言,主要可以从调度优化、模型优化、同步优化以及任务优化这四个方面着手。其实,对于性能优化而言,最终还是会归结到“资源”之上,所以资源是否足够,分配是否合理也是...

    2024-01-30 22:29:41
  • SublimeText3: ImportError: No module named ‘urllib2′ 热门推荐

    使用sublime text的同学一般会装package control这个插件,这个插件是管理插件的功能,先安装它,再安装其他插件就方便了。 console安装命令: import urllib2,os;pf=&#39;Package Control.sublime-package&#39;;ipp=sublime.installed_packages_path();

    2024-01-30 22:29:06
  • strictfp关键字和clone()方法

    strictfp关键字和clone()方法

    strictfp 关键字<strict float point (精确浮点)>1.可以用在哪里接口类方法2.有什么作用?使用 strictfp 关键字声明一个方法时,该方法中所有的float和doub...

    2024-01-30 22:28:57
  • 如何查看服务器的型号

    如何查看服务器的型号

    2024-01-30 22:28:29
  • Kafka的监听地址配置

    Kafka的监听地址配置

    本文就用Kafka 2.8.有时我们会碰到网络是通畅的,但却连不上Kafka,特别是在多网卡环境或者云环境上很容易出现。这个其实和Kafka的监听配置有关系。本文介绍监听相关的配置。目前监听相关的参数...

    2024-01-30 22:28:22
  • 【大一程序设计基础作业】P266Ex3

    【大一程序设计基础作业】P266Ex3

    遍历则是让这个小机器人通过循环语句顺着一个个结点走下去,在循环语句结束之后,他会停在这一系列结点的后面,此时我们就要把它收回来,让他休息一下,也就是让ptr指向空指针。最值则是先读取头结点中的数据,装...

    2024-01-30 22:28:14
  • LeNet模型——tensorflow实现

    LeNet模型——tensorflow实现

    文章目录MNIST数据集MNIST数据集简介MNIST数据集加载MNIST数据集可视化数据集格式转换tendorflow模型类ModelSequetial卷积类Conv2D池化类AveragePool...

    2024-01-30 22:27:44
  • CCNP-第六篇-OSPF高级版(三)

    CCNP-第六篇-OSPF高级版(三)

    CCNP-第六篇-OSPF高级版(三) 这一节差不多都是密码认证了,还有个NSSA和OE1,OE2 OSPF默认路由 OSPF认证问题 OSPF特殊区域,NSSA,STUB OSPF下发默认路由 其实...

    2024-01-30 22:27:37
  • tornado mysql 操作_tornado 数据库操作

    tornado是python的web框架,web程序开发中数据库操作是必须的。安装:tornado的官方文档中提供的说明比较少,而且提供的模块中未找到数据库方面的模块,难道没有针对数据库操作进行封装?百度查询了一下才发现,tornado在升级过程中把数据库模块独立出来了。模块为torndb模块。模块git地址:https://github.com/bdarnell/torndb 官方文档地址...

    2024-01-30 22:27:29