我是Hbase新手。我使用Hbase外壳创建了一个表。默认情况下,它存储在/tmp文件夹中。我想更改存储位置。我应该在哪里更改配置。
提前感谢。所有HBase配置都在${HBase_HOME}/conf/HBase-site.xml中
在hbase-default.xml文件中查找有关可修改内容的提示。我最后一次检查时,它位于${HBASE_HOME}/src/main/resources/HBASE文件夹中有一个config文件夹转到那里,您将找到一个文件名HBASE-site.xml打开它
我有一张hbase表,上面有
行:字,族:日期
我想用扫描仪扫描日期“d”上的所有单词,我该怎么做?因此,我不想指定行值。您的问题不清楚您试图从何处获取扫描仪,因此我将把它视为来自HBase命令行。我已经使用thrift库与hbase交互,CLI命令很明显就是这样翻译的。我想它们也能很好地转换到任何其他你正在使用扫描仪的界面上
要获取特定列族的所有行,可以使用以下命令
scan 'table_name', {COLUMNS => 'col_family:'}
对于您的情况(减去“tabl
我正在尝试将hbase快照从hbase版本0.94迁移到0.98
步骤:
在旧的hbase 0.94上创建快照
快照“测试事件原始数据”、“测试事件原始数据”
导出到hbase 0.98
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot-快照测试事件原始数据-复制到hdfs://:8020/apps/hbase/data-映射器16
线程“main”org.apache.hadoop.ipc.RemoteException中出现异常:服务
我正在使用java代码从HBase获取数据。我使用的过滤器如下所示:
假设值为“1”,我将其转换为字节数组valueInBytes
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("cf_name"),
Bytes.toBytes("FOLLOWER_ID"), CompareOp.EQUAL, valueInBytes);
ROW
我正在将1450万条记录保存到HBase。每行有20多列。我试着先插入70万条记录,结果非常顺利,只花了1.7分钟就完成了
然后我尝试插入实际的完整数据,即1450万。如果我尝试一次插入所有这些文件,这将花费大量时间。它运行了1.5个小时
Spark是我的编程模型。我尝试了使用TableOutPutFormat的saveAsNewHadoopDataSet和cloudera的hbase spark bulkput
两者似乎使用相同的方法。我在8节点集群上运行,有8个区域服务器,并且只使用单列系列
是否可以使用复合键,然后在habse中共同存储聚合行
supose表的复合键是uderID,chargingID
其他两列是..value,kids..但kids列仅基于userid
有人会这样想:
|usr1,| chg1,| 20美元,|基德1,基德2|
|usr1,| chg2,| 30美元,|124; 124;|
usr2,| chag1,| 50$,| usr2 | kid1,kid4,kid3 |在HBase中,每一列都是独立的。它们只是通过行键连接在一起。我们不应将HBase视为行
我正在通过ApachePhoenix中的PSQL(PSQL.py)加载批量数据,但出于某种原因,我遇到了以下错误:
java.lang.IllegalArgumentException: Table "My_Table" not found
at org.apache.phoenix.util.SchemaUtil.generateColumnInfo(SchemaUtil.java:887)
at org.apache.phoenix.util.CSVCommonsLoader.buildCo
我使用hbase-client将数据推送到hbase表中
为此,我创建了一个Put对象,如下所示
val data=new Put(/*键为字节*/)
put.addColumn(族、标识符、值)
表1.put(数据)
如果我想实现其中一个子句(逻辑上相同):“如果我的键/族/限定符的值已经有值,请不要放置”或“如果我的键/族/标识符已经有值,请复制其值”,我该怎么办
我是否必须事先进行Get?或者存在另一种方法吗?你好,wipman,我只是想澄清一下,如果您先插入cf1:c1,然后调用cf2
我知道我们可以通过hbase shell通过以下方式实现:
create 't1', {NAME => 'f1', VERSIONS => 5}
我在Java API的HTableDesctiptor中找不到任何相应的选项。你知道怎么做吗 每个列族指定最大版本和其他ttl类型设置。因此,max版本在上。我在这里留下一个基于您的示例的示例代码作为参考
HTableDescriptor descriptor = new HTableDescriptor("t1");
HColumnDe
我正在保存注册用户已阅读的文档。我使用以下模型:
对象:以天为键
用户作为列族
时间戳:作为列限定符
用户标识:作为列值
我想按时间戳或用户id范围进行筛选,是否可以使用配置单元?如果我理解正确,您需要从表中选择*,其中用户id>=开始范围和用户id如果我理解正确,您无法将此类表映射到配置单元,因为您添加了新列(每个时间戳)当您创建表时,配置单元需要一个已知的模式是的,但关键是我没有一个已知的模式。我使用的是Hbase原则:十亿行和百万列。但是很明显,没有工具可以实现这个模型
纱线、HBase和Hive服务在HDP2.1设置伪分布式模式下运行。
为了将数据加载到hBase,我使用了PIG内置支持org.apache.PIG.backend.hadoop.hBase.HBaseStorage功能。问题是它在本地模式下工作正常,但在MR模式下运行时,它不会返回任何错误,只是作业失败了。甚至连工作记录都不存在
我正在“hdfs”用户下运行PIG脚本,并在PIG-Env.sh中设置了HBASE_HOME的Env.变量。并在HADOOP类路径中添加了HBASE\u JARS/Z
我知道HBase系统由许多区域组成
第一个区域为[null,endKey]
第二个区域是[开始键,结束键
最后一个区域是[startKey,null]
所有的开始键和结束键都是按升序排列的
我的问题是:
如果表中有两个区域:
[0-100
[100,空
当我插入一个rowkey 2000000时,系统会创建一个新的区域还是只将此rowkey分配给第二个区域最后一个区域
如果rowkey被分配到第二个区域。这是否意味着第二个区域的范围是[1002000000+。那么第二个区域将非常大,并且可能非
标签: Hbase
spring-data-hadoop
我正在使用Hbase 0.98.4.2.2.0.0和HDFS 2.6.0.2.2.0.0运行HDP2.2,因此我将spring data hadoop的2.1.2.RELEASE版本添加到我的maven pom文件中,但由于类型org.apache.hadoop.Hbase.client.Scan无法解析,因此未能编译。它是从required.class文件间接引用的,所以我应该将hbase客户端添加到pom文件吗?我认为spring data hadoop应该将hbase客户端作为其依赖项,但
作为负载平衡操作的结果,主机可以决定将区域从一个区域服务器移动到另一个区域服务器
重新分配区域的数据是否在重新分配时移到其他数据节点?如果是这样的话,传输时是否会出现停机?HDFS的一个功能是,写入磁盘的数据可以在集群中的多个副本中使用(默认值为3)。在以前版本的HBase中,文件分散在各个地方,还有一个
无论数据位置如何,如果需要,regionserver都将远程读取数据,因此,如果缺少数据,将通过网络读取数据,并且regionserver运行的本地将提供超时服务
可用性差距在于未刷新到磁盘且
我正在使用Mapreduce将数据插入我的Hbase表。因为我不能插入图像,所以我只描述我的Hbase表如下:
{
"rowkey1": {
File: {
source: "path to file"
}
Features: {
feature1: "value 1"
feature1: "value 2"
}
}
......
}
在映射函数中,我将得到的所有值都是:“文件路径”、“值1”、“值2”以插入到“r
我有我的hbase+hadoop集群,当我使用hbase api访问hbase时,一切都正常。但是,当我使用jar命令打包类文件时,出现了一些错误。我该怎么办?
线程主java.lang.NullPointerException中出现异常
位于org.apache.hadoop.conf.Configuration.getResourceConfiguration.java:1862
位于org.apache.hadoop.conf.Configuration.loadResourceConfi
我正在尝试将一些数据从Hbase移植到ORC,以提高写入性能。在Hbase中,我的数据针对一个行键存储在总共10列中。现在,当我们使用Hbase时,我们不必担心这些列的稀疏性。即使在大多数行只有两列非零值的情况下,也可以,因为Hbase只存储2列
移植数据时,我的第一反应是将上面的列限定符转换为与映射相关的值。然而,这对于检索来说不是很有效。我试图理解ORC是如何解释空值的——如果我将值存储为10个单独的列而不是映射,会更好吗?在最坏的情况下,该矩阵将非常稀疏。ORC的写入性能可能比Hbase差
我正在使用OpenTSDB存储我的时间序列数据,但是如果我想删除任何数据点,我无法找到正确的解决方案,如果我按照他们的文档进行操作,那么整个小时的数据也会被删除,这不完全符合目的,是否有人知道其他方法。我相信您可以通过/query来执行此操作,并指示OpenTSDB删除查询的数据
根据OpenTSDB最新文档:
delete Boolean Optional Can be passed to the JSON with a POST to delete any data points t
就我面临的问题寻求帮助/指点
我们有一个解决方案,其中我们通过ApacheKafka从Windows读取Web服务器日志文件,然后通过Storm进行处理,Storm随后将存储在HBase中。我们已经完成了前两部分——通过卡夫卡读取文件并通过Storm处理。但在将处理后的数据存储到HBase时,我们面临着一些问题
为了存储到HBase中,我们编写了一个Storm Bolt,它读取数据,处理数据(按照分隔符分割行的简单处理),然后将数据发送到HBase中。在本文中,我们使用ConnectionFac
我只有一个区域,因为我不知道密钥分布。我想逐步拆分表,以便将每个区域拆分为2个。使用以下命令,我可以拆分表区域:
split <namespace:table>
拆分
但是,是否有一种简单的方法可以在拆分后自动将区域移动到其他区域服务器以实现负载平衡,而不是一次移动一个区域。我有一个50个节点的集群
下午好,我在尝试访问http://:7070时遇到问题。我安装了以下程序:apache-hive-3.1.2-bin、kylin-3.1.1-bin-hadoop3、kafka_2.12-2.5.0、hadoop-3.3.0和hbase-2.3.4
我倾向于认为这与连接到HBase时的一些问题有关,因为每当我运行列表时,它都会给我以下错误:
hbase(main):001:0> list
TABLE
我在HBase中存储JSON数据的说法正确吗
put 'messages', 123, 'cf:json', '{"foo":"bar"}'
基本上,我需要按ID查询它,在我的示例中是123。JSON是可变长度的字符串。在单元格值中存储JSON没有问题。高达5米的电池尺寸仍然是合理的。一般来说,尽管建议保持键和列的大小较小(http://hbase.apache.org/book.html#keysize)JSON虽然比XML更紧凑,但仍然是一种浪费格式(与二进制JSON、Thrift、Av
文档表明0.92支持协处理器辅助索引。但是,我找不到任何关于它的文档。
是否支持开箱即用,还是必须使用协处理器自己编写?目前不支持开箱即用。但是,有一个JIRA问题正在解决:
目前不支持开箱即用。但是,有一个JIRA问题正在解决:
当我试图将数据从hdfs复制到hbase时,输入文件中有两个以上的列(或字段)。我犯了一个错误。详细示例:
HDFS中的文件:/home/1.txt
1 2 3 4
5 6 7 8
具有两个列族的Hbase表:创建“table1”、“p”、“S”
清管器命令:
A= load '/home/1.txt' using PigStorage('\t') as (one:chararray,two:chararray,three:chararray,four:chararra
我试图在一个Ubuntu框中将Hadoop/Hbase配置为伪分布式模式,并希望远程访问Hbase。首先安装后,它使用本地主机设置。当我们将配置更改为ip地址时,Hbase主机未启动。
我的/etc/hosts文件
10.9.14.9 webserver
My hbase-site.xml
<property>
<name>hbase.zookeeper.property.clientPort</name>
<v
标签: Hbase
thriftboot2docker
我正在尝试使用以下命令为HBase启动thrift Server(用于.NET客户端):
docker exec -it hbase /opt/hbase/bin/hbase thrift start&
它永远不会开始。当我尝试使用docker ps检查正在运行的进程时,会停止。如何准确地验证是什么导致问题启动thrift server及其运行的端口
这是《HBase在运行中》一书的摘录,用于扫描仪缓存
ResultScanner接口还有一个下一个(int)调用,您可以使用它来请求
返回扫描后的n行。这是一个API便利,没有任何
与客户端为获取这n行而对HBase进行的RPC调用数的关系。
在幕后,ResultScanner根据需要进行尽可能多的RPC调用,以满足
要求每次RPC调用返回的行数完全取决于缓存
为扫描仪配置的值
我对上述问题有两个疑问:
如果next(int)方法与客户端对HBase进行的RPC调用的数量没有任何关系,那么它解决
我想知道HBase何时从HFile中删除额外的单元版本
假设我有一个单元格有10个版本,但我已经将列族配置为只存储1个版本
HBase是否在主要压缩过程中删除了不必要的单元版本?根据
在主要压缩过程中,多余版本将被删除。人数
最大版本可能需要根据需要增加或减少
应用程序需要
我想问您,HBase表上的当前架构设计是否适用于以下场景:
我每天收到1000万个事件,每个事件都有一个unix epoch时间戳和一个id。我必须按天分组,以便轻松扫描在特定日期发生的事件
当前设计:
事件时间戳转换为格式“MM-YYYY\u DD”字符串作为键,当天发生的事件的每个id都存储在该行中。这将导致一行中最多有1000万列。
据我所知,HBase在一行上有一个写锁定。导致在导入一天时有多个锁并降低性能
也许这是一个更好的设计?:使用unix epoch时间戳作为行的键,导致许多行具
使用apachehue在某些HDFS位置/path/to/my/hbasetable创建hbase表。然而,我在尝试通过色调以外的任何方式访问它时遇到了问题。在Hue中,我只是使用hbase数据浏览器导航到该表,但当我尝试从命令行确认该表存在时,会抛出一个错误:
[me@mapr001 example]$ curl -I -H \
"Accept: text/mxl" \
"http://node001:8080/etl/internal/example/raw-ingest/version-1
为什么在中没有HBaseReadStream示例
似乎有一个Read、Write和WriteStream示例,但没有ReadStream
从HBase到Flink的流读取是一种糟糕的做法吗?在将数据库连接到流处理器时,这是一个相当常见的限制。一方面,实现将流写入数据库非常简单。例如,这可能只涉及一系列插入或向上插入。另一方面,为数据库实现通用流读取器涉及接收数据库的变更数据捕获流,这要复杂得多
请注意,将支持在Flink 1.11中用作查找源
还要注意,HBase和Flink之间的更好的集成是计
我有一个要写入HBase的Put操作列表。我在HTable类中发现了两个可能的API调用
批次(列表)和放置(列表)
我想知道这两个函数在编写性能方面有什么区别?put(list)在验证put时进行了更多的处理(在客户端),但最终它们都在HConnectionImplementation类上调用相同的processBatch代码没有定义在数据库中插入PUT的序列…它也是异步的,即所有PUT将在实际插入数据库之前首先存储在客户端写入缓冲区中。在批处理(列表)中,put是同步的,即它们立即插入到DB
我正在尝试从Pig脚本加载数据。存储在HBase中的数据,我能够在HCatalog中映射和创建表。但当我试图从Pig访问HCatalog表时,我得到了如下异常
Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.hbase.HBaseStorageHandler cannot be cast to org.apache.hcatalog.mapreduce.HCatStorageHandler
at org.ap
在cassandra hector API中,允许在所选集群上创建表,如下所示。我想用HBase做同样的事情,有人能帮我吗
这是如何使用Cassandra实现的:
public void createColumnFamily(Cluster cluster, String tableName,
String columnFamilyName,
StreamD
我用nutch做了一些实验来抓取没有任何ajax调用的网站,我得到了所有的数据
我执行了以下步骤来获取数据
user@localhost:~/sample/nutch/runtime/local/bin$。/nutch-inject/path/to/the/seed.txt
$:。/nutch生成-批处理ID 321
$:/纳奇取货321
$:/坚果解析321
$:/nutch更新b
我使用hbase作为存储设备,在hdfs上存储文件。如果我执行这5个步骤,它会给我所有的数据,如果url是,但如
我是hbase的新手,所以如果我问了一个奇怪的问题,请原谅。
我的疑问是:
1) 在hbase中拆分区域时,区域中的存储文件移动到哪里
2) 压实是在区域中进行还是在HDFS中进行
3) hbase中的存储文件存储在区域或HDFS中的何处?
1> 分割区域时,将为子区域创建参考文件。停止接受进入原始区域的请求。这会让用户感觉区域已被分割。在拆分目录设置父区域中设置必要的文件结构。子区域目录是在这些文件夹中创建的。成功完成此操作后,这两个区域目录将移动到表目录。现在是.META。将更新并删除父区域
我想释放集群中的磁盘空间,所以我删除了2周前的所有版本的数据。即使删除了群集空间,也没有增加。谁能告诉我原因吗?
是因为我的存储文件索引的长度很大吗
或者hbase没有运行大型压缩?我不确定您是如何删除数据的,但是,这里有一些想法
1是的,如果未运行主要压缩,则存储文件不会减少。
2如果您手动删除数据,即使用“删除”操作,请确保您使用的操作是:
deleteColumns或deleteFamily或构造函数新删除行timsetamp
其他任何操作只会删除指定时间戳处的版本,而不是所有等于或小于指
我正在尝试将一个大型Hbase表加载到SPARK RDD中,以便在实体上运行SparkSQL查询。对于一个大约有600万行的实体,将其加载到RDD大约需要35秒。这是预期的吗?有没有办法缩短装载过程?我得到了一些加快流程的建议,例如。,
setCaching(cacheSize)并仅添加要扫描的必要属性/列。
我只是想知道是否还有其他方法可以提高速度
以下是代码片段:
SparkConf sparkConf = new SparkConf().setMaster("spark://url").s
我试图通过phoenix工具使用hbase表。我想操纵通过phoenix创建的表的TTL时间和版本。
我试图通过hbase-site.xml对其进行更改,但没有成功。
请回复。你说的“操纵”是什么意思?你看到了吗
示例:(请参见TTL属性)
CREATE TABLE my_schema.my_table ( id BIGINT not null primary key, date DATE not null)
CREATE TABLE my_table ( id INTEGER not null
我是Hbase的新手,我发现Hbase会将所有操作写入WAL和memstore
问题1:我想知道为什么Hbase需要WAL
问题2:每次我放置或删除数据时,Hbase都必须向WAL写信,为什么
不要只在数据文件中操作它
HBase有自己的ACID语义:
它需要WAL,以便在RegionServer出现故障时可以重播编辑。沃尔玛在提供耐久性保证方面发挥着重要作用
WAL是可选的。您可以在HBase写入期间禁用WAL。如果它被禁用,您将看到一些性能改进。但是,可能存在一些集群故障/灾难场景,您可能会
标签: Hbase
google-cloud-bigtable
我试着跟着
我已经到了quickstart.sh启动并显示提示的时候,
但这取决于任何命令。我尝试了list和create在尝试了一些APLN和JVM版本之后,我发现Bigtable有N+1种破坏方式
有一个技巧对我有效。
我把surefire插件和APLN jar放在一起
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-sur
我已经创建了下表:
CREATE TABLE IF NOT EXISTS "events" (
"product.name" VARCHAR(32),
"event.name" VARCHAR(32),
"event.uuid" VARCHAR(32),
CONSTRAINT pk PRIMARY KEY ("event.uuid")
)
插入事件:
upsert into "events" ("event.uuid", "event.name", "product.name") values
我是Hbase的新手。
当群集上的hbase宕机时,我必须触发一封电子邮件。
命令sudo-uhbase jps给出hbase的进程
请给出建议。编写一个shell脚本以按计划运行。
此脚本将在路径\hbase\bin上触发jps命令。
您的shell脚本将从以下内容开始:
jps>something.txt
....
在脚本中进行检查,即如果此jps命令的结果返回HMaster&HRegionServer进程名,则表示HBase未关闭。如果缺少任何进程,则HBase关闭,因此可以通过脚本触发
我使用的是Hbase 1.0.1和Hadoop 2.6,该集群有20台服务器,数据容量为100TB。对,我想把我的Hbase升级到1.2版。两个版本之间的数据格式是否兼容?或任何风险。谢谢 是的,它们是兼容的,您应该可以升级。最近我做了升级,没有任何问题
如果您真的担心的话,您可以在沙盒上测试相同的版本。他们使用的是相同的Hfile格式版本吗?根据HBase,具有相同主要版本号的文件具有兼容的文件格式,@Jack。
在Apache Phoenix中,执行以下查询之间是否存在性能差异:
从('A')中列所在的表中选择*
及
从列为'A'的表中选择*
两个选项之间的问题相同:SELECT*FROM Table WHERE Column IN('A','B')
如果是:
从列位于('A','B')的表中选择*
它在hoot下使用java集。所以时间复杂度为O(1)。有关更多详细信息,请参阅
在以下情况下:
从列='A'或列='B'的表中选择*
它在引擎盖下使用线性比较。如果O(n),则时间复杂度为。有关更多详细信
我们有没有办法在短时间内实现数据写入
提前感谢。将其拆分为多个作业,每个作业提取数据的不同部分并写入相应的csv文件(地图),然后在完成后合并csv文件(减少)
如果可以,请在不同的机器上或在一台(多核)机器上运行作业,并将输出写入不同的磁盘。您需要查看数据,并使用行键将其分解为不同的部分。
使用行键设置扫描的STARTROW和STOPROW属性
现在您有了单独的扫描,您可以从不同的框中并行运行它们
Psuedo代码:
OutputStream stream = new FileOutputSt
我已安装hbase并将属性hbase.zookeeper.property.clientPort设置为2222
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
</property>
我知道hbase服务器正在运行,因为我可以点击
http://localhost:60010
我已经在Ubuntu映像中下载并安装了HBase 0.94.9。我遵循Apache的入门步骤。它说要修改hbase-site.xml,但我发现我的没有定义属性。所以我加了两个。以下是完整的文件:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<nam
我正在使用sqoop将mysql表导入HBase。通常,HBase的行键不仅仅由一列组成,它通常是两列或三列+时间戳的组合,例如,row key=${col1}${col2}${timestamp}
我无法使用sqoop使其工作,只是想知道sqoop--hbase row key是否允许我在导入过程中执行类似于--hbase row key=col1、col2、tiemstamp的操作,然后我的hbase row key将以三个字段组合结束?我自己找到了答案:
sqoop 1.4.4中添加了复合
我有一个承载约80G数据(约1.1亿行)的hbase。每行的列数可变。我想主要使用这个hbase进行关键查找(大约1000万次查找),同时尽量减少时间。最好的方法是什么?stargate rest接口是否能够处理大量连接?由于1000万次查找很高,使用memcache或redis可能是更好的选择。因为80gb已经足够你在内存中保存了
如果您坚持使用hbase,那么bloom filter将帮助您。此外,使用连接池和并行线程将有助于提高性能
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 32 页