java cassandra数据类型对照

java:Cassandra入门与实战——上 一、数据存储方式和NoSQL 1.1 数据存储方式 互联网时代各种数据存储方式层出不穷,有传统的关系性数据库如:MySQL、Oracle等,;有全文检索框架如:ElasticSearch、Solr;有NoSQL如:Cassandra、Redis 这些存储方式的特点: 关系型数据库:支持事务,二级索引,SQL语句,支持主从架。 全文检索:分布式,p2p架构,不支持事务,采用倒排索引提供全文检索。 NoSQL:一般基于内存,支持分布式,面向列,不支持SQL。 1.2 NoSQL概述 NoSQL,泛 阅读详情






在 Cassandra 的通信契约文件( cassandra.thrift )中定义了 Cassandra 使用的所有数据类型,这些数据类型对应于我们之前讲到的数据模型中的各个 概念,比如 Column 、 ColumnFamily等。我们将分别根据 Java 编程接口讲解每一种数据类型。

 

3.2.1  Column

Column 是 Cassandra 中是最基本的存储单元,用于存储某一行的信息。

Column 在 cassandra.thrift 中的定义如下:

struct Column {

 1 : required binary name,

 2 : required binary value,

 3 : required i64 timestamp,

}

Column 的 name 和 value 的类型都是 byte ,其中 name 用于存储列的名称, value 用于存储列的值, timestamp 用于存储列被更新的时间,类型为 long 。

 

3.2.2  SuperColumn

SuperColumn 是在 Super 类型的 ColumnFamily 中存储数据的单元, SuperColumn 中将包含多个Column 。

SuperColumn 在 cassandra.thrift 中的定义如下:

struct SuperColumn {

 1 : required binary name,

 2 : required list<Column> columns,

}

SuperColumn 中, name 用于存储 SuperColumn 的名称,类型为 byte , columns 是存储Column 的数组。

 

3.2.3  ColumnOrSuperColumn

ColumnOrSuperColumn 在 cassandrathrift 中的定义如下:

struct ColumnOrSuperColumn {

 1 : optional Column column,

 2 : optional SuperColumn super_column,

}

正如名字所描述的那样, ColumnOrSuperColumn 既可以是一个 Column ,也可以是一个SuperColumn 。它的 column 字段和 super_column 中只能一个有值。

由于 Cassandra 所提供的接口中,返回的值可能是 Column 也可能是 SuperColumn ,所以使用ColumnOrSuperColumn 的类型,我们只需要判断究竟是哪个字段有值即可。

 

3.2.4  ColumnParent

ColumnParent 在 cassandra.thrift 中的定义如下:

struct ColumnParent {

 3 : required string column_family,

 4 : optional binary super_column,

}

我们可以将 ColumnParent 理解为文件系统中的一个目录,如果希望查找某一个 key 对应的value 中, ColumnFamily 所有的值,只要指定 column_family 字段就可以了。如果我们希望查找某一个 SuperColumn 的所有值,我们不仅需要指定 column_family 字 段,还需要指定super_column 字段。

 

3.2.5  ColumnPath

ColumnPath 在 cassandra.thrift 中的定义如下:

struct ColumnPath {

 3 : required string column_family,

 4 : optional binary super_column,

 5 : optional binary column,

}

我们可以将 ColumnPath 理解为文件系统中的一个具体文件,如果希望查找某一个 key 对应的value 中某一个 ColumnFamily 的某一个 Column 的值,我们需要指定 column_family 字段和column 字段。如果我们希望查找某一个 SuperColumn 中某一个 Column 的值,我们不仅需要指定column_family 字段和 super_column 字段,还需要指定 column 字段。

 

3.2.6  SliceRange

SliceRange 在 cassandra.thrift 中的定义如下:

struct SliceRange {

 1 : required binary start,

 2 : required binary finish,

 3 : required bool reversed=0,

 4 : required i32 count=100,

}

当我们查询某一个 Key 下面的 Value 的时候,可以通过 SliceRange 来指定需要返回的 Column规则。

