首页
学习
活动
专区
圈层
工具
发布

大数据Kudu(七):Kudu分区策略

​Kudu分区策略Kudu表分为多个tablet,理想情况下,tablets应该相对平等地拆分表的数据,Kudu目前没有自动拆分预先存在的 tablets 的机制。所以在创建Kudu表时必须指定分区。...Kudu表的分区分为范围分区、hash分区、高级分区三种,分区字段必须来自于主键字段。使用Impala创建表时,可以使用 PARTITION BY 子句指定分区。...kuduClient.createTable("t_range_partition", schema, options);//关闭kuduClient对象kuduClient.close();以上代码执行完成后,可以通过Kudu...Arrays.asList("id"),10 );//创建表kuduClient.createTable("t_hash_partition", schema, options);以上代码创建完成后,可以通过Kudu...lower,upper );}//创建表kuduClient.createTable("t_hash_range_partition", schema, options);以上代码创建完成后,可以通过Kudu

1.6K91
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    大数据Kudu(一):什么是Kudu

    动态数据:一些数据处理场景下,需要低延迟、高效的读取特定数据,我们可以将数据存储在HBase中,HBase支持数据的低延迟随机读写(HBase数据存储在HDFS中,本质上还是追加写。...HBase中以Rowkey为索引,对于需要大批量读取数据分析的场景,吞吐量不如HDFS。...一、​​​​​​​Kudu概念Kudu是Cloudera在2015年9月开源的分布式数据存储引擎,其结合了HDFS和HBase的优势,可以同时提供高效的随机访问以及数据扫描能力。...Kudu的随机读写速度和HBase相似,但是达不到HBase随机读写性能,Kudu批量查询数据性能媲美HDFS parquet,但是比HDFS批量查询慢,所以kudu更像是HDFS与HBase的一个折中选择...二、Kudu 适用场景Kudu适用于以下场景:对数据既支持扫描(scan)又支持随机访问(random access)同时具有高性能,简化用户复杂的混合架构场景。数据需要更新,避免额外的数据迁移。​

    4K121

    大数据Kudu(二):Kudu架构

    ​Kudu架构一、Kudu存储模型及概念Kudu有自己的数据存储模型,不依赖于HDFS、Hive、HBase其他大数据组件。...Kudu有自己的集群,数据存储在Kudu自己的集群Tablet Server中。Kudu的存储模型是有结构的表,表中有主键,并且主键唯一,不能重复。事务支持上与HBase类似,只支持行级ACID事务。...Kudu是列式存储,支持数据压缩。Kudu不支持标准SQL,支持Nosql样式的API,例如:put,get,delete,scan。...一般企业中kudu与impala进行整合使用,可以使用SQL对数据进行实时OLAP分析。Table:table是数据存储在Kudu的位置,具有schema和全局有序的 primary key。...二、​​​​​​​​​​​​​​Kudu table存储原理对于一张特定的Kudu表,存储结构如下:Kudu数据存储实现如下:一个table根据hash或者range分区分成多个tablet,每个tablet

    1.4K111

    大数据Kudu(六):Kudu Java Api操作

    ​Kudu Java Api操作Kudu没有提供标准SQL操作,支持Nosql样式的API,这里使用Java 操作Kudu ,包括创建表、插入数据、修改删除数据、删除表等操作,值得注意的是,Java...api直接操作Kudu在开发中不是常用的方式,常用方式是Spark操作Kudu、Kudu与Impala整合写SQL操作Kudu。...一、​​​​​​​添加Maven依赖Java操作Kudu需要在创建好的Maven项目中导入kudu-client依赖,此外我们这里使用的是CDH版本的kudu依赖包,maven默认不支持CHD相关依赖,...-- 添加kudu-client依赖 --> org.apache.kudu kudu-clientKudu查看到对应的表。 三、插入数据向Kudu表中插入数据经过以下步骤:创建KuduClient对象,连接Kudu集群。

    1.5K102

    大数据Kudu(八):Kudu与Impala整合

    Kudu不支持标准SQL操作,可以将Kudu与Apache Impala紧密集成,impala天然就支持兼容kudu,允许开发人员使用Impala的SQL语法从Kudu的tablets 插入,查询,更新和删除数据...,Kudu与Impala整合本质上就是为了可以使用Hive表来操作Kudu,主要支持SQL操作。...一、Kudu与Impala整合配置先安装Impala后安装Kudu,Impala默认与Kudu没有形成依赖,这里需要首先在Impala中开启Kudu依赖支持,打开Impala->“配置”->“Kudu服务...内部表由impala管理,当创建表时,'kudu.master_address'指定Kudu集群,在ClouderaManager中impala配置了支持Kudu,也可以不指定;不能设置属性'kudu.table_name...('kudu.table_name'='personInfo1');注意:使用 “show create table t_kudu_map”查看表 t_kudu_map的建表语句,发现底层映射的Kudu

    1.9K62

    kudu可视化工具:kudu-plus

    kudu Kudu是为Apache Hadoop平台开发的列式数据库。Kudu拥有Hadoop生态系统应用程序的常见技术属性:它可以商用硬件上运行,可横向扩展,并支持高可用性操作。...kudu-plus是什么 kudu-plus是可视化管理kudu的工具,由于kudu虽然是列式数据库,但是可以表达成关系数据库类似的表和字段等信息,某种情况下通过可视化管理更加轻松。...java操作分区: 查看测试用例部分代码 kudu主键设计: 每个Kudu表必须声明由一列或多列组成的主键。与RDBMS主键一样,Kudu主键强制执行唯一性约束。...v0.0.1(当前) 查看kudu集群所有表 创建kudu表 删除kudu表 重命名kudu表 更新kudu表结构:修改非主键列名、修改非主键列默认值、修改非主键列的是否允许为空、新增非主键字段、删除非主键字段...查看kudu表分区信息 预览kudu表数据 编辑kudu表非主键列数据 删除kudu表数据行 新增kudu表数据行 检索kudu表数据添加筛选条件 v0.0.2功能(预期) 创建kudu表可以添加hash

    1K30

    高吞吐实时事务数仓方案调研 flink kudu+impala hbase等

    开源大数据组件组合方案 2.1 常用框架简介 常用OLAP MPP框架优劣势 [hm2daa13g1.png] 业界常用组合方案 Hbase+Phoenix 、Kudu+impala、 clickhouse...[93it3cpvhm.png]2 2.2.1 对比 区别于Hbase等存储引擎,Kudu有如下优势: 快速的OLAP类查询处理速度 与MapReduce、Spark等Hadoop生态圈常见系统高度兼容...Kudu是一个纯粹的列式存储引擎,相比Hbase只是按列存放数据,Kudu的列式存储更接近于Parquet,在支持更高效Scan操作的同时,还占用更小的存储空间。...数据按列放一起一般意义来讲会拥有更高的压缩比,这是因为列相同的数据往往拥有更高的相似 Kudu和Hbase有如下两点本质不同 Kudu的数据模型更像是传统的关系型数据库,Hbase是完全的no-sql...Kudu的磁盘存储模型是真正的列式存储,Kudu的存储结构设计和Hbase区别很大。 综合而言,纯粹的OLTP请求比较适合Hbase,OLTP与OLAP结合的请求适合Kudu。

    4.6K86

    Apache Kudu 对频繁更新数据场景下的大数据实时分析最佳用例

    5)Kudu不及HDFS批处理快,也不及HBase随机读写能力强,但是反过来它比HBase批处理快(适用于OLAP的分析场景),而且比HDFS随机读写能力强(适用于实时写入或者更新的场景),这就是Kudu...(2)为什么不能想办法改进HBase呢? Kudu 的很多特性跟 HBase 很像,它支持索引键的查询和修改。...相比HBase而言,Kudu的架构可以轻松应对随机写的场景。...Kudu随机读压力场景最佳实践 对于随机读压力比较大的业务场景并不是很建议使用Kudu,通常情况下HBase是一个更好的选择,不过Kudu也拥有不错的随机读性能。...Kudu官方的性能测试,在读压力分布符合齐夫定律时,HBase有读性能优势,随机分布下,Kudu和HBase的的随机读性能相当。

    5.4K30

    Apache Kudu 架构

    [oqfg7jhvg1.png] hdfs不支持批量更新操作,kudu支持 hdfs适用于离线sql分析,kudu适用于实时sql分析 hbase不支持sql操作,kudu支持(hbase-hive...;kudu核心模块用的. c++来实现,没有full gc的风险 hbase的timestamp是暴露的,kudu没有暴露 hbase的插入和更新操作都是当作一条数据进行处理的,而kudu...基于rowkey查询和kudu基于主键查询是很快的; Kudu结构看上去跟HBase差别并不大,主要的区别包括: Kudu将HBase中zookeeper的功能放进了TMaster内,Kudu中TMaster...Kudu在写的性能上相对HBase有一定的劣势。...总结 Kudu通过要求完整的表结构设置,主键的设定,以列式存储作为数据在磁盘上的组织方式,更新和数据分开等技巧, 使得Kudu能够实现像HBase一样实现数据的随机读写之外,在HBase

    2.4K31

    Kudu设计要点面面观(下篇)

    事务与数据一致性 Kudu支持单行事务,但不支持多行事务(Kudu中对多行操作不满足ACID原则中的原子性),也不支持事务回滚,这点与HBase是相同的。...使用TPC-H中的lineitem表(原始数据大小约62GB)进行Impala on Kudu与Phoenix on HBase的对比测试,包括数据的载入与4种查询。...Phoenix on HBase的表划分为100个哈希分区,Kudu表划分为100个Tablet。 ? 测试结果如下。 ?...可见,Phoenix on HBase的方案只有在基于RowKey的查询时有性能优势,并且领先幅度不大。而Impala on Kudu在执行基于列的查询和全表扫描时,效率远远高于HBase。...当然,这与HBase偏OLTP的设计思想有关,并不能说明Kudu可以完全取代HBase。 另外,论文中还用了雅虎的YCSB数据集测试随机读写能力。 ?

    2.9K30

    Apache Kudu 2

    二 性能调优篇 1 kudu性能调优和报错方案解决 报错一:tablet初始化时长很久 解决方案: 升级版本到kudu1.6.0以上版本 .参考:https://kudu.apache.org/...Minitump可以通过电子邮件发送给Kudu开发人员或附加到JIRA,以帮助Kudu开发人员调试崩溃。...报错六:impala操作kudu超时 解决方案:kudu_operation_timeout_ms = 1800000 添加描述 报错七:CDH安装kudu设置master 解决方案: --master_addresses...kudu表如果不新建的情况下,在表中增加字段,对数据是没有影响的,kudu中增加一个字段user_id,之前impala已经和kudu进行关联操作了, impala读取kudu的数据按照之前的所定义的字段读取的...; import org.apache.kudu.Schema; import org.apache.kudu.Type; import org.apache.kudu.client.*; import

    2.2K41

    FAQ系列之Kudu

    为什么不直接改进 Apache HBase 以提高其扫描速度? Kudu 与 HBase 有一些共同点。与 HBase 一样,它是一个实时存储,支持键索引记录查找和变异。...但是,Kudu 的设计在一些基本方面与 HBase 不同: Kudu 的数据模型更传统地是关系型的,而 HBase 是无模式的。...Kudu 的磁盘表示是真正的柱状,并且遵循与 HBase/BigTable 完全不同的存储设计。 在 HBase 中进行这些根本性的更改需要进行大规模的重新设计,而不是一系列简单的更改。...是否有可能像 HBase 一样出现区域服务器热点,Kudu 如何缓解这种情况? HBase 中的热点是从所使用的分发策略继承的属性。 默认情况下,HBase 使用基于范围的分布。...与 HBase ACL 类似,Kudu 需要实现自己的安全系统,并且不会从 HDFS 安全模型中获得太多好处。

    2.6K40
    领券