转载必须注明出处: http://www.codelast.com/ 遇到一例无法向HBase插入数据的问题,发现问题所在之后觉得超级雷人,特记录下来。 【1】 在写程序之前,先通过 hbase shell 来创建一张数据表: create 'test', {NAME = 'f', COMPRESSION = 'NONE', VERSIONS
转载必须注明出处:http://www.codelast.com/
遇到一例无法向HBase插入数据的问题,发现问题所在之后觉得超级雷人,特记录下来。
【1】在写程序之前,先通过 hbase shell 来创建一张数据表:
create 'test', {NAME => 'f', COMPRESSION => 'NONE', VERSIONS => '1', TTL => '5184000', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
这样,就创建了一张名为“test”的HBase表,其column family为“f”。
【2】写Java代码,用于向HBase表插入一条记录。代码如下:
import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.util.Bytes; import org.apache.log4j.Logger; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class HBasePutTest { private static Logger LOGGER = Logger.getLogger(HBasePutTest.class); private static List<put> list = new ArrayList<put>(); private static HTable tableTest = initHTableTest(); public static HTable initHTableTest() { HTable table = null; try { table = new HTable(new HBaseConfiguration(), "test"); } catch (IOException e) { LOGGER.error(e.toString()); } return table; } public static void main(String[] args) { Put put = new Put(Bytes.toBytes("abc")); put.add(Bytes.toBytes("f"), Bytes.toBytes("q"), 13399L, Bytes.toBytes("123")); list.add(put); try { tableTest.put(list); LOGGER.info("Successfully put 1 record into HBase."); } catch (Exception e) { LOGGER.error(e.toString()); } finally { list.clear(); } } } </put></put>
文章来源:http://www.codelast.com/
上面的代码,向HBase的“test”表插入了一条记录,row key为“abc”,value为“123”,column family为“f”,qualifier为“q”(即,column为“f:q”),记录的timestamp为13399(随便写的一个值)。
【3】代码看上去没有什么问题,因此,我们执行它,然后回到 hbase shell,查看一下记录是否被成功地插入了名为“test”的HBase表中:
get 'test', 'abc'
这表示从“test”表中取出row key为“abc”的所有记录。
结果竟然是:一条也没有。为什么?
【4】分析问题。在经过试验之后,发现将Java代码中,要插入记录的timestamp设置为当前时间,是可以成功向HBase插入记录的,于是终于发现,原来是:创建HBase表的时候,设置的那个TTL值,使得timestamp为13399的这条记录,就算是一插入了HBase表,也会被马上删除,所以用 hbase shell 根本看不到。
文章来源:http://www.codelast.com/
所以,调试时千万要注意测试环境中的陷阱。
原文地址:[原创]无法向HBase表插入数据的一个问题, 感谢原作者分享。

SQL中MINUS的用法及具体代码示例在SQL中,MINUS是一种用于在两个结果集之间执行差集操作的运算符。它用于从第一个结果集中删除与第二个结果集中相同的行。MINUS操作符返回的结果集将包含仅存在于第一个结果集中的行。下面通过具体的代码示例来演示MINUS的用法:假设有两个表-"table1"和"table2",它们的结构如下:表名:table1字段

SolutionYes,Wecaninsertnullvaluestoalisteasilyusingitsadd()method.IncaseofListimplementationdoesnotsupportnullthenitwillthrowNullPointerException.Syntaxbooleanadd(Ee)将指定的元素追加到此列表的末尾。类型参数E −元素的运行时类型。参数e −要追加到此列表的元

1、打开wps软件,进入wps文字的操作界面。2、在该界面内找到插入选项。3、点击插入选项,在其编辑区域内找到形状选项。4、点击形状选项,在其子级菜单那里找到推荐选项。5、在推荐选项内找到中国地图选项。6、点击中国地图选项,用鼠标左键在编辑输入区里拖拽,就得到了我们需要的中国地图。

随着大数据时代的到来,数据处理和存储变得越来越重要,如何高效地管理和分析大量的数据也成为企业面临的挑战。Hadoop和HBase作为Apache基金会的两个项目,为大数据存储和分析提供了一种解决方案。本文将介绍如何在Beego中使用Hadoop和HBase进行大数据存储和查询。一、Hadoop和HBase简介Hadoop是一个开源的分布式存储和计算系统,它可

提起华硕旗下的游戏本,大家最先想起来的肯定是玩家国度,但除了玩家国度这个高端系列的游戏本之外,华硕旗下还有飞行堡垒系列的主流游戏本,下面我们就一起来看看游戏玩家呼声最高的华硕飞行堡垒7怎么样。 华硕飞行堡垒7 华硕旗下的飞行堡垒系列笔记本,定位轻松畅玩大型游戏,主打坚固与耐用,一直以来都是大众游戏玩家、学生群体的热门之选。 基本配置 首先我们来了解下这台飞行堡垒7的一些核心配置吧,从配置表中看,最值得注意的就是AMDRyzen73750H+NVIDIAGeForceGTX1660Ti

我们得到了用于形成链表的整数值。任务是使用递归方法先插入然后遍历单链表。在末尾递归添加节点如果head为NULL→将节点添加到head否则添加到head(head→next)递归遍历节点如果head为NULL→退出否则打印(head→next)示例输入−1-2-7-9-10输出输出strong>−链表:1→2→7→9→10→NULL输入−12-21-17-94-18输出−链表:12→21→17→94→18→NULL下面程序中使用的方法如下在这种方法中,我们将使用函数添加节点并遍历单链表并递

修改md5后算原创吗在互联网时代,创作原创内容成为了一种重要的价值和资源。然而,随之而来的就是对原创性的质疑和侵权行为。为了防止盗版和抄袭,很多人尝试使用不同的方法来保护自己的原创作品。其中一种常用的方法就是使用MD5算法对作品进行修改,以此来达到“算法保护”的作用。MD5(MessageDigestAlgorithm5)是一种常用的消息摘要算法,它能

如何实现MySQL中插入多行数据的语句?在MySQL中,有时我们需要一次性插入多行数据到表中,这时我们可以使用INSERTINTO语句来实现。下面将介绍如何使用INSERTINTO语句来插入多行数据,并给出具体的代码示例。假设我们有一个名为students的表,包含id、name和age字段,现在想要一次性插入多条学生的信息,我们可以按照以下步骤来实现:


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器