草庐IT

NoSql_HBase

全部标签

hadoop - 不使用 Pig 脚本从 HDFS 加载 HBase 中的数据

我在HDFS中有.csv文件。我想在不使用Pig脚本的情况下将它们加载到HBASE表中。还有其他方法吗? 最佳答案 可能有几种方法。但有些选项如下所示。选项1:简单的方法是ImportTsvImportTsv是一个将TSV格式的数据加载到HBase的实用程序。它有两种不同的用法:通过Puts将数据从HDFS中的TSV格式加载到HBase,以及通过completebulkload准备要加载的StoreFiles。通过Put加载数据(即非批量加载):$bin/hbaseorg.apache.hadoop.hbase.mapreduce.

hadoop - 如何从 Hbase 的列族中删除列?

要删除列族,我们有以下命令。hbase>disabletablenamehbase>alter'tablename',{NAME=>'COLFAMNAME',METHOD=>'delete}如果有列族:'empdetails'在表'emptable'中,列为:'col1,col2',有没有办法从列族中删除特定列?我不打算实现它,但这只是为了我的知识,并想知道是否有这种可能性。 最佳答案 如果我没答错你的问题,你想删除列族下的列限定符。正如我们所知,在创建表时,我们只会定义列族而不是列限定符。因此,列限定符将即时创建,这取决于需要。这

hadoop - Hbase 有自己的复制策略还是继承自 HDFS?

由于HBase是建立在HDFS之上的,它具有容错的复制策略,这是否意味着HBase是天生的容错和由于底层的HDFS,存储在HBase中的数据将始终可以访问?或者HBase是否实现了自己的复制策略(例如跨区域的表复制)? 最佳答案 是的,您可以在Hbase中创建区域副本,如前所述here.但是请注意,HBase高可用性是只读的。它的写入可用性不高。如果区域服务器出现故障,那么在将区域分配给新的区域服务器之前,您将无法写入。要启用只读副本,您需要通过将hbase.region.replica.replication.enabled设置为

hadoop - Hbase 上的 phoenix 和 hive ETL

phoenix是否适合ETL和聚合?我正在尝试对我的数据进行一些ETL。现在我正在使用hbase来存储我的数据(我们网站上的足迹)。我需要对这些数据进行一些聚合,例如每个url的页面浏览量......等等。根据我的研究,我知道hive可以用于hbase数据的ETL,加上hql提供了sql语言,这样我们就不需要自己写map-reduce代码了。但是当我尝试使用hive(pyhive)查询hbase时,需要很长时间才能完成。此外,如果我有phoenix在hbase上执行sql,我的hbase上还需要hive吗?现在当我尝试使用一些复杂的sql时,phoenix会超时。而且hive非常非常慢

scala - 我怎样才能让 HBase 与 sbt 的依赖管理配合得很好?

我正在尝试启动一个使用CDH3的Hadoop和HBase的sbt项目。我正在尝试使用project/build/Project.scala文件来声明对HBase和Hadoop的依赖关系。(我承认我对sbt、maven和ivy的掌握有点薄弱。如果我说或做一些愚蠢的事情,请原谅我。)Hadoop依赖项使一切顺利进行。添加HBase依赖项导致对Thrift0.2.0的依赖项,似乎没有repo协议(protocol),或者从这个SOpost.听起来是这样的所以,真的,我有两个问题:1.老实说,我不想依赖Thrift,因为我不想使用HBase的Thrift接口(interface)。有没有办法告

hadoop - 为什么 Hbase with Hadoop map reduce 性能慢?

我已经在3台具有完全分布式模式的机器上配置了hadoop1.0.3。在下面的第一台机器上,作业正在运行:1)4316SecondaryNameNode4006NameNode4159数据节点4619任务追踪器4425JobTracker2)2794任务追踪器2672数据节点3)3338数据节点3447任务追踪器现在当我在上面运行简单的mapreduce作业时,执行mapreducejob需要更长的时间。所以我在Hadoop上安装了HBASE层。现在我在3个集群上有以下HBASE进程。1)5115HQuorumPeer5198HMaster5408HRegionServer2)3719H

java - HBase 中的组合键

我是HBase的新手,必须使用组合键作为主键。请告诉我Howtomakecomposite-keyinhbase?AndHowtosearcharecordusingthatcomposite-key? 最佳答案 只需连接您的key部分并使用它。没什么特别的。假设您有一个客户表,并且您想要一个由CustID和Timestamp组成的行键。然后你想获取特定用户的所有结果,而不考虑时间戳。你会做这样的事情:publicstaticvoidmain(String[]args)throwsIOException{Configurationc

java - HBase:/hbase/meta-region-server节点不存在

我在上面安装了cloudera和hdfs、mapreduce、zookeper、hbase。具有这些服务的4个节点(3个动物园管理员)。全部由cloudera向导安装,在cloudera中没有配置问题。从Java连接时出现错误:9:32:23.020[main-SendThread()]INFOorg.apache.zookeeper.ClientCnxn-Openingsocketconnectiontoserver/172.20.7.6:218109:32:23.020[main]INFOorg.apache.hadoop.hbase.zookeeper.RecoverableZo

hadoop - TTL 行为 - HBase

我们在HBase表中有很多数据。我是这个NoSQL世界的新手。我们希望仅在固定时间内保留数据。我们应该编写单独的清理脚本还是可以依赖TTL配置?我浏览了可用的文档,但不理解确切的行为。 最佳答案 HBasedocumentation明确表示早于TTL的数据将被HBase自动删除。 关于hadoop-TTL行为-HBase,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/217205

hadoop - hbase 随机写入是如何工作的

我是Hbase的新手。Hbase适用于对表进行随机更新(放入或删除),但我无法理解hbase如何执行该操作。由于hbase使用HDFS进行存储,因此无法更新HDFS中的任何内容。Hbase使用memstore更新记录并首先将任何编辑写入memstore。因此MemStore包含按排序键顺序排列的任意数量的更新行。当它将数据转储到磁盘到hfile时,这个hfile是否与其他hfiles全局排序.转储所有hfile后,hfile被复制到HDFS。WAL编辑日志也有同样的问题。WAL日志文件是否也在HDFS中复制。对于每次更新,我们都将更新复制到HDFS。 最佳答