标签: hbase

String.getBytes()和Bytes.toBytes(字符串数据)之间的区别

我正在编写Hadoop/HBase作业.我需要将Java String转换为字节数组.Java String.getBytes()和Hadoop 之间有什么区别Bytes.toBytes()吗?

java hadoop hbase

17
推荐指数
2
解决办法
8760
查看次数

以编程方式将数据批量加载到HBase的最快方法是什么?

我有一个纯文本文件,可能有数百万行需要自定义解析,我想尽快加载到HBase表中(使用Hadoop或HBase Java客户端).

我目前的解决方案是基于没有Reduce部分的MapReduce作业.我FileInputFormat用来读取文本文件,以便每行传递给map我的Mapper类的方法.此时,该行被解析以形成一个Put写入的对象context.然后,TableOutputFormat获取Put对象并将其插入表中.

该解决方案产生的平均插入速率为每秒1,000行,低于我的预期.我的HBase设置在单个服务器上处于伪分布式模式.

一个有趣的事情是,在插入1,000,000行时,会产生25个Mappers(任务),但它们会连续运行(一个接一个); 这是正常的吗?

这是我当前解决方案的代码:

public static class CustomMap extends Mapper<LongWritable, Text, ImmutableBytesWritable, Put> {

    protected void map(LongWritable key, Text value, Context context) throws IOException {
        Map<String, String> parsedLine = parseLine(value.toString());

        Put row = new Put(Bytes.toBytes(parsedLine.get(keys[1])));
        for (String currentKey : parsedLine.keySet()) {
            row.add(Bytes.toBytes(currentKey),Bytes.toBytes(currentKey),Bytes.toBytes(parsedLine.get(currentKey)));
        }

        try {
            context.write(new ImmutableBytesWritable(Bytes.toBytes(parsedLine.get(keys[1]))), row);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } …
Run Code Online (Sandbox Code Playgroud)

java hadoop hbase mapreduce

17
推荐指数
1
解决办法
2万
查看次数

如何将新列族添加到现有HBase表?

我创建了一个表

create 'tablename', 'columnfamily1'
Run Code Online (Sandbox Code Playgroud)

现在可以添加另一个列系列'columnfamily2'吗?方法是什么?

hbase nosql column-family

17
推荐指数
2
解决办法
2万
查看次数

如何通过shell列出HBase表中的区域?

我想获得有关Web UI中显示的表区域的相同信息(即区域名称,区域服务器,开始/结束键,位置),但是通过hbase shell.

(UI是片状/慢速,而且我想将此信息作为脚本的一部分进行处理.)

经过大量的谷歌搜索,我无法找到如何,这让我感到非常惊讶.版本是1.0.0.-cdh5.4.0

hbase

17
推荐指数
3
解决办法
2万
查看次数

稀疏数据/数据存储区/数据库是什么意思?

最近一直在阅读Hadoop和HBase,并且遇到了这个术语 -

HBase是一个开源,分布式,稀疏,面向列的存储......

稀疏是什么意思?它与稀疏矩阵有关吗?我猜它是可以有效存储的数据类型的属性,因此,想要了解更多.

database hadoop hbase sparse-matrix database-schema

16
推荐指数
2
解决办法
3万
查看次数

为什么OpenTSDB选择HBase进行时间序列数据存储?

如果有人对选择HBase作为OpenTSDB的数据存储引擎有所了解,我真的很感激吗?

还考虑了其​​他选择,例如Whisper(Graphite front-end + Carbon persistence)?

像HBase这样的面向列的数据库如何成为时间序列数据的更好选择?

hbase time-series opentsdb

16
推荐指数
1
解决办法
7024
查看次数

HBase cassandra couchdb mongodb ..有什么根本区别?

我只是想知道hbase,cassandra,couchdb和monogodb之间是否存在根本区别?换句话说,他们是否都在完全相同的市场中竞争,并试图解决完全相同的问题.或者它们在不同情况下最适合?

这一切都是问题所在,我应该选择什么时候.品味问题?

谢谢,

费德里科

hbase couchdb mongodb cassandra nosql

15
推荐指数
3
解决办法
7637
查看次数

使用HBase存储时间序列数据

我们正在尝试使用HBase来存储时间序列数据.我们目前的模型将时间序列存储为单元格中的版本.这意味着单元可能最终存储数百万个版本,并且此时间序列上的查询将使用HBase中 Get类上可用的setTimeRange方法检索一系列版本.

例如

{
    "row1" : {
        "columnFamily1" : {
            "column1" : {
                1 : "1",
                2 : "2"
            },
            "column2" : {
                1 : "1"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在HBase中存储时间序列数据的合理模型吗?

将数据存储在多列中的备用模型(可以跨列查询)还是更合适的行?

hadoop hbase opentsdb

15
推荐指数
2
解决办法
2万
查看次数

HBase和Mahout - 使用HBase作为Mahout的数据存储/源 - 分类

我正在开发一个大型文本分类项目,我们将文本数据(简单消息)存储在HBase中.

我们有两个问题,首先我们想使用HBase作为Mahout分类器的来源,即Bayers和Random Forests.

其次,我们希望能够存储在HBase中生成的模型,而不是使用内存方法(InMemoryBayesDatastore),但随着我们的集合的增长,我们遇到了内存利用率问题,并希望测试HBase作为一种可行的替代方案.

使用带有Mahout的HBase似乎很少有材料浮动,如果可以将它用作潜在的数据源.我在Java中使用Mahout 0.6核心API,它具有InMemory数据存储区.

做一点挖掘我相信那里有一个HBase Bayers数据存储组件 - org.apache.mahout.classifier.bayes.datastore.HBaseBayesDatastore请参见旧版JavaDoc:http://www.jarvana.com/jarvana/view/org/apache/mahout/mahout-core/0.3/mahout -core-0.3-javadoc.jar!/org/apache/mahout/classifier/bayes/datastore/HBaseBayesDatastore.html

但是,看看最新的文档看起来这个功能已经消失了......?https://builds.apache.org/job/Mahout-Quality/javadoc/

我想知道是否仍然可以使用HBase作为Bayers和RandomForests的数据源,这是否有任何先前的用例?

谢谢!

hadoop hbase classification machine-learning mahout

15
推荐指数
1
解决办法
3638
查看次数

基于时间戳的HBase扫描?

对于hbase表'test_table'的示例,插入的值为:

Row1 - Val1 => t
Row1 - Val2 => t + 3
Row1 - Val3 => t + 5

Row2 - Val1 => t
Row2 - Val2 => t + 3
Row2 - Val3 => t + 5
Run Code Online (Sandbox Code Playgroud)

扫描'test_table'时应返回version = t + 4

Row1 - Val1 => t + 3
Row2 - Val2 => t + 3
Run Code Online (Sandbox Code Playgroud)

如何在HBase中实现基于时间戳的扫描(基于最新可用值小于或等于时间戳)?

hadoop hbase

15
推荐指数
1
解决办法
3万
查看次数