kudu的好处:

快速的olap

列式存储,Hadoop parquet 的一种替代方案

对数据的顺序处理和随机处理都很高效

* High availability. Tablet Servers and Masters use the Raft Consensus Algorithm, which ensures that as long as more than half the total number of replicas is available, the tablet is available for reads and writes. For instance, if 2 out of 3 replicas or 3 out of 5 replicas are available, the tablet is available.
* Reads can be serviced by read-only follower tablets, even in the event of a leader tablet failure.

kudu使用的场景:

  • Reporting applications where newly-arrived data needs to be immediately available for end users  刚到的数据需要需要马上呈现给用户

  • Time-series applications that must simultaneously support:

    • queries across large amounts of historic data 历史数据的快速查询

    • granular queries about an individual entity that must return very quickly 快速返回单个实体粒度查询

  • Applications that use predictive models to make real-time decisions with periodic refreshes of the predictive model based on all historic data使用预测模型进行实时决策的应用程序,基于所有历史数据定期刷新预测

kudu-impala 有哪些特性:

  • CREATE/ALTER/DROP TABLE

Impala supports creating, altering, and dropping tables using Kudu as the persistence layer. The tables follow the same internal / external approach as other tables in Impala, allowing for flexible data ingestion and querying.

  • INSERT

Data can be inserted into Kudu tables in Impala using the same syntax as any other Impala table like those using HDFS or HBase for persistence.

  • UPDATE / DELETE

Impala supports the UPDATE and DELETE SQL commands to modify existing data in a Kudu table row-by-row or as a batch. The syntax of the SQL commands is chosen to be as compatible as possible with existing standards. In addition to simple DELETE or UPDATE commands, you can specify complex joins with a FROM clause in a subquery.

  • Flexible Partitioning 采用hash 或 range 的分区

Similar to partitioning of tables in Hive, Kudu allows you to dynamically pre-split tables by hash or range into a predefined number of tablets, in order to distribute writes and queries evenly across your cluster. You can partition by any number of primary key columns, by any number of hashes, and an optional list of split rows. See Schema Design.

  • Parallel Scan 并发对多个tablet 进行扫描

To achieve the highest possible performance on modern hardware, the Kudu client used by Impala parallelizes scans across multiple tablets.

  • High-efficiency queries

Where possible, Impala pushes down predicate evaluation to Kudu, so that predicates are evaluated as close as possible to the data. Query performance is comparable to Parquet in many workloads.

概念和术语:

  • 列式数据存储
  • 读取效率快,只读一列或部分列
  • 数据压缩:一列的数据类型统一,便于亚索
  • Tablet:类似其他数据库的分区,一个给定的tablet 会被备份在多台tablet server中,有一个备份会被选为leader tablet,
  • tablet server:一个tablet server 可以服务多个tablet,一个tablet 也可以被多个server服务,服务于一个tablet的多个server 只有一个时leader,其他为foller,leader 负责读和写,foller 只负责读
  • master:master 服务器跟踪所有tablet,tablet server ,目录表以及与群集相关的其他元数据。master 只有一个,master disappears 之后 再选举一个
  • catlog table:存储了两类信息,1)table 的shcemas ,location,states 。2)现存talbets 的列表,每个tablet 被哪几个server 服务,tablet 的状态,开始key,结束key

查看kudu ui:

access the Master or Tablet Server web UI by opening http://<_host_name_>:8051/ for masters or http://<_host_name_>:8050/ for tablet servers.

impala shell 连接 kudu:

Start Impala Shell using the impala-shell command. By default, impala-shell attempts to connect to the Impala daemon on localhost on port 21000. To connect to a different host,, use the -i <host:port> option. To automatically connect to a specific Impala database, use the -d <database> option. For instance, if all your Kudu tables are in Impala in the database impala_kudu, use -d impala_kudu to use this database.

kudu 建立分区:

sadfasdf

sadfasdf

sadfasdf

sadfasdf

