Kudu初入门

article/2025/9/25 9:51:45

目录

介绍:

基础架构:

关于Tablet:

Kudu与Impala集成

安装Kudu

配置Impala支持Kudu:

使用案例:

创建表:

查询Impala中现有的Kudu表

使用CREATE TABLE AS SELECT语句查询Impala中的任何其他表或来创建表:

不支持Kudu表的Impala关键字:

将数据插入Kudu表:


参考—Apache-kudu官网-https://kudu.apache.org/overview.html

介绍:
 

 Apache kudu是为hadooop平台开放的柱状(列式)存储管理器。kudu拥有hadoop生态系统应用程序的常见技术:它在商用硬件上运行,可横向扩展,并支持高可用性操作。

kudu的好处:

1. 快速处理OLAP平台负载

2.与mapreduce,spark和其它hadoop生态系统组件集成

3.与impala紧密集成,使其成为Apache Parquent中使用HDFS的一个好的,可变的替换方案

4.强大但灵活的一致性模型,允许您根据每个请求选择一致性要求,包括严格可序列化的选项

5.同时运行顺序和随机负载的强大性能

6.易于管理和administer

7.高可用性,Tablet Servers and masters 使用Raft Consensus Algorithm,该算法可确保只要副本总数的一半以上Tablet Servers就可以进行读写操作。例如有3个副本中的2个副本,或者5个副本中的3个副本可用,就可以使用tablet Servers。即使在leader tablet 发生故障的时候read-only follower也可以为Reders提供读取服务。

基础架构:
 

kudu采用了Master-slave形式的中心节点架构,管理节点被称为Kudu Master,数据节点被称为Tablet Server(可以对比理解HBase中的RS)。一个表的数据被分割成1个或者多个Tablet,Tablet被部署在Tablet Server来提供数据读写服务。

kudu Master在Kudu集群中发挥着以下的作用:
 

1.用来存放一些表的schema信息,且负责处理建表等请求

2.跟踪管理集群中的所有Tablet Server,并且在Tablet Server异常之后协调数据的重新部署

3.存放Tablet到Tablet Server的部署信息。

关于Tablet:

Tablet和Hbase的Region大致相似,但存在以下以一些明显的区别点:

Tablet包含两种分区策略,一种是基于Hash Partition方式,在这种分区方式下用户数据可较均匀的分布在各个Tablet中,但原来的数据排序特点已被打乱。另外一种是基于Rang Partition方式,数据将按照用户数据指定的有序的Primary Key Columns的组合String 的顺序进行分区。而Hbase中仅仅提供了一种按用户数据Rowkey的Rang Partition方式。

Kudu建ç­

 Apache kudu官方架构图配图

Kudu与Impala集成

CREATE/ALTER/DROP TABLE

Impala支持使用Kudu作为持久层创建,更改和删除表,这些表遵循与Impala中其他表相同的内部/外部方法,允许灵活的数据提取和查询。

INSERT

可使用与任何其它Impala表相同的语法将数据插入Impala中的kudu表,例如使用HDFS或者HBASE进行持久化的表。

UPDATE / DELETE

Impala支持UPDATE 和 DELETE sql命令逐行或批量修改kudu表中的现有数据。选择SQL命令的语法与现有标准尽可能多的兼容。除了simple DELETE 或 UPDATE命令之外,还可以使用FROM子查询中的子句指定复杂链接。

--灵活的分区

与Hive中的表分区类似,Kudu允许您通过散列或者范围动态地将表预分割为预定义数量的平板电脑,以便在整个集群中均匀分配写入和查询。您可以按任意数量的主键列,任意数量的哈希值和可选的拆分列表进行分区。

---并行扫描

为了在现在硬件上实现最高性能,Impala使用的Kudu客户端在多个 Tablet Servers上并行扫描。

--高效查询

在可能的情况下,Impala将为此下推到Kudu,以便尽可能接近数据评估为此。在许多工作负载中,查询性能与Parquent相当。