其中, start 字段代表按照 ColumnFamily 定义的排序规则需要返回的第一个 Column 名称,finish 字段代表按照 ColumnFamily 定义的排序规则需要返回的最后一个 Column 名称,reversed 字段代表返回的 Column 集合的顺序,如果为 false ,则为顺序返回;如果为 true ,则为逆序返回,默认为顺序返回。最后一个字段 count 代表返回的结果中 Column 的最大个数,默认为 100 个,如果实际的 Column 数量小于 count ,则返回实际的 Column 数量。

假设我们希望返回某一个 Key 下面的所有 Column ,那么将 start 和 finish 都设置为ArrayUtils.EMPTY_BYTE_ARRAY ,将 counter 设置为 Integer.MAX_VALUE 即可。

 

3.2.7  SlicePredicate

SlicePredicate 在 cassandra.thrift 中的定义如下:

struct SlicePredicate {

 1 : optional list<binary> column_names,

 2 : optional SliceRange slice_range,

}

当我们查询某一个 Key 下面的 Value 的时候,可以通过 SlicePredicate 来指定需要返回哪些Column 。

如果希望返回某几个具体的 Column ,那么指定 column_names 字段的值就可以了。如果希望按照某一个规则返回相应的 Column ,那么指定 slice_range 字段就可以了。

 

3.2.8  Deletion

Deletion 在 cassandra.thrift 中的定义如下:

struct Deletion {

 1 : required i64 timestamp,

 2 : optional binary super_column,

 3 : optional SlicePredicate predicate,

}

如果希望在 Cassandra 中删除某一个 Key 中的 Column ,只需要指定 timestamp 字段和predicate 字段即可。如果希望删除 Key 中的 SuperColumn 下的 Column ,不仅需要指定timestamp 字段和 predicate 字段,还需要指定需要删除的 super_column 字段。其中,指定的timestamp 字段为当前的系统时间即可。

 

3.2.9  Mutation

Mutation 在 cassandra.thrift 中的定义如下:

struct Mutation {

 1 : optional ColumnOrSuperColumn column_or_supercolumn,

 2 : optional Deletion deletion,

}

在 Cassandra 中,所有的操作分为两种类型:修改和删除。其中,修改又可以分为插入和修改。我们对 Cassandra 中数据的所有修改都使用 Mutation 来操作。如果是插入新的数据,只需要指定 column_or_supercolumn 字段即可,如果是要修改现有的数据,也是直接指定column_or_supercolumn 字段。删除数据指定 deletion 字段即可。

 

3.2.10  KeyRange

KeyRange 在 cassandra.thrift 中的定义如下:

struct KeyRange {

 1 : optional string start_key,

 2 : optional string end_key,

 3 : optional string start_token,

 4 : optional string end_token,

 5 : required i32 count=100

}

Cassandra 不仅支持按照某一个规则查询 Key 下面的 Column 的值,还能够通过 KeyRange 指定一个规则去查询一批 Key 的值。

KeyRange 提供两种查询方式:按照 Key 查询,在 start_key 和 end_key 字段中指定起始的 Key值即可;按照 token 查询,在 start_token 和 end_token 字段中指定其中的 token 值即可。

这里需要注意的是范围:如果指定 start_key=keyX , end_key=keyX ,那么返回的只有 Key 为keyX 的值;如果指定 start_token=tokenY , end_token=tokenY ,那么会返回所有的 Key 值。

 

3.2.11  KeySlice

KeySlice 在 cassandra.thrift 中的定义如下:

struct KeySlice {

 1 : required string key,

 2 : required list<ColumnOrSuperColumn> columns,

}

我们从 Cassandra 查询出来的结果使用 KeySlice 来保存。在 KeySlice 中,字段 key 用来保存返回结果的 Key 值, columns 字段用来保存这个 Key 下面的 column 的信息。

 

3.2.12  TokenRange

TokenRange 在 cassandra.thrift 中的定义如下:

struct TokenRange {

 1 : required string start_token,

 2 : required string end_token,

 3 : required list<string> endpoints,

}

我们可以根据 Token 在 Cassandra 查询数据。

通过 TokenRange ,我们在 start_token 和 end_token 字段指定开始和结尾的 Token ,并通过endpoints 字段指定需要查询的机器地址即可。

 

