草庐IT

HBASE_CLASSPATH

全部标签

scala - HBase 连接实例

我有以下代码:DStream.map{_.message()}.foreachRDD{rdd=>rdd.foreachPartition{iter=>valconf=HBaseUtils.configureHBase("iemployee")valconnection=ConnectionFactory.createConnection(conf)valtable=connection.getTable(TableName.valueOf("""iemployee"""))iter.foreach{elem=>/*loopthroughtherecordsinthepartitiona

hadoop - Hbase Upsert 与 Spark

我有sparkstreaming工作,在这个过程中有些人正在做一些聚合,现在我想将该记录插入到HBase但它不是典型的插入我想做UPSERT如果rowkey可用而不是列值sum(newvalue+oldvalue)应该发生。有人在java中共享伪代码吗?我该如何实现? 最佳答案 像这样的……byte[]rowKey=null;//ProvidedTabletable=null;//ProvidedlongnewValue=1000;//Providedbyte[]FAMILY=newbyte[]{0};//Definedbyte[]

hadoop - 使用 Cloudera Hbase 需要任何许可证吗?

安装了CDH5.8express,在安装时我遇到了这个..注意:请确保您拥有适当的Hbase许可证或联系cloudera寻求帮助。 最佳答案 此消息的上下文是商业支持的可用性。Cloudera对HBase的支持可通过特定的产品版本获得。当然,HBase本身带有Apache许可证,因此可以免费使用。 关于hadoop-使用ClouderaHbase需要任何许可证吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

hadoop - 了解 hbase 如何使用 hdfs

我正在尝试了解hbase如何使用hdfs。所以这是我的理解(如果我错了请纠正我):我知道hbase使用hdfs来存储数据并且数据被分成区域,并且每个区域服务器我服务于许多区域,所以我猜一个区域(独占)可能与许多数据节点通信以获取和放置数据,所以如果这是正确的,那么如果该区域服务器发生故障,那么存储在这些数据节点中的数据将无法再访问提前谢谢你:) 最佳答案 一般来说,一个Regionserver运行在一个datanode上。由于HDFS的工作方式,Regionserver将在可能的情况下对本地数据节点执行读取和写入操作,然后HDFS将

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