如何在hbase中表示外键映射

请有人帮助我了解Hbase如何在内部工作 列的值是否可以引用另一个表的键 例如: 假设我有一个Student表,其中subjectId作为外键,Subject表的id作为主键,那么表示方式会是什么呢? 我们如何将学生和学科联系起来?有人请帮助我了解HBase的内部工作原理。 这是一件非常大的事情,在这里无法完全解释。请参考链接了解更多详细信息 一列的值是否可以引用另一个表的键? 列可以肯定地将另一行的键存储在同一个表或另一个表中。您必须从第一个表中读取该值,然后转到第二个表以获取该行(如果两行位

HBase-删除表和删除表之间的区别?

我正在学习HBase shell命令,对drop和delete表感到困惑 有人能评论一下删除表和删除表之间的区别吗 谢谢。没有区别。我推测这两个名字的原因是因为它是第一个创建的,并且使用了“删除”。然后,在创建shell时,人们意识到drop table tablename是摆脱表的标准方法* 但我确认(无论对其起源的猜测如何),通过查看以下内容,它们是相同的: *但准确地说。。。它们并没有使用删除table tablename,而是在HBase shell中删除'tablename'。只是为了

如何获取HBase表的列族和限定符

我想使用以下内容: List<Cell> cells = sourcePut.get(CfBytes, QualBytes); List cells=sourcePut.get(CfBytes,QualBytes); 但它返回一个空列表,因为我没有指定正确的列族和/或限定符 对于我的源表,如何查看所有列族和限定符 我还没有创建HBase表,它已经可用。我找到了如下解决方案: 1.要获取列族,扫描表应该是可行的 2.要获取限定符,我使用了以下代码: Get g = new Get(

在scan.setCaching(cacheRow)中设置heigher值时,Hbase扫描未返回所有行

当我在cacheRows=100或10000的情况下运行上述代码时,它会打印出来 总行数=480000 当我在cacheRows=100000的情况下运行上述代码时,它会打印出来 总行数=10090 cacheRows=10083打印480000 cacheRows=10084打印191595 cacheRows=10085打印20169 cacheRows=10086打印20170 cacheRows=10087打印20171 cacheRows=10088打印20172 cacheRows=

Hbase phoenix和查询超时

我有一个非常大的hbase/phoenix表,我正试图使用sqlline查询它。我得到以下例外情况。我尝试更改客户端和服务器上的各种设置: phoenix.query.keepAliveMs phoenix.query.timeoutMs dfs.client.socket-timeout 我尝试将上述所有设置为6000000,但仍然得到相同的问题。有什么想法吗?最初的异常似乎是HBaseClient.CallTimeoutException sqlline版本1.1.8 0:jdbc:pho

Hbase Apache Phoenix Create语句作为select(from)

我正在尝试从Phoenix中的现有结构创建一个新表。Phoenix中是否有CREATE as Select语句。我正在努力,但他们失败了,只有以下例外 欢迎提出任何建议。提前谢谢 CREATE TABLE TEST AS (SELECT * FROM TEST_2 WHERE 1 =2); org.apache.phoenix.exception.PhoenixParserException: ERROR 601 (42P00): Syntax error. Encountered &quo

无法使用apache phoneix从Hbase中的默认模式和其他用户定义模式获取数据

我正在尝试使用ApachePhoenix获取Hbase中(“默认”)模式的表数据。我的请求机构如下: {"request": "getTables","connectionId":"1875901652","schemaPattern":"default"} 响应中包含的行为空,否则将作为内部服务器错误返回。注意:我已经更改了每个请求的connectionId,但问题仍然存在。其他模式也是如此。只有“系统”模式才能获得数据。请告知原因和解决方法。提前谢谢

使用正则表达式筛选器扫描HBase表时的java.net.SocketTimeoutException

由于rowkey的设计,我需要执行一个regex扫描过滤器,据我所知,它扫描该表的整个rowkey集 我面临的问题是,默认情况下,限制是默认的callTimeout=60000,我正在超出该值 我一直在寻找解决方案,但到目前为止,我希望避免使用两种方法: 方法1:修改hbase-client.xm文件,增加以下值: <property> <name>hbase.client.operation.timeout</name> <value&

HBase vs Hyptertable vs Lucene

我正在使用lucene的搜索系统。默认情况下,它不是分布式的,所以我正在考虑转向HBase或Hadoop之类的东西 像HBase或Hypertable这样的解决方案有内置搜索功能吗?或者我需要在它们上面实现Lucene吗?Lucene与像HBase或Hypertable这样的BigTable克隆非常不同。如果您只是在寻找分布式Lucene,那么您应该看看诸如Elastic Search或Katta之类的项目 Solr/Lucene还能够在集群上运行,但分区不是自动的。您必须手动创建碎片和副本,以

如果在多台计算机上运行Hbase,在Hbase上运行扫描是否更快?

我需要对HBase表进行扫描,以便进行临时查询。目前我只使用一个节点。我想知道在多台机器上以分布式模式运行HBase是否会使它更快。目前,在m1.2大型EC2机器上扫描300万行大约需要5分钟。 欢迎提供任何有关如何加快扫描速度的想法。目前,我启用了scan.setCaching,这有很大帮助。不,添加节点不会加快扫描速度。HBase扫描是串行的,有几个原因 当您这样调用HTable.getScanner(scan)时,返回的是Result对象的迭代器——在调用next()项时,HBase实际上

Hbase/OpenTSBD连接被拒绝错误

我是HBase和OpenTSBD的新手。 我遵循了OpenTSDB手册中的所有步骤: 但是,当我进入最后一步时,出现以下错误: java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.0_07] at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChann

如何使用shell在HBase表中创建多个列族

流程是否对同一个表使用多个“创建”命令?它的语法是什么 答案是使用ruby列表:下面创建一个包含三个列族m、f、c的表“app”: create 'app',['m','f','c'] 语法如下: create '<table name>' , '<column-family1>' , '<column-family2>' etc.. 创建“”、“”等。。 创建具有多个列族和版本的Hbase表的语法如下: create 'test', {NAME =>

Hbase 在客户端和服务器之间检测到不兼容的JAR

我想在Cloudera CDH 5.2的HBase之上安装ApachePhoenix 我下载了Phoenix的最新版本(4.2.2),并将服务器jar文件放入每个区域服务器上的一个目录中(我没有修改主服务器) 然后,我将hbase env.sh文件更改为指向前缀为hbase\u CLASSPATH\u变量的文件 当我运行以下命令时: hbase classpath 列表中报告了phoenix serer jar 在主计算机上,当我尝试使用/sqlline.py qourumserver时,出现

使用SQuirrel SQL client 3.6创建hbase表的Creting视图

我已经使用SQuirrel SQL client 3.6创建了hbase表。下面是我尝试过的问题- create table test (mykey integer not null primary key, mycolumn varchar); upsert into test values (1,'Hello'); upsert into test values (2,'World!'); create view "TEST" (ID BIGINT NOT NULL PRIMARY KEY

Hbase happybase table.put是否接受none字符串值?

我一直在使用java和python测试table.put 在java中,可以将int或float值写入列中。使用happybase table.put(line_item_key, {'allinone:quantity': quantity}) 它爆炸了 TypeError:类型为“int”的对象没有len() happybase不支持除字符串以外的任何内容,这是真的吗?在Hbase中,所有内容都是字节数组。没有任何奇特的数据类型,如int、string、float、double等。所以,每

Hbase 在使用Apache storm时是否必须使用Apache Kafka?

我想在我的项目中实现实时消息处理的Storm。我观察到许多人使用“阿帕奇卡夫卡”和“风暴” 在我的项目中,客户端应用程序将向服务器端发送消息,服务器端应该对消息进行身份验证、处理并存储到HBase中。唯一的限制是消息不应该被丢弃,每一条消息都必须被持久化到HBase中,若处理该消息需要几分钟的时间,那个就没问题了 我想知道 卡夫卡和暴风雪一起使用是强制性的吗 在Storm中使用卡夫卡有什么好处 如果我不在《暴风雨》中使用卡夫卡会发生什么 请你告诉我卡夫卡的用法 没有必要将卡夫卡与暴风雪一起使用。

筛选HBase扫描

如何通过两个值(与列帐户id和时间戳相关联的值)从单个列族中筛选扫描 我已经提到了这一点,但我没有看到一个明确的方法来实现上述目标

Hbase 将Tableau服务器连接到ApachePhoenix

是否可以将Tableau服务器连接到Hortonworks Apache Phoenix?在tableau桌面中,可以使用ODBC,但在tableu服务器中不存在此连接器。还可以将其连接到HBase?因为您通过ODBC成功地从Tableau桌面连接Tableau桌面,我建议您将数据源转换为摘录,然后将工作簿发布到Tableau服务器。 是,但这不是一个好的选择,因为Phoenix中的数据每10分钟更新一次。您是否尝试在Tableau服务器上创建计划以更新摘录?[链接]()

Hbase批量定期装载HFiles和小压实关系

我有一个场景,在这个场景中,我们必须以拨号方式定期将HFiles加载到HBase表中 每个区域每次运行的文件大小可能在50到150 MB之间。这些负荷可能是每天12次,在某些情况下每15分钟一次 在进行测试时,我发现即使在区域中立即有3个以上的文件,也不会触发轻微压缩。这可能会导致问题出现,因为有很多文件为同一行键保存行 我已经看到压缩线程在10000秒(大约2小时45分钟)后被唤醒,开始压缩并将压缩任务放入队列 是否有任何配置可以告知在批量加载(completebulkload)写入3个或更多

sqoop中的复合键——hbase行键

有没有一种方法可以在sqoop命令中设置复合键--hbase行键。 类似于:--hbase行键column1,column2 另外,我们可以从1开始hbase中的键,并对mysql中的每一个新行条目自动递增它。当另一个sqoop进程运行时,我们可以提取最后一个max id,并从那里增加它本身。不幸的是,sqoop当前不支持您的任何一个请求。只能指定一列作为HBase的行键。我建议您在上创建一个新票证以请求此类功能 编辑: 通过SQOOP 1.4.4中的SQOOP-1038添加了使用多列作为行键导

在HBase中使用扫描时,我应该依赖TTL(生存时间),还是应该使用时间戳作为密钥的一部分

我正在为我参与的一个项目使用TTL。 我知道,在功能方面,当我执行扫描时,我不会将过期数据取回。 我只是想知道过期数据(在主要压缩之间)的性能影响是什么。 我们有10分钟的TTL和大量收集(和过期)的数据,因此我想知道使用TTL是否是正确的方法,或者可能使用时间戳作为密钥的一部分,并执行实际上不包括过期范围的扫描。您可以在扫描时使用HBase筛选器来过滤掉HBase服务器端的过期行。从内存中,我不记得单元格时间戳是否可以用作筛选器表达式的一部分 如果是,您可以直接将它们与任何过滤器一起使用(我

Hbase:仅存储具有伪值的列名

我想在HBase行中存储一个集合,现在的计划是简单地将字符串存储为列名,将一个伪0x01值存储为列值 例如,假设我想存储用户和他们阅读的书籍列表,因此我将userId作为行键,对于用户阅读的每本书,我将书籍名称存储为列名,字符串“1”存储为值 有更好的设计方法吗?您的方法通常是合理的。您可能还希望了解一下这是一种合理的方法,例如,将列表序列化为一个JSON列,或将每本书的一行作为前缀,并将该书作为复合键的第二部分-问题是您想用它做什么,以及您的读/写模式是什么

主机文件中的hbase区域服务器ip

当我从远程系统连接hbase时,我会给配置提供Hmaster、zookeeper ip和端口号,然后只提供主机名(其中配置了Hmaster)。它没有连接 创建HTable对象时,控制台挂起 但是,当我在主机文件中指定RegionServer的所有ip地址时,就会连接相同的代码 我的问题是“我是否需要在主机文件中指定区域服务器的所有IP地址?” 请帮助我理解这一点 问候, KG我认为您只需要提供Zookeeper主机和端口即可从hbase进行连接。 见下文 Configuration hadoop

如何将bytearray转换为HBase中的对象

我正在通过练习来学习HBase。我了解了如何从customWritableObject转换字节数组。我已经使用创建了一个字节数组 byte[]byteArray=WritableUtils.toByteArray(customWritableObject) 无法获取如何从byteArray将其转换回customWritableObejct。您可以通过在hbase列值中序列化对象,然后再次对其进行反序列化,然后将其类型转换为相应的类来轻松实现 有关更多详细信息,请参阅博客- 谢谢

如何在HBase中启用安全性?

我想在HBase中启用身份验证和授权。我阅读了他们的文档,其中说明可以使用Kerberos启用它,但我仍然无法找到一种正确的方法来实现它。我正在使用HBase Java API。请建议如何使用HBase的安全功能。请查看以下文档: 必须在服务器端(主服务器和区域服务器)和客户端的hbase-site.xml中添加配置属性 从代码的角度来看,这取决于您必须做什么。 您可以在kinit之后运行应用程序 或者可以使用AuthUtil类

Hbase 如何选择凤凰城的盐桶数量?

ApachePhoenix允许创建跨区域服务器分发数据的服务器。e、 g CREATE TABLE table (a_key VARCHAR PRIMARY KEY, a_col VARCHAR) SALT_BUCKETS = 20; 要使用此功能,必须选择多个盐桶。如何选择这个数量的盐桶?是否应基于区域服务器的数量?如果我计划以后添加更多区域服务器,该怎么办?HBase表分为多个区域。RegionServer可以容纳100个区域。因此,理想情况下,它应该取决于: 您希望数据中有多少随机分布?

HBase-存储文件与HFile和压缩

存储文件和HFile之间的区别是什么 我有压缩的基本概念,即将存储文件合并在一起,以减少从磁盘搜索 这是正确的吗??有人能解释一下压实的具体过程和工作原理吗 存储文件和HFile是同义词,模棱两可地用于定义相同的概念 当某些内容写入HBase时,首先将其写入内存存储(memstore),一旦该memstore达到一定大小,它将被刷新到磁盘中的存储文件中(为了持久性,所有内容也会立即写入日志文件)。在磁盘上创建的存储文件(或HFiles)是不可变的。有时存储文件会合并在一起,这是通过一个称为压缩的

Hbase 在Hortonworks沙盒中创建凤凰索引不会';行不通

我遵循文档,在Phoenix 4.2中创建: CREATE VIEW "t20" ( pk VARCHAR PRIMARY KEY, "f2"."name" VARCHAR ); 然后创建了一个索引: create index idx on "t20" ("name"); (引用或取消引用的结果相同) 并获得: ERROR 1029 (42Y88): Mutable secondary indexes must have the hbase.regionserver.wal.codec pr

如何将HBase Capture中的数据配置为Apache Kafka

现在我正在基于HBase和卡夫卡工作 我的要求是: 假设HBase数据库中存在一些数据。现在我需要捕获卡夫卡的数据库。在这里,我的HBase数据库就像一个生产者,当我在数据库/生产者中创建任何内容时,它会自动捕获到Kafka消费者 我遵循了许多链接,但我没有得到确切的解决方案。请给我建议,并提供一些基于要求的链接。如果您想了解更多信息,请与我联系。如果您想将数据库用作制作人,您可能需要查看Kafka Connect 它允许将外部来源的数据可靠地摄取到卡夫卡中

如何从phoenix更改hbase表的TTL

我能够在创建表时给出HBase表的TTL。如何在创建后更改表的TTL。是否可以在不禁用表的情况下在运行时更改TTL? 提前感谢:) 使用Hortonworks 2.6 HDP 凤凰城4.7版 HBase 1.2.1版您可以使用不同的TTL值再次执行create if not existsDDL。例如: create table if not exists TEST_TABLE (...) TTL=86400 或删除TTL: create table if not exists TEST_TAB

在hbase中具有两个不同版本的双列族

是否可以使用两个不同版本创建两个柱族。例如,对于表employee,两列族(个人、项目)。在这里,project column family包含了他的每周工作细节。项目列族应具有50个版本,个人列族应具有一个版本

“水槽”;配置";使用hbase接收器(Cloudera)时,命令保持在执行状态

我正在尝试使用flume将日志流式传输到hbase。我有一个正在运行的分布式flume设置和一个hbase集群;两者都使用同一个动物园管理员。Flume正在使用各种命令(文本、尾部、自定义水槽过滤器),但当我尝试在Flume shell或web UI中使用以下命令时: exec config <node> 'tail("<sample file>")' '{ customDecorator => hbase("<table>","<row key&

如何在hbase中确定结果大小?

我想将hbase中的记录从rowkey x扫描到rowkey y,我还想在这些扫描上指定一个过滤器,我知道当我们执行这样的操作时,我们会得到ResultScanner对象,有没有办法只获得结果的大小(在服务器端计算) 通常,我希望在mongo或sql中使用类似count()的操作,而无需迭代resultscanner 感谢您的帮助简单的方法是只请求可用的最小列,如果您为扫描提供了可接受的缓存,则该列可以正常工作 如果是大型客户端扫描,或者如果您想在RegionServer上执行所有操作,可以使

是否可以在hbase中创建多个表?

我访问了这么多链接,但找不到任何解决方案可以在hbase中创建多个表吗?如果可以,那么如何创建?现在不可能一次创建多个表。实现目前不支持此功能 作为替代方案,您可以创建一个表列表并在其中循环,在每次迭代中调用HBaseAdmin.createTableHTableDescriptor desc。基本上,您希望在同一区域中有多个表 这是不可能的,因为区域是表的一部分,而不是区域的一部分。 每个表被划分为多个区域,每个区域由一个区域服务器提供服务。 创建时,除非指定,否则每个表只有一个区域 HBas

使用Java API从HBase读取Apache Spark(任务不可序列化)

此链接介绍了一种通过JavaAPI编写HBase的极好方法 如何从HBase读取数据 例如,我有一个属性名->文件,它提供了开始行和停止行(每行提供一个单独的开始行和停止行,可以在不同的服务器之间划分) 其他属性告诉我服务器名和表名。 可以任何请提供样品我,如何可以做到,我尝试了,但我不断得到不可序列化的错误 (这就是我试过的,) 任何帮助都将不胜感激。首先,您没有给出任何细节。没有人能帮助确定什么不是以这种方式序列化的 默认情况下,您在Spark中执行的函数所使用或引用的任何对象都必须是可序

HBase REST:声明一个协处理器

我很难通过HBase REST创建带有协处理器的HBase表 hbase\u table\u ttt.xml: <?xml version="1.0" encoding="UTF-8" ?> <TableSchema name="ttt" coprocessor="hdfs:///my_coprocessor-1.0.jar|com.mycompany.MyCoprocessor|1001|"> <ColumnSchema name="d" BLOCKCAC

HBase复杂筛选器未返回所有列

上面的代码有一些奇怪的结果。HBase扫描程序确实会返回正确过滤的结果(通过列表中的两个过滤器),但是服务器不会在结果中传回filterOnA列。只有过滤器B的CF的KV存在 我尝试了很多方法,比如scan.addFamily(Constants.CF\u META),但这会导致扫描仪为空。默认情况下,扫描仪不应该返回满足两个过滤器的所有KV的所有列吗 我想知道复合过滤器逻辑是否足够“智能”来处理在不同位置/区域服务器的2个不同CF上应用的2个过滤器 SingleColumnValueFilte

使用phoenix读取时出现hbase.donotretryoException?

Hbase版本:1.1.3 凤凰版本:4.7.0 升级数据后,我能够使用phoenix从Hbase读取数据 在重新启动集群后,我发现以下错误 Sqlline日志 0: jdbc:phoenix:localhost> select count(*) from PRICEDATA; 16/06/01 12:39:39 WARN ipc.CoprocessorRpcChannel: Call failed on IOException org.apache.hadoop.hbas

Hbase 无法确定ZooKeeper集合

地位: 动物园管理员正在跑步 Hbase主机也正常运行,正在等待任何regionserver 现在,当我启动区域服务器时,我收到以下错误: 17/04/24 20:13:23 ERROR master.HMaster: Region server icosa4,60020,1493045002304 reported a fatal error: ABORTING region server icosa4,60020,1493045002304: Unhandled exception: Una

将HBase/Phoenix用作MPP

我们正试图制定我们的MPP解决方案,其中一个想法是坚持我们的Hadoop环境。所以排除了Hive、Impala等。我们关注HBase+Phoenix,是否有人在整体解决方案中使用HBase/Phoenix作为MPP?在这种情况下有什么问题吗?如果您定义了“MPP解决方案”所期望的确切功能,这会有所帮助。我猜你指的是大规模并行处理(但这并不明显),你进一步指的是MPP数据库(而不是用于天气预报的数字运算超级计算机)。但即使我猜对了,你需要什么样的数据库功能?@SamsonScharfrichter

属性索引不';我不能在GeoMesa HBase中工作

我尝试在Geomesa HBase集群中存储一些数据,但没有空间索引。表架构如下所示。但是,我无法使用属性索引(在本例中为“nodeId”列)查询数据。我使用的导出命令是:geomesa hbase export-c atlas-f OSMWayNodesTest3-m 10-q“nodeId='node1'和geomesa hbase export-c atlas-f OSMWayNodesTest3-q”nodeId='node1'--histquery\u INDEX=attr:8:nod

Hbase复制问题

我正在使用HDP Distibution。我启用了hbase复制。首先,它工作正常,但过了一段时间,一个RS复制中断,我在日志中发现: regionserver.ReplicationSourceWALReader:未能读取复制项流259735-java.io.EOFEException:无法在EOF 259779之后查找-位于org.apache.hadoop.hdfs.dfInputStream.seek

Hbase 从put获取postput中列的值

我正在hbase中实现一个potput函数,我需要获取该函数中特殊列的值 class AccessControlCoprocessor extends BaseRegionObserver { @Override public void postPut(ObserverContext<RegionCoprocessorEnvironment> e, Put put, WALEdit edit,

使用配置单元筛选struct类型键上的HBase表

我使用配置单元创建了以下HBase表,如下所示: CREATE TABLE HBWeather (key struct<USAF:INT, WBAN:INT, `Date`:STRING>, TEMP INT) ROW FORMAT DELIMITED COLLECTION ITEMS TERMINATED BY '~' STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES

hbase应用贴片

目前,我正在将数据保存到Opentsdb,在某个时候,我遇到以下错误: ERROR [AsyncHBase I/O Worker #13] RegionClient: Uncaught error during de-serialization of MultiAction(batch=........... 我进行了一些搜索,并在以下网站上找到了此问题的原因,该网站解释了原因并提供了修补程序文件: 问题是我找不到将修补程序文件应用于我的hbase-1.4.2的方法。这些修补程序只是Git d

HBase根据上次更新的时间按排序顺序获取数据

在直接讨论这个问题之前,让我先介绍一下背景 我正在使用hbase作为我的nosql存储。我正在使用JavaHBase API与hbase进行接口。我正在存储用户信息,其中一列是用户执行的操作。每当用户执行某个操作时,我们都会在“操作”列中更新该特定操作,并随操作执行的时间更新“上次更新的时间”列。我的排看起来像 reverse_time_stamp#user_id(这里我在计算reverse_time_stamp=max_number_)- 当前(时间戳) 现在我的问题来了,我必须根据上次更新的

HBase:返回的记录中不存在字段

我在HBase中有一个person表,如下所示- ROW_KEY COLUMN+CELL dinesh column='details:code',value=dr-01 dinesh column='status:is_error',value=false dinesh column='time:date_created',value=1553747864740 dinesh column='time:last_updated',value=15

上一页   1   2   3   4   5    6  ... 下一页 最后一页 共 32 页