首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Lansonli技术博客

    大数据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.7K91编辑于 2022-12-21
  • 来自专栏Lansonli技术博客

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

    以上业务系统,既要求对数据进行随机读写,又要求对数据进行批量分析操作,针对以上业务场景我们就可以选择Kudu。 一、​​​​​​​Kudu概念Kudu是Cloudera在2015年9月开源的分布式数据存储引擎,其结合了HDFS和HBase的优势,可以同时提供高效的随机访问以及数据扫描能力。 Kudu支持数据的实时插入和分析,为实时的OLAP计算提供了另外一种选择。 Kudu的随机读写速度和HBase相似,但是达不到HBase随机读写性能,Kudu批量查询数据性能媲美HDFS parquet,但是比HDFS批量查询慢,所以kudu更像是HDFS与HBase的一个折中选择 二、Kudu 适用场景Kudu适用于以下场景:对数据既支持扫描(scan)又支持随机访问(random access)同时具有高性能,简化用户复杂的混合架构场景。数据需要更新,避免额外的数据迁移。​

    4.1K121编辑于 2022-11-28
  • 来自专栏Lansonli技术博客

    大数据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编辑于 2022-11-29
  • 来自专栏Lansonli技术博客

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

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

    1.6K102编辑于 2022-12-21
  • 来自专栏Lansonli技术博客

    大数据Kudu(九):Spark操作Kudu

    ​Spark操作Kudu一、​​​​​​​​​​​​​​添加Maven依赖使用SparkSQL操作Kudu,这里需要导入Kudu与SparkSQL整合的包和SparkSQL的包,在Maven中导入如下依赖 --添加kudu-spark 依赖--><dependency> <groupId>org.apache.kudu</groupId> <artifactId>kudu-spark2_2.11 ,KUDU_TABLE) /** * 查询Kudu表数据 */// queryData(kuduContext,sc,KUDU_TABLE) /** * 向Kudu表更新数据 */// updateData(session,kuduContext,KUDU_TABLE) /** * 删除Kudu表中的数据 */ ).mode(SaveMode.Append).format("kudu").save()//再次查询Kudu表 t_spark_kudu 数据session.read.options(kuduOptionMap

    1.4K112编辑于 2022-12-21
  • 来自专栏Lansonli技术博客

    大数据Kudu(四):Kudu集群搭建

    Kudu集群搭建一、kudu 安装包Kudu官网没有提供好编译好的Kudu安装包,我们可以下载源码进行编译获取安装包,这里为了方便我们直接使用Cloudera 提供的CDH版本kudu安装包:centos7 下载地址:http://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/5/RPMS/x86_64/下载对应如下几个rpm安装包即可:kudu-1.4.0+ :service kudu-tserver start2、检查kudu是否启动成功在每台节点可以执行“ps aux|grep kudu”来查看对应的Kudu进程。 如果启动Kudu出错或者没有对应的Kudu进程,可以在/var/log/kudu目录下查看日志。 3、访问Kudu WebUI页面Kudu启动成功后,可以通过访问http://Master Server IP:8051来访问Kudu WebUI。

    1.5K51编辑于 2022-12-17
  • 来自专栏Lansonli技术博客

    大数据Kudu(十):Flink操作Kudu

    ​Flink操作KuduFlink主要应用场景是流式数据处理上,有些公司针对流式数据使用Flink实时分析后将结果存入Kudu,例如快手公司。 这里将实时计算的结果存入Kudu需要自定义Flink Kudu Sink。 场景:Flink实时读取Socket数据,将结果存入Kudu表t_flink_result,为了方便操作不再创建Kudu外表,这里在Impala中创建Kudu内表t_flink_result:create 对象 var kuduClient :KuduClient = _ //Kudu 表对象 var kuduTable :KuduTable = _ //创建KuduSession 客户端会话 var session: KuduSession = _ //初始化时调用一次,这里初始化连接Kudu的对象 override def open(parameters: Configuration)

    1.4K91编辑于 2022-12-30
  • 来自专栏Lansonli技术博客

    大数据Kudu(十一):ClickHouse与Kudu对比

    ClickHouse与Kudu对比kudu 2015年9月28号出现第一个测试版本0.5.0,2016年2月26第一个正式版0.7.发布。clickhouse 2018年3月开源正式版出现。 元数据管理Kudu使用Master Server管理元数据。ClickHouse使用Zookeeper管理元数据。 SQL支持Kudu不支持标准SQL,有put,get等api代码操作;与Impala整合后支持SQL操作。ClickHouse对于标准SQL的支持相对完好。 Kudu对数据快速读取和快速插入数据的场景支持比较好,原子数据查询延迟低,与Impala整合可以做OLAP操作。 扩展性Kudu由于Tablet Server的特殊结构,扩展性差,支持300个节点。ClickHouse集群节点无上限。

    1.2K51编辑于 2022-12-30
  • 来自专栏Lansonli技术博客

    大数据Kudu(三):Kudu读写数据过程

    Kudu读写数据过程一、写入数据当 Client 请求写数据时,先根据主键从 Mater Server 中获取要访问的目标 Tablets,然后到对应的 Tablet 获取数据。 因为 KUDU 表存在主键约束,所以需要进行主键是否已经存在的判断。一个 Tablet 中存在很多个 RowSets,为了提升性能,我们要尽可能地减少要扫描的 RowSets 数量。

    99642编辑于 2022-12-07
  • 来自专栏chimchim要努力变强啊

    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

    1.1K30编辑于 2023-10-17
  • 来自专栏Lansonli技术博客

    大数据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编辑于 2022-12-21
  • 来自专栏Lansonli技术博客

    大数据Kudu(五):Kudu基于Cloudera Manager安装及配置

    Kudu基于Cloudera Manager安装及配置使用Kudu一般都会和impala进行整合,impala与Hive是强依赖关系,需要安装Hive,安装Hive需要安装HDFS等,以上各个技术组件的版本都需要对应匹配 ,由于Kudu没有直接的安装包,为了方便我们可以选择基于Cloudera Manager进行安装Kudu及相关大数据组件。 start cloudera-scm-agent#登录Cloudera Manager user:admin pwd:adminhttp://cm1:7180二、登录ClouderaManager平台安装Kudu 三、选择Master Server 两台节点和Tablet Server 3台节点四、配置Kudu WAL目录和数据目录等待安装完成即可,可以通过Cloudera Manager 界面来访问Kudu

    1K93编辑于 2022-12-20
  • 来自专栏ClickHouse

    Apache Kudu 架构

    一设计架构篇 1 Kudu 详解 Kudu介绍:Kudu集HDFS的顺序读和HBASE的随机读于一身,同时具备高性能的随机写,以及很强大的可用性(单行事务,一致性协议),支持Impala spark Kudu Tablet Server Hard Memory Limit Kudu的Tablet Server能使用的最大内存。 Minitump可以通过电子邮件发送给Kudu开发人员或附加到JIRA,以帮助Kudu开发人员调试崩溃。为了使其有用,开发人员将需要知道Kudu的确切版本和发生崩溃的操作系统。 在Impala中查询现有的Kudu表:Impala中创建映射Kudu表的外部映射表通过Kudu API或其他集成(如Apache Spark)创建的表在Impal中不会自动显示。 值,Kudu的做法是由Kudu内部来控制timestamp的写入。

    2.4K31编辑于 2022-03-27
  • 来自专栏ClickHouse

    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编辑于 2022-03-27
  • 来自专栏Hadoop实操

    Apache Kudu 1.8.0 发布

    10月26日,Kudu在其社区官宣了Kudu 1.8.0的正式发布。 2.添加了对Kudu Python客户端的IS NULL和IS NOT NULL谓词的支持。 3.改进多种工具从而简化诊断和故障排除。 具体参考: https://kudu.apache.org/releases/1.8.0/docs/release_notes.html Apache Kudu项目仅仅只是发布了源代码,要创建Kudu1.8 ,需要遵循以下2步: 1.下载Kudu的源代码: https://kudu.apache.org/releases/1.8.0/ 2.按照文档创建Kudu1.8: https://kudu.apache.org q=g:org.apache.kudu%20AND%20v:1.8.0 Python客户端的源码参考: https://pypi.org/project/kudu-python/

    98940发布于 2018-11-16
  • 来自专栏大数据杂货铺

    FAQ系列之Kudu

    Kudu 选择了面向列的存储格式,因为它主要针对分析用例。 没有什么可以阻止 Kudu 提供面向行的选项,它可以包含在潜在的版本中。 为什么要构建新的存储引擎Kudu? Apache Kudu 准备好部署到生产环境了吗? 是的!Kudu 已经在许多大公司的生产中进行了实战测试。 Kudu 是开源的吗? 除了培训之外,您还可以通过文档、邮件列表和Kudu 聊天室获得有关使用 Kudu 的帮助 。 有Kudu的快速入门吗? 是的。 Kudu 的快速入门指南中提供了有关通过基于 Docker 的快速入门在 Kudu 上启动和运行的 说明。 Kudu 如何存储其数据?底层数据存储不经过Kudu就可读吗? 已修改以利用 Kudu 存储的组件(例如 Impala)可能具有 Hadoop 依赖项。 Kudu和HDFS是什么关系?Kudu 需要 HDFS 吗? Kudu 是一个独立的存储系统。

    2.6K40发布于 2021-07-27
  • 来自专栏九州牧云

    Kudu异常总结

    1、impala不支持kudu表的关键字:PARTITIONED - LOCATION - ROWFORMAT(官方链接:Impala Keywords Not Supported for Kudu table. 2、kudu表的主键必须在建表语句中列的最前面,并且不为空,例如执行如下语句会报错: CREATE TABLE `t_scd_order_kudu_2` ( `id` bigint, ; 异常信息: ERROR: ImpalaRuntimeException: Error creating Kudu table 'impala::kudu_test.t_scd_order_kudu_ /m-p/52449) 3、kudu表的分区键必须为主键,例如执行如下语句会报错: CREATE TABLE `t_scd_order_kudu_time` ( `id` bigint, `order_no 节点改变后,impala配置文件中设置的kudu服务器地址不完全导致的,可以将/etc/default/impala中的kudu_master_hosts设置完全解决。

    2.5K31发布于 2019-08-21
  • 来自专栏大数据成神之路

    四万字硬刚Kudu | Kudu基础原理实践小总结

    Kudu基本架构 Kudu是典型的主从架构。一个Kudu集群由主节点即Master和若干个从节点即Tablet Server组成。 对于数据比较小且不断变化的数据(例如维表)通常全部存放到Kudu当数据不会超过Kudu的扩展范围限制,且能够从Kudu的独特功能中受益时(快速变化、快速分析),通常作为大表保存在Kudu。 1、Kudu写过程 Kudu与HBase不同,Kudu将写入操作分为两种,一种是插入一条新数据,一种是对一条已插入数据的更新。 使用Kudu后,用户行为数据会通过流式计算引擎写入Kudu,由Kudu完成数据更新操作。Kudu可以支持单点查询,也可以配合计算引擎做数据分析。 使用Kudu,可以利用NDC同步工具,将MySQL中数据实时同步导入Kudu,使Kudu内数据表和MySQL中的表保持数据一致。

    4K42发布于 2021-09-22
  • 来自专栏chimchim要努力变强啊

    Apache Kudu入门学习

    Apache Kudu 是一个开源分布式数据存储引擎,可以轻松地对快速变化的数据进行快速分析。 官网地址: Apache Kudu - Fast Analytics on Fast Data 二、背景 在 KUDU 之前,大数据主要以两种方式存储: 静态数据:以 HDFS 引擎作为存储引擎,适用于高吞吐量的离线大数据分析场景 Kudu的设计,就是试图在实时分析与随机读写之间,寻求一个最佳的结合。 在Cloudera发布的《Kudu: New Apache Hadoop Storage for Fast Analytics on Fast Data》一文中有提及,Kudu作为一个新的分布式存储系统也是为了进一步提升 默认情况下,kudu不压缩数据。通常情况下,压缩算法会提高空间利用率,但是会降低scan性能。 2、主键设计 同RDBMS一样,kudu的主键同样采用了唯一性约束。 一旦主键创建了之后便不能更改。

    59830编辑于 2023-10-17
  • 来自专栏Flink 实践

    Oceanus Kudu Sink总结

    实时即未来,最近在腾讯云Oceanus进行实时计算服务,以下为flink写入Kudu实践中的总结。分享给大家~ kudu的架构依赖于Hadoop体系,一般具有3个masterServer。 外部表(CREATE EXTERNAL TABLE)不受Impala管理,并且删除此表不会将表从其源位置(此处为Kudu)丢弃。只会去除Impala和Kudu之间的映射。 常用命令 cd /usr/local/service/kudu/bin # 查看kudu所有表 . /kudu table scan master01,master02,master03 yourTableName 注意事项: Kudu 使用Impala创建新表时,它通常是内部表,并且在Kudu中存储时带有 不过可以将kudu中的表映射到impala中: CREATE EXTERNAL TABLE kudu_name STORED AS KUDU TBLPROPERTIES ( 'kudu.master_addresses

    1.6K30发布于 2021-07-12
领券