3.2.13  AuthenticationRequest

AuthenticationRequest 在 cassandra.thrift 中的定义如下:

struct AuthenticationRequest {

 1 : required map<string,string> credentials,

}

AuthenticationRequest 包含了我们录入 Cassandra 的信息,其中 credentials 字段的 key 为用户名, credentials 字段的 value 为用户密码。

 

3.2.14  ConsistencyLevel

ConsistencyLevel 在 cassandra.thrift 中的定义如下:

enum ConsistencyLevel {

 ZERO=0,

 ONE=1,

 QUORUM=2,

 DCQUORUM=3,

 DCQUORUMSYNC=4,

 ALL=5,

 ANY=6,

}

在 Cassandra 的读取过程中,支持的一致性级别为 ONE 、 QUORUM 和 ALL 。

假设我们的数据备份级别为 3 ,会有以下三种结果:

1 ) 如果读取级别为 ONE ,那么只要读取到 3 份数据中的 1 份数据就会返回结果。

2 ) 如果读取的级别为 QUORUM ,那么需要读取到 3 份数据中的 2 份数据才会返回结果。

3 ) 如果读取的级别为 ALL ,那么需要读取到所有的 3 份数据才会返回结果。

在 Cassandra 的写入过程中,支持的一致性级别为 ZERO 、 ANY 、 ONE 、 QUORUM 和 ALL 。

假设我们的数据备份级别为 3 ,会有以下 5 种结果:

1 ) 如果写入级别为 ZERO ,那么只要 Cassandra 接受到这个写入请求后,就算写入成功,Cassandra 会在后台完成整个写入过程。

2 ) 如果写入级别为 ANY ,只要有任意 1 台 Cassandra 完成了写入操作(包括 hint 写入),就算写入成功。

3 ) 如果写入级别为 ONE ,只要有 1 台负责该数据的 Cassandra 完成了写入操作,就算写入成功。

4 ) 如果写入级别为 QUORUM ,只要有 2 台负责该数据的 Cassandra 完成了写入操作,就算写入成功。

5 ) 如果写入级别为 ALL ,需要 3 台负责该数据的 Cassandra 都完成了写入操作,才能算写入成功。

 

3.2.15  NotFoundException

NotFoundException 在 cassandra.thrift 中的定义如下:

exception NotFoundException {

}

如果在 Cassandra 中查询的值不存在,将抛出这个异常。

 

3.2.16  InvalidRequestException

InvalidRequestException 在 cassandra.thrift 中的定义如下:

exception InvalidRequestException {

 1 : required string why

}

如果我们进行了不可执行的操作,将抛出这个异常。比如,在读取数据的时候,使用的一致性级别为 ConsistencyLevel.ZERO 或者需要查询的数据为 column ,但是使用的查询规则为superColumn 。

 

3.2.17  UnavailableException

UnavailableException 在 cassandra.thrift 中的定义如下:

exception UnavailableException {

}

如果 Cassandra 在写入或者读取的过程中,发现需要操作的节点数少于实际存活的节点数,将抛出这个异常。

比如我们 Cassandra 的数据备份级别为 3 ,选择的读取级别为 QUORUM ,那么要是实际包含这 3份数据的机器中,只有一台在提供服务,其他两台机器无法提供服务,就会抛出UnavailableException 的异常。

 

3.2.18  TimedOutException

TimedOutException 在 cassandra.thrift 中的定义如下:

exception TimedOutException{

}

如果 Cassandra 在写入或者读取的过程中,执行时间超过了 RPC 的时间限制(默认为 30 秒钟),那么将抛出这个异常。

 

3.2.19  AuthenticationException

AuthenticationException 在 cassandra.thrift 中的定义如下:

exception AuthenticationException {

 1 : required string why

}

如果在登入 Cassandra 的过程中,用户名或者密码错误,将抛出这个异常。

 

3.2.20  AuthorizationException

AuthorizationException 在 cassandra.thrift 中的定义如下:

exception AuthorizationException {

 1 : required string why

} 如果在登入 Cassandra 的过程中,指定的 Keyspace 不存在,将抛出这个异常。

