草庐IT

hbase-unsecure

全部标签

java - HBase表上普通Java程序和MapReduce java程序的区别

我是Hadoop和Hbase的新手。我想知道编写普通java程序和MapReduce程序(用java编写)之间的区别,当两者都对HBase表中的相同数据执行相同的任务时。我知道PigScripts和HiveQueries将转换为MapReduce程序,并将处理HDFS上的数据。甚至HBase也将数据存储在Datanode上。那么普通的java程序是否会转换为mapperredcucer任务并以批处理的方式处理来自datanode的数据,还是线性地处理数据?请告诉我,普通Java程序如何在HBase表上处理数据?提前致谢!!! 最佳答案

hadoop - 使用 Pig 在 HBase 中为列族添加可变数量的列

我需要使用HBaseStorage从Pig加载到HBase,但我无法弄清楚如何为特定列族加载可变数量的列。(已知数量的列很简单)看起来像这样的数据:(为便于阅读而添加的空格)Id,ItemId,Count,Date1,1,2,2015-02-012,2,2,2015-02-023,1,2,2015-02-03我有一个HBase表,其中包含rowkey和一个名为Attributes的列族。所以我首先加载csv使用:A=LOAD'items.csv'USINGPigStorage(',')as(Id,ItemId,Count:chararray,CreationDate:chararray

hadoop - newAPIHadoopRDD 从 HBase 读取耗时过多(主要原因是 Dns.reverse Dns)

最近,当我使用Spark和HBase测试我的集群时。我正在使用newAPIHadoopRDD从HBase表中读取记录。我发现newAPIHadoopRDD太慢了,时间和RegionServer的数量成正比。下面的sparkdebug(openedfortest)日志显示了过程:17/03/0222:00:30DEBUGAbstractRpcClient:UseSIMPLEauthenticationforserviceClientService,sasl=false17/03/0222:00:30DEBUGAbstractRpcClient:Connectingtoslave111/1

hadoop - 由于 hbase 客户端 jar 中的硬编码 managed=true,无法连接到 Bigtable 以扫描 HTable 数据

我正在开发一个自定义加载函数,以便在Dataproc上使用Pig从Bigtable加载数据。我使用从Dataproc获取的以下jar文件列表编译我的java代码。当我运行以下Pig脚本时,它在尝试与Bigtable建立连接时失败。错误信息是:Bigtabledoesnotsupportmanagedconnections.问题:是否有解决此问题的方法?这是一个已知问题吗?是否有解决或调整的计划?是否有不同的方法将多重扫描作为Pig的加载函数来实现并与Bigtable一起工作?详细信息:Jar文件:hadoop-common-2.7.3.jarhbase-client-1.2.2.jar

hadoop - hbase 批量加载中的奇怪行为

我正在尝试将20k文件批量加载到hbase表中。平均文件大小为400kb。然而,有些文件有70MB那么大。所有文件加在一起的总大小为11gb。该方法是标准的,在调用loadIncremenalFiles之后发出键值对。当我为10个文件的随机样本运行代码时,一切正常。我注意到生成的hfile的大小是文件本身大小的1.3倍。但是,当我对所有20k文件运行相同的代码时,我得到的hfiles放在一起大小为400gb。数据本身的36倍。HFiles除了表数据之外还包含索引和元数据,但即便如此,如何解释大小的如此急剧增加? 最佳答案 我发现了空

scala - 无法导入带有 Scala 类 Connection* 的 HBase

我正在尝试从Hbase文档编译和运行scala示例http://hbase.apache.org/1.2/book.html#scala但我收到无法导入Connection和ConnectionFactory类的编译错误。我已经尝试了两个scala版本2.10.6和2.11.11,但在这两种情况下都失败了。简单的Scala代码:importorg.apache.hadoop.hbase.HBaseConfigurationimportorg.apache.hadoop.hbase.client.Connectionimportorg.apache.hadoop.hbase.client

hadoop - pig - 从远程 hbase 服务器读取/写入数据

我想通过pig脚本从hbase远程服务器读取/写入数据。我们正在使用HortonworksHDP2.5以下是场景。我们有两个集群,一个用于Hive,一个用于Hbase。我们可以访问作为Hive集群一部分的边缘节点。我们的代码(MapReduce作业和Pig脚本)将在Hive集群上执行。作为要求的一部分,我们还必须从Hbase表中读取/写入数据。我们在网上找到了一种解决方案,但它不起作用。http://grokbase.com/t/cloudera/cdh-user/137at5cg72/pig-stores-into-remote-hbase此解决方案建议在我们的pig脚本中注册hba

hadoop - 如何将现有的 Hbase 数据迁移到新集群

我有一个存储超过10TB数据的Hbase集群,现在我必须将这些数据迁移到一个新的集群中,我该怎么做?我知道Hbase备份有完全关闭备份(Distcp)和实时集群备份(Replication、Export和CopyTable)。在我的例子中,我们不能容忍我们的Hbase集群定期完全关闭,而且我知道复制不能复制历史数据,所以这意味着我们只能使用Export或CopyTable吗?我有两个问题:1.我们应该使用Export还是CopyTable或其他?为什么?2.如果我们使用Export或CopyTable,由于集群已经启动,在复制过程中存在编辑遗漏的风险,如何避免?

java - HBase读取: To improve on performance ,如何使用hbase java REST api批量处理get请求

我是HBaseRESTAPI的新手,我正在尝试寻找一种方法,我可以通过get命令获得一组Id的结果。由于批处理有助于提高我的代码的性能,而不是为表的每个ID发出获取请求。一些示例Hbasejavarestapi代码会有所帮助。提前致谢。 最佳答案 Result[]results=table.get(Listgets)做你正在寻找的。您应该会看到显着的性能改进。如果你只想知道键是否存在:boolean[]exists=exists(Listgets);它甚至可以比get更快,因为它只返回true或false。

java - 找不到值类 : 'org.apache.hadoop.hbase.client.Result' 的序列化程序

我正在尝试从HBase中读取数据并将其保存为sequenceFile,但是得到java.io.IOException:CouldnotfindaserializerfortheValueclass:'org.apache.hadoop.hbase.client.Result'.Pleaseensurethattheconfiguration'io.serializations'isproperlyconfigured,ifyou'reusingcustomserialization.错误。我看到了两个相似的帖子:hadoopwritablesNotSerializableExcepti