安装Kudu

点击主机下面的Parcel:

点击Kudu对应的下载,之后点击分配,激活

回到首页-点击添加服务--选择kudu-选择继续--分配角色

设置master和Tablet的路径

配置Impala支持Kudu:

点击Impala,点击配置--找到kudu服务,选择kudu后重启Implala

使用案例:
 

创建表:

从Impala中在Kudu中创建一个新表类似于现有的Kudu表映射到Impala表,但需要自己指定模式和分区信息。

在CREATE TABLE 语句中,必须首先列出构成主键的列,此外,主键列隐式的标记为NOT NULL.

  创建新的Kudu表时们需要指定一个分配方案:

CREATE TABLE kudu_table(id INT,
name STRING,
PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU

查询Impala中现有的Kudu表

通过Kudu API或者其它集成(Spark等)创建的表不会再Impala中自动显示。要查询它们,必须在Impala中创建外部表以将Kudu表映射到Impala数据库中。

CREATE EXTERNAL TABLES my_mapping_table
STORED AS KUDU
TBLPROPERTIES ('kudu.table_name' = 'kudu中的tableName'
);

使用CREATE TABLE AS SELECT语句查询Impala中的任何其他表或来创建表:

以下示例在现有表old_table中的所有行导入到Kudu表new_table中。new_table中的列的名称和类型将根据SELECT语句的结果集中的列确定。

注意--------必须另外指定主键和分区。

CREATE TABLE new_table
PRIMARY KEY(id)
PARTITION BY HASH(id) PARTITIONS 8
STORED AS KUDU
AS SELECT id,name FROM old_table;

不支持Kudu表的Impala关键字:

创建Kudu表时不支持以下Impala关键字:
- PARTITIONED

- LOCATION

- ROW FORMAT

将数据插入Kudu表:
 

Impala允许使用SQL语句将数据插入Kudu表。但是不支持update操作修改主键的值。其它与标准的SQL语法相同。

 

 

 


http://chatgpt.dhexx.cn/article/ZDEZ8pgr.shtml

相关文章

kudu-- 分布式数据库

一、前言 近两年,KUDU 在大数据平台的应用越来越广泛。在阿里、小米、网易等公司的大数据架构中,KUDU 都有着不可替代的地位。本文通过分析 KUDU 的设计, 试图解释为什么 KUDU 会被广泛应用于大数据领域,因为还没有研究过 KUDU 的…

Apache Kudu的介绍

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

kudu compaction操作

与hbase相同,kudu也需要定期进行compaction操作。kudu中的compaction操作有两种,一是合并delta文件。二是将一个tablet中的多个diskRowset进行重排。下面分别对这两者进行介绍。 之前在kudu的update操作中讲到,update操作的数据会先写入delt…

Apache Kudo: 1.0版和未来 [session]

Strata Data Conference北京站大会还有一个月即将召开, 有需求的同学还请抓紧时间, 点击二维码即可登录会议官网报名。 Apache Kudo: 1.0版和未来 讲师:Hao Hao (Cloudera) 14:50–15:30 Friday, 2017-07-14 数据工程和架构 (Data engin…

kudu架构

课程链接: http://edu.51cto.com/course/15174.html 特点: High availability(高可用性)。Tablet server 和 Master 使用 Raft Consensus Algorithm 来保证节点的高可用,确保只要有一半以上的副本可用,该 …

Apache Kudu

前言    在Kudu出现前,由于传统存储系统的局限性,对于数据的快速输入和分析还没有一个完美的解决方案,要么以缓慢的数据输入为代价实现快速分析,要么以缓慢的分析为代价实现数据快速输入。随着快速输入和分析场景越来越多&…

Kudu的介绍及使用

前文: 过往采用Hive的离线处理时效性低,计算任务过于集中,查询效率低。SparkStreamingHive的数据清洗线使得多套数据流过于复杂。未来的数据仓库场景越来越趋向于实时数仓。 一、引入 二、架构图 2、架构及数据量 3、文件结构 4、目录结构 5…

Kudu简单使用

环境版本:CDH 6.3.2 | Impala 3.2.0 | Hive 2.1.1 | Hue 4.2.0 | kudu 1.10.0 # 创建kudu表,需指定主键、分区 CREATE TABLE kudu_table (id BIGINT,name STRING,PRIMARY KEY(id) ) PARTITION BY HASH PARTITIONS 16 STORED AS KUDU;# 创建impala外部表映…

Kurento

java相关代码:https://codeload.github.com/Kurento/kurento-tutorial-java/zip/refs/heads/master node相关代码:https://github.com/Kurento/kurento-tutorial-node WebRTC之Kurento:直播、视频通话、视频会议我都行! 前言 前段时间做rtsp无插件网页…

kudu介绍

kudu介绍 Kudu是运行在hadoop平台上的列式存储系统,拥有Hadoop生态系统应用的常见技术特性,运行在一般的商用硬件上,支持水平扩展,高可用。 kudu的优势 1)一个table由多个tablet组成,对分区查看、扩容和数据高可用支持非常好 2…

KUDU 介绍

前言 近两年,KUDU 在大数据平台的应用越来越广泛。在阿里、小米、网易等公司的大数据架构中,KUDU 都有着不可替代的地位。本文通过分析 KUDU 的设计, 试图解释为什么 KUDU 会被广泛应用于大数据领域,因为还没有研究过 KUDU 的代码…

KUDU(一)kudu概述

文章目录 概述使用场景对比其他存储Kudu基本架构Kudu中的相关概念和机制 概述 Kudu是一个分布式列式存储引擎/系统,由Cloudera开源后捐献给Apache基金会很快成为顶级项目。用于对大规模数据快速读写的同时进行快速分析 官网 https://kudu.apache.org/ Kudu运行在…

Kudu概述

Kudu是一个分布式的,具有可扩展性的列式存储管理器,可以对快速变化的数据进行快速分析。 使用场景 近实时计算场景时间序列数据的场景预测建模与存量数据共存既有随机读写/访问,又有批量扫描分析的场景(OLAP)HTAP混合事务分析处理场景Kudu作为持久层与Impala紧密集成的…

Kudo介绍 + Spark\Python\Scala开发Kudu应用程序

前半部分文章摘自:http://blog.csdn.net/a1043498776/article/details/72681890 Kudu的背景 Hadoop中有很多组件,为了实现复杂的功能通常都是使用混合架构, Hbase:实现快速插入和修改,对大量的小规模查询也很迅速HDF…

adb remount 挂载失败

打开cmd ,输入adb remount 挂载设备的时候失败,提示如下: 按照提示,输入adb root 再输入adb remount ,成功。

adb remount overlayfs的说明

在android R项目中执行adb remount的时候,能看到"Using overlayfs for xxx"的打印,类似如下: #adb root restarting adbd as root#adb remount Disabling verity for /system Using overlayfs for /system Disabling verity for /…

[高通SDM450][Android9.0]adb无法进行remount的解决方案

文章目录 开发平台基本信息问题描述解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 在调试开发的时候,执行remount可以获得更高的权限,对系统的一些应用或者文件进行删除或替换,达到快速调试的目的&…

adb remount

使用adb remount失败了,提示 如下图。 解决方法 先执行 adb root 然后 ctrlc, 然后再adb remount就成功了

Android 11 无法remount问题

问题描述: 在Android 11开发的时候,想快速调试把单独编译好的模块push 到 /system 目录下,结果发现remount failed C:>adb root restarting adbd as rootC:>adb remount Skipping /system for remount Skipping /vendor for remount S…

Android P(9.0) userdebug 版本执行adb remount失败

当你执行 adb remount 时会发现提示 remount of the / superblock failed: Permission denied remount failed 原因是android P 版本后 google 启用 avb(Android Verified Boot)2.0,verified boot and DM-verity默认启用策略发生了变化。详情如下: DM-V…