Apache Cassandra和Java:介绍如何在Java中连接和使用Apache Cassandra这款数据库 1. Apache Cassandra简介: 什么是Apache Cassandra Apache Cassandra的主要特点和优点 2. 安装和启动Apache Cassandra: 如何安装Apache Cassandra 启动并运行Cassandra服务 3. Cassandra Java Driver介绍: 什么是Cassandra Java Driver 如何安装和配置 4. 在Java中连接Cassandra: 创建Cluster实例 连接到Cassandra集群 错误处理和连接的关闭 阅读详情

相关推荐

Cassandra与Java的集成方法

1.背景介绍 在大数据时代,数据的存储和处理成为了企业和组织中的重要问题。随着数据的增长,传统的关系型数据库已经无法满足高性能、高可用性和高扩展性的需求。因此,分布式数据库技术逐渐成为了主流。Apache Cassandra是一种分布式数据库,它具有高性能、高可用性和高扩展性等优点。Java是一种流行的编程语言,它在大数据领域中也被广泛应用。因此,了解

AI天才研究院 1139

Cassandra数据类型

如果Cassandra中内置的数据类型无法满足您的需求,您还可以使用自定义数据类型。例如,需要使用一个字段存储用户的地址信息,需要获取地址的邮编、街道等信息。cqlsh上述语句定义了address数据类型。需要注意的是,Cassandra中数据类型的定义是keyspace范围的,表明address数据类型只能在test_keyspace里面使用。如果您使用,可以看到address数据类型属于test_keyspace的一部分。cqlshcqlsh'home'{streetcqlsh。...

大痴小乙的博客 1230

Cassandra JDBC Wrapper:Datastax Java 驱动的扩展

Cassandra JDBC Wrapper为Cassandra数据库的操作提供了一层标准JDBC封装,支持诸如连接管理、数据查询和更新等核心操作。通过这种封装,开发者可以更加便捷地在Java应用中集成和使用Cassandra。// 示例代码:连接 Cassandra 数据库并进行数据查询通过上述示例代码,我们可以看到,通过Cassandra JDBC Wrapper,开发者可以像使用传统关系型数据库一样,使用Statement和ResultSet进行数据库查询操作。

weixin_35935514的博客 1087

Cassandra的数据类型

在Cassandra 的通信契约文件(cassandra.thrift )中定义了Cassandra 使用的所有数据类型,这些数据类型对应于我们之前讲到的数据模型中的各个 概念,比如Column 、ColumnFamily 等。我们将分别根据Java 编程接口讲解每一种数据类型。

华章IT官方博客 5734

SARScape实战:集成GACOS数据优化InSAR大气校正全流程

本文详细介绍了如何在SARScape软件中集成GACOS数据,以优化InSAR大气校正的全流程。通过实战步骤,从GACOS数据申请、下载、导入,到在单景干涉图和SBAS-InSAR流程中应用,有效剥离大气相位延迟,显著提升形变监测结果的精度与可靠性,实现从“雾里看花”到“拨云见日”的转变。

weixin_28419039的博客 402

UG NX 12.0零基础实战:从草图绘制到三维建模全流程解析

本文详细解析UG NX 12.0从草图绘制到三维建模的全流程,适合零基础用户快速掌握这款工业设计软件。内容涵盖界面设置、基础操作、草图技巧、拉伸旋转建模、布尔运算等核心功能,并通过机械零件实战案例演示完整设计流程,帮助读者系统学习UG NX 12.0的工业设计应用。

weixin_29261711的博客 1179

【Cassandra】数据类型和基础语法

1.cassandra的数据类型 CQL提供了一组丰富的内置数据类型,包括集合类型。除了这些数据类型,用户还可以创建自己的自定义数据类型。 (1)普通类型: (2)集合类型: list 列表(或称数组)是一个或多个有序元素的集合。 map 地图是键值对的集合。 set 集合是一个或多个元素的集合。 (3)自定义 2.键空间操作 -- 查看所有键空间 DESCRIBE KEYSPACES; --创建键空间 CREATE KEYSPACE test01 WITH replication = {'class'

清平乐的技术专栏 5022

算法竞赛入门到进阶 --- 完整学习路线(含知识点讲解)

前言: 咳咳,接触算法竞赛也有一年了,却从来都没有进行过一次系统的学习,稀里糊涂的就这么搞了半年,如今,我决定认认真真的进行一次系统的复盘。嗯嗯,先把大体路线列出来,然后往后每天搞几篇,可能大三能完成,可能永远也不能写完这些,我只能慢慢来,一起共勉吧。冲了!(主要是太菜了,不系统学习下,怕是铜牌都拿不到呀!) 算法竞赛入门到进阶一、sort函数自定义排序二、c++容器的使用1.vector动态数组2.stack栈3.queue队列4.list链表5.set集合6.map映射三、二进制子集生成四、bfs.

qq_43514659的博客 2万+

自定义Cassandra数据类型

在博客文章《 从Java连接到Cassandra》中 ,我提到了用Java 实现的Cassandra Java开发人员的一个优势是能够创建自定义 Cassandra数据类型 。 在这篇文章中,我将详细介绍如何执行此操作。 Cassandra具有许多内置的数据类型 ,但是在某些情况下,可能需要添加自定义类型。 通过扩展org.apache.cassandra.db.marshal.Abst...

最佳 Java 编程 770

使用fluent计算流噪声_Fluent能够做的事

刚接触到fluent的同学们,应该会比较好奇,fluent能够做些什么事情,和你的研究有没有关联,能不能达到你的目的?如果不弄明白这样一点,前期可能会做很多无用功。 fluent是计算流体力学的软件,是一个工具。这样一个工具发展至今,可以用来模拟的绝不只有流体力学。下面我们依次来说明。首先是流动,fluent提供了非常丰富的流动模型,不仅可以模拟层流,同样还可以模拟...

weixin_28717647的博客 4858

基于STM32设计的指针式电子钟与万年历(升级版)

这是基于STM32设计的一个指针式电子钟+万年历小项目,采用3.5寸的LCD屏显示时钟,日历、温度、天气,支持触摸屏调整设置时间,设置闹钟,查看日历等等。整体项目主要是技术点就是LCD屏的图形绘制。比如: 时钟的时针绘制、分针、秒针、表盘、日历绘制等等。

1万+

Cassandra Java数据类型对应

Cassandra Java 数据类型对应关系图表

大痴小乙的博客 812

Lammps实现单轴压缩-应力应变曲线以及弹性模量计算

Lammps实现单轴压缩-应力应变曲线以及弹性模量计算

Rockyoung 1万+

Cassandra在CQL语言数据类型与Java中数据类型对应关系

CQL类型 对应Java类型 描述 ascii String ascii字符串 bigint long 64位整数 blob ByteBuffer/byte[] 二进制数组 boolean boolean 布尔 counter long 计数器,支持原子性的增减,不支持直接赋值 decimal B

大数据技术杂谈 1814

《SOC架构-ARM架构-文档导读》-目录

小白请看“Armv8/Armv9架构从入门到精通”专栏。以翻译为主的,深度深度深度深度/深入深入深入 学习ARM架构的文章。

baron-周贺贺-代码改变世界ctw 2085

运行codex时出现登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013) 解决方案

的本质是Windows 系统端口保留策略而非代码 bug。推荐使用方案一(调整动态端口范围),一劳永逸解决。如果你安装了 Docker Desktop 或启用了 WSL2,调整端口范围后记得检查相关服务是否正常运行。

一键难忘的博客 4162

cassandra_自定义Cassandra数据类型

cassandra 在博客文章《从Java连接到Cassandra》中,我提到了用Java实现的Cassandra Java开发人员的一个优势是能够创建自定义Cassandra数据类型。 在这篇文章中,我将详细介绍如何执行此操作。 Cassandra具有许多内置数据类型,但是在某些情况下可能需要添加自定义类型。 通过扩展org.apache.cassandra.db.marshal.Abstr...

cunfen8879的博客 628

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java:Cassandra入门与实战——下

六、JAVA户端操作Cassandra 在第五章,我们使用Cassandra的命令操作Cassandra数据库,本章我们介绍使用JAVA客户端连接Cassandra,操作数据 6.1 JAVA客户端介绍 Cassandra有众多的JAVA客户端,目前比较流程的都是不同公司开源的客户端,如:Netfix的astyanax,datastax的java-driver,hector,以及Spring Data for Apache Cassandra。 在github中搜索cassandra,可以看都响

黑马程序员官方博客 4032

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

cassandra的数据类型

cassandra从一开始只支持BytesType比较器,到现在cassandra1.2支持的类型已经越来越多了,基本上都在org.apache.cassandra.db.marshal包下面。所有的比较器基本上都是继承AbstractType.java抽象类的。 1、单列类型 单种类型的Type,主要实现有Ascii,Boolean,Bytes,Date,Decimal,Double

avrilwu的专栏 2051

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java查询cassandra,Cassandra 2.1 数据查询语法。

1,官方文档,基本类型数据查询语言文档:cql 支持的数据类型:相对于 MySQL,有几个类型比较有意思,uuid类型,map,list,set类型,这个优化关联查询,直接将List存入一条记录。CQL TypeConstantsDescriptionasciistringsUS-ASCII character stringbigintintegers64-bit signed longblobb...

weixin_28909303的博客 685

从Java连接到Cassandra

在我的帖子Hello Cassandra中 ,我研究了如何下载Cassandra NoSQL数据库并使用cqlsh连接到Cassandra数据库。 在本文中,我将介绍从Java客户端连接到Cassandra数据库的基础知识。 尽管有几种可用于从Java访问Cassandra数据库的 框架 ,但我将在本文中使用DataStax Java Client JAR 。 GitHub上提供了适用于...

最佳 Java 编程 1528

Thingsboard学习之Cassandra集群搭建

1,前提:需在主机上安装好Java 2.下载Cassandra,建议使用稳定的高版本,下载地址为: http://cassandra.apache.org/download/ 3.执行解压操作: tar -xzvf apache-cassandra-3.11.7-bin.tar.gz 可创建cassandra数据存放文件夹,亦可采用默认 //可以根据磁盘情况设置这3个文件夹,但是要和cassandra.yaml里的相对应 mkdir /var/lib/cassandra/data mkdir /va

qq_30456559的博客 3005

cassandra

1.介绍 列存储数据库: 分布式存储的海量数据,键仍然存在,但是它们的特点是指向了多个列; 文档型数据库: 数据模型是版本化的文档,半结构的文档以特定的格式存储,比如:json。文档档型数据库可以看作是键值数据库的升级版 官网:cassandra.apache.org 使用场景: 数据写入操作密集、数据修改操作很少、通过主键查询、需要对数据进行分区存储 场景类型: 存储日志型数据库、类似物联网的海量数据、对数据进行追踪 配置环境变量CANSSANDRA_HOME; cassandra的

highly2009的博客 1898

Java操作Cassandra简单示范

java简单的直连cassandra,引入jar包 &lt;dependency&gt; &lt;!--&lt;groupId&gt;com.datastax.cassandra&lt;/groupId&gt;--&gt; &lt;!--&lt;artifactId&gt;cassandra-driver-core&lt;/artifactId&gt;--&gt

Zzhou1990的博客 2388

Cassandra-Loader:一款强大的Cassandra数据导入工具

Cassandra-Loader:一款强大的Cassandra数据导入工具 Cassandra-Loader 是一个开源项目,旨在为 Apache Cassandra 数据库提供一个功能强大的数据导入工具。该项目主要使用 Java 语言开发。 项目基础介绍 Cassandra-Loader 是一个通用的分隔文件批量加载器,支持多种配置选项,可以加载各种类型的分隔文件,包括逗号分隔值、制表符分隔值等...

gitblog_01161的博客 785

java 操作cassandra_java操作cassandra数据库(增删改查)

使用apache cassandra 的jar包进行操作。首先创建数据库首先启动cassandra,使用cassandra-cli 命令行工具执行下面两条命令:create keyspace usermanager;create column family users;然后创建一个maven项目maven pom文件内容如下:xsi:schemaLocation="http://maven.ap...

weixin_29416037的博客 617
上一篇: hdfs 实现ha
下一篇: ZKFailoverController( zkfc)介绍
rtnull
博客等级 码龄16年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值