技术标签: phoenix HBase基础 hbase dbeaver
更新Hbase的数据:
先查看原始Hbase里面的数据情况
hbase(main):012:0> scan "Gadaite"
ROW COLUMN+CELL
001 column=F1:F11, timestamp=1649858571999, value=F1.F11
001 column=F1:F12, timestamp=1649858578171, value=F1.F12
001 column=F1:_0, timestamp=1649858592283, value=
001 column=F2:F21, timestamp=1649858584519, value=F2.F21
001 column=F2:F22, timestamp=1649858592283, value=F2.F22
002 column=F1:F11, timestamp=1649858599071, value=G1.G11
002 column=F1:F12, timestamp=1649858606288, value=G1.G12
002 column=F1:_0, timestamp=1649858619587, value=
002 column=F2:F21, timestamp=1649858613258, value=G2.G21
002 column=F2:F22, timestamp=1649858619587, value=G2.G22
2 row(s)
Took 0.0368 seconds
与标准sql的insert不同,这里是使用upsert
查询结果,同时hbase shell也更新了:
UPSERT INTO "Gadaite"("rowkey",F11,F12,F21,F22) VALUES('003','B11','B1.B12','B2.B21','B2.B22');
SELECT * FROM "Gadaite" ;
hbase对比发现之前数据的时间戳timestamp并没有发生变化的
hbase(main):013:0> scan "Gadaite"
ROW COLUMN+CELL
001 column=F1:F11, timestamp=1649858571999, value=F1.F11
001 column=F1:F12, timestamp=1649858578171, value=F1.F12
001 column=F1:_0, timestamp=1649858592283, value=
001 column=F2:F21, timestamp=1649858584519, value=F2.F21
001 column=F2:F22, timestamp=1649858592283, value=F2.F22
002 column=F1:F11, timestamp=1649858599071, value=G1.G11
002 column=F1:F12, timestamp=1649858606288, value=G1.G12
002 column=F1:_0, timestamp=1649858619587, value=
002 column=F2:F21, timestamp=1649858613258, value=G2.G21
002 column=F2:F22, timestamp=1649858619587, value=G2.G22
003 column=F1:F11, timestamp=1649861421663, value=B11
003 column=F1:F12, timestamp=1649861421663, value=B1.B12
003 column=F1:_0, timestamp=1649861421663, value=x
003 column=F2:F21, timestamp=1649861421663, value=B2.B21
003 column=F2:F22, timestamp=1649861421663, value=B2.B22
3 row(s)
Phoenix中不存在update的语法关键字,而还是upsert ,功能上替代了Insert+update
UPSERT INTO "Gadaite" ("rowkey" ,F11) VALUES ('003','BBA');
SELECT * FROM "Gadaite" ;
输出结果:
同时,hbase shell中更新过的时间戳会发生改变,该条数据未更新字段的时间戳则不会发生改变
hbase(main):015:0> scan "Gadaite"
ROW COLUMN+CELL
001 column=F1:F11, timestamp=1649858571999, value=F1.F11
001 column=F1:F12, timestamp=1649858578171, value=F1.F12
001 column=F1:_0, timestamp=1649858592283, value=
001 column=F2:F21, timestamp=1649858584519, value=F2.F21
001 column=F2:F22, timestamp=1649858592283, value=F2.F22
002 column=F1:F11, timestamp=1649858599071, value=G1.G11
002 column=F1:F12, timestamp=1649858606288, value=G1.G12
002 column=F1:_0, timestamp=1649858619587, value=
002 column=F2:F21, timestamp=1649858613258, value=G2.G21
002 column=F2:F22, timestamp=1649858619587, value=G2.G22
003 column=F1:F11, timestamp=1649862440389, value=BBA
003 column=F1:F12, timestamp=1649861421663, value=B1.B12
003 column=F1:_0, timestamp=1649862440389, value=x
003 column=F2:F21, timestamp=1649861421663, value=B2.B21
003 column=F2:F22, timestamp=1649861421663, value=B2.B22
3 row(s)
Took 0.0228 seconds
DELETE FROM "Gadaite" WHERE "rowkey" = '001';
SELECT * FROM "Gadaite" ;
输出结果:
同时hbase shell对应数据也进行删除,剩下数据的时间戳却是没有发生变化的
hbase(main):016:0> scan "Gadaite"
ROW COLUMN+CELL
002 column=F1:F11, timestamp=1649858599071, value=G1.G11
002 column=F1:F12, timestamp=1649858606288, value=G1.G12
002 column=F1:_0, timestamp=1649858619587, value=
002 column=F2:F21, timestamp=1649858613258, value=G2.G21
002 column=F2:F22, timestamp=1649858619587, value=G2.G22
003 column=F1:F11, timestamp=1649862440389, value=BBA
003 column=F1:F12, timestamp=1649861421663, value=B1.B12
003 column=F1:_0, timestamp=1649862440389, value=x
003 column=F2:F21, timestamp=1649861421663, value=B2.B21
003 column=F2:F22, timestamp=1649861421663, value=B2.B22
2 row(s)
Took 0.0330 seconds
文章浏览阅读3.4k次,点赞3次,收藏4次。安装ansible遇到的问题,望大神指点_nothing provides python(abi) = 3.11 needed by ansible-7.2.0-1.el8.noarch
文章浏览阅读1.7k次。导读: 在最开始的编程过程中,最常出现的错误就是LNK2001这个错误,究其原因,其实一句话可以解释:当程序调用函数(function1)时,没有找到function1具体的实现部分。最常见的例子和解释:main or winmain函数:应该是选择工程类型的时候有错误,因为系统会根据subsystem的选项来决定调用main或winmain作为程序的入口函数,如果是console,会选择
文章浏览阅读1k次,点赞6次,收藏28次。哈喽,大家好,我是爱学习的莫提。从大二就开始接触并使用IDEA这款软件,现在它同样是我工作中的主力开发工具。对于Java开发人员来说,掌握这款软件的基本使用也已经是必备的工作技能。这款软件相比于Eclipse来说也是有非常多的优点,更加的高效,也更加的稳定。IDEA的插件市场也是非常的丰富!吸引了非常多的开发者从Eclipse来过渡到IDEA,那么正所谓「工欲善其事,必先利其器」,经过我这几年的使用,以及工作之后和同事的一些交流分享。我总结出了很多可以让我们的使用体验和开发效率得到很大程度提升的。_鲁班大叔 maven插件
文章浏览阅读623次。Oracle SQL Loader 的详细语法 SQL*LOADER 是 ORACLE 的数据加载工具,通常用来将操作系统文件迁移到 ORACLE 数据库中。 S_sqlldr941
文章浏览阅读2.9k次,点赞6次,收藏10次。大家好,我是无际。最近有一些做机械的朋友找到我,说嵌入式好不好学。深度聊完以后,我抓到了他们的几个吐槽点,行业过于传统,工资低,没前途,工作环境恶劣。看到身边那些做了10年的才1万块出头,心都凉了。如果不是看不到希望,谁也不会轻易冒险转行,毕竟付出的代价太大啦。我做了嵌入式单片机开发10年,除了技术以外,我还领悟到了很多经验。一、嵌入式和机械哪个好?首先要告诉你的是,不管任何技术都好,本身只是工具,有没有前途其实最大的因素是你怎么用这个工具去创造价值。做嵌入式开发也一样,_机械转嵌入式那个方向好
文章浏览阅读7.3k次,点赞3次,收藏5次。RN中文网关于原生模块(Android)的介绍可以看到,RN前端与原生模块之间通信,主要有三种方法:1)使用回调函数Callback,它提供了一个函数来把返回值传回给JavaScript。2)使用Promise来实现。3)原生模块向JavaScript发送事件。关于使用回调,这是最简单的一种通信,这里可以看看官网的实现,今天要讲的是滴三种由原生模块向JavaScript发送事件。(1)首先,你需要_react native promise 原生通信
文章浏览阅读251次。近日在帮朋友做远程的时候发现Virtualbox 已经更新到4.1版本了(有点out.之前用的4.0.12)一开始觉得里面应该跟以往更行一样没多大改善,就修复几个bug而已! 但是我点进去才发现 变化可不小哦! 1、支持虚拟机的克隆; 2、改进了创建虚拟磁盘和复制虚拟磁盘的GUI界面; 3、64位主机的内存限制提升到1TB; 4、支持Linux主机下的PCI ..._virtualbox 4.1
文章浏览阅读1.5w次,点赞3次,收藏12次。注意与常用逻辑运算符的区别位运算符常用逻辑运算符按位与:& 与:&& 按位或:| 或:||按位异或:^ 非:!非运算:~按位与&:其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二_c需要按位非
文章浏览阅读471次。IDA打开在sub_140001380发现主函数然后在字符串里发现有东西双击跟进发现a0有东西,估计是个迷宫题。看代码` char v9; // dlCHAR *v10; // rcxv2 = a2;if ( *(_DWORD *)(a2 + ‘0’) >= 0 ){v3 = *(_QWORD *)(a2 + 24);v4 = *(_QWORD *)(a2 + 56) >> 3;if ( (_DWORD)v4 ){v5 = dword_1400030E4;_do { *(_dword *)(((unsigned int)v7 & 0xfffffffc) + v4) = 0; v4 += 4; } while
文章浏览阅读5.8k次,点赞4次,收藏33次。原文地址:https://blog.csdn.net/to_baidu/article/details/53649796步骤一:登录界面设计首先在VS中设计一个简单的登录界面,点击【资源视图】,然后右键【Dialog】,选择【添加资源】——【Dialog】——【新建】,这样就创建了一个新的空白对话框。可以按自己的需要更改窗口的ID,并根据自己需要将窗口设计成登录的方式,例如我的设计如下: ..._mfc制作密码登录页面
文章浏览阅读243次。说到事物的四大特性原子性、一致性、隔离性、持久性,懂的人很多,但是稍微涉及细节,四大特性在数据库中的实现原理是怎么实现的?几乎很少有人能够答上来。所以这里着重讨论下mysql中的实现原理。问题一:Mysql怎么保证一致性的?OK,这个问题分为两个层面来说。从数据库层面,数据库通过原子性、隔离性、持久性来保证一致性。也就是说ACID四大特性之中,C(一致性)是目的,A(原子性)、I(隔离性)、D(持久性)是手段,是为了保证一致性,数据库提供的手段。数据库必须要实现AID三大特性,才有可能实现一致性_acid原理
文章浏览阅读1.5k次。服务搭建:基于docker-compose搭建单机版skywalking:docker-compose.yml文件内容version: '3.5'services: elasticsearch: image: elasticsearch:${ES_TAG} container_name: elasticsearch restart: always ports: - 9200:9200 environment: dis_springboot集成skywalking docker