kudu 介绍的更多相关文章

  1. kudu介绍及安装配置

    kudu介绍及安装配置 介绍 Kudu 是一个针对 Apache Hadoop 平台而开发的列式存储管理器.Kudu 共享 Hadoop 生态系统应用的常见技术特性: 它在 commodity har ...

  2. hadoop生态圈列式存储系统--kudu介绍及安装配置

    介绍 Kudu 是一个针对 Apache Hadoop 平台而开发的列式存储管理器.Kudu 共享 Hadoop 生态系统应用的常见技术特性: 它在 commodity hardware(商品硬件)上 ...

  3. Kudu+Impala介绍

    Kudu+Impala介绍 概述 Kudu和Impala均是Cloudera贡献给Apache基金会的顶级项目.Kudu作为底层存储,在支持高并发低延迟kv查询的同时,还保持良好的Scan性能,该特性 ...

  4. kudu基础入门

    1.kudu介绍 1.1 背景介绍 在KUDU之前,大数据主要以两种方式存储: (1)静态数据: 以 HDFS 引擎作为存储引擎,适用于高吞吐量的离线大数据分析场景.这类存储的局限性是数据无法进行随机 ...

  5. Update(Stage5):Kudu入门_项目介绍_ CDH搭建

    Kudu 导读 什么是 Kudu 操作 Kudu 如何设计 Kudu 的表 Table of Contents 1. 什么是 Kudu 1.1. Kudu 的应用场景 1.2. Kudu 和其它存储工 ...

  6. hadoop生态圈列式存储系统--kudu

    介绍 Kudu 是一个针对 Apache Hadoop 平台而开发的列式存储管理器.Kudu 共享 Hadoop 生态系统应用的常见技术特性: 它在 commodity hardware(商品硬件)上 ...

  7. Kudu vs HBase

    本文由  网易云发布. 背景 Cloudera在2016年发布了新型的分布式存储系统--kudu,kudu目前也是apache下面的开源项目.Hadoop生态圈中的技术繁多,HDFS作为底层数据存储的 ...

  8. Kettle系列:使用Kudu API插入数据到Kudu中

    本文详细介绍了在Kettle中使用 Kudu API将数据写入Kudu中, 从本文可以学习到:1. 如何编写一个简单的 Kettle 的 Used defined Java class.2. 如何读取 ...

  9. Kudu系列: Kudu主键选择策略

    每个Kudu 表必须设置Pimary Key(unique), 另外Kudu表不能设置secondary index, 经过实际性能测试, 本文给出了选择Kudu主键的几个策略, 测试结果纠正了我之前 ...

随机推荐

  1. mysql解决Fatal error encountered during command execution. 500内部错误

    Asp.net 连接mysql 会出现Fatal error encountered during command execution.的错误 解决办法如下: 连接字符串添加  Allow User ...

  2. BAT: 获取时间有空格问题

    最近在项目上需要把文件定时备份,用BAT文件来自动生成文件夹名,精确到秒: bat脚本时间设定如下: pushd E:\Test set T=%date:~0,10%-%time:~0,2%%time ...

  3. 2019 企叮咚java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.企叮咚等公司offer,岗位是Java后端开发,因为发展原因最终选择去了企叮咚,入职一年时间了,也成为了面试官 ...

  4. Vue+element 解决浏览器自动填充记住的账号密码问题

    我们在做form表单的时候,会发现,浏览器会自动的将我们之前保存的密码, 自动的填充到表单中input 为 type="password" 的框中 登录页面也就算了,但是注册页面就 ...

  5. 安恒Red Team 内部红蓝对抗框架

    0x00  准备钓鱼攻击(从公开资源) 1.常见的红队攻击向量和技术   2.常见的蓝队侦查和预防控制 0x02 发送钓鱼邮件(到目标组织员工邮箱地址) 1.常见的红队攻击向量和技术   2.常见的蓝 ...

  6. Git的下载安装

    下载地址:https://git-scm.com/download/win 命令: git add ...  ---将资源放到缓存区域 git commit  -m "提交说明"  ...

  7. day 67

    目录 Vue框架 Vue的简介 Vue的使用 插值表达式 文本指令 事件指令 属性指令 Vue框架 Vue的简介 Vue是一套构建用户界面的框架,与Angular.React两个框架相比,Vue吸取了 ...

  8. django framework插件使用1

    安装 REST框架要求以下内容: Python(3.5.3.6.3.7) Django(1.11.2.0.2.1.2.2) pip install djangorestframework pip in ...

  9. linux 下按照文件名模糊查找文件

    fnmatch int fnmatch(const char *pattern, const char *string, int flags); 参数说明 FNM_NOESCAPE 如果这个标志设置了 ...

  10. Alipay 支付类

    本版本参考网友 <?php namespace App\Tools; class Alipay { //应用ID,您的APPID. private $appID = '111'; //商户私钥 ...