草庐IT

hadoop - Hbase 自动递增任何列/行键

我是Hbase的新手是否可以/如何在Hbase中自动递增行键?(就像每个插入行键必须自动递增一样)或者是否可以自动递增任何其他列?(就像每次插入此列都必须自动递增1) 最佳答案 不建议在HBase中单独增加行键,请参阅此以供引用:http://hbase.apache.org/book/rowkey.design.html,第6.3.2页。事实上,使用全局排序的行键会导致分布式应用程序的所有实例都写入同一区域,这将成为瓶颈。如果您可以避免使用自动递增ID并且只需要在分布式系统中具有唯一ID,则可以使用诸如“主机名”+“PID”+“T

hadoop - 删除 HBase 中的列

在HBase中,调用DeleteColumn()方法,即本质上对列族的架构更改或删除列族会导致HBase集群停机吗? 最佳答案 Deletemutation上的deleteColumn方法HBase的删除从特定行中删除特定列这不是模式更改,因为HBase不保留每行列的模式级知识(并且每行可以有不同数量和类型的列-考虑一下作为人口稀少的矩阵)。这个对象上的deleteFamily也是一样的。这不会导致集群停机(并且HBase在该区域的下一次主要压缩之前不会真正删除数据)如果你想从整个表中删除一个列族,你可以通过HBaseAdmin使用

java - Hbase Java API TableNotDisabledException

我已经在我的本地系统上配置了Apachehbase0.94.14。我必须通过javaAPI与hbase通信。我编写了简单的代码来在现有的hbase表中添加一个新的列族。Java类代码//Instantiatingconfigurationclass.Configurationconf=HBaseConfiguration.create();//InstantiatingHBaseAdminclass.HBaseAdminadmin=newHBaseAdmin(conf);//InstantiatingcolumnDescriptorclassHColumnDescriptorcolum

hadoop - 在 HBase 中删除一行的单元格

我是HBase的新手,我正在创建一个大表。定期扫描我的表,并删除与某行相关的一些数据。我想知道是否对于特定行,我删除了该行的一些列,它减少了磁盘消耗量,从而减少了正在使用的磁盘量? 最佳答案 Hbase数据一般会存储在HDFS中/hbase显然,删除数据会减少一些空间。请检查如下预检:hadoopfs-ls-Ryourpathtohbaseusally/hbasehadoopfs-du-hyourpathtohbaseusally/hbase删除:现在你运行你的程序来删除...检查后:hadoopfs-du-hyourpathtoh

hadoop - 什么是 Hive 常见用例?

我是Hive的新手;所以,我不确定公司如何使用Hive。让我给您一个场景,看看我对Hive的使用在概念上是否正确。假设我的公司想要保留一些网络服务器日志文件,并且能够始终搜索和分析日志。因此,我创建了一个表列,其中的列对应于日志文件中的列。然后我将日志文件加载到表中。现在,我可以开始查询数据了。因此,随着数据在未来的日期到来,我只是不断地将数据添加到这个表中,因此我总是将我的日志文件作为Hive中的一个表,我可以通过它进行搜索和分析。这种情况是否属于常见用途?如果是,那么我如何继续向表中添加新的日志文件?我是否必须每天手动将它们添加到表中? 最佳答案

hadoop - HBase shell "OutOfOrderScannerNextException"扫描器和计数调用错误

无论是我运行扫描命令还是计数,都会弹出此错误并且错误消息对我来说没有意义。它说什么以及如何解决它?org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException:ExpectednextCallSeq:1ButthenextCallSeqgotfromclient:0;request=scanner_id:788number_of_rows:100close_scanner:falsenext_call_seq:0命令:计数'表',5000扫描'table',{COLUMN=>['cf:cq'],FILTER=>"Va

Hadoop 与 RDBMS 的比较

我真的不明白hadoop缩放比RDBMS更好的真正原因。谁能详细解释一下?这与底层数据结构和算法有关系吗 最佳答案 RDBMS在处理TB和Peta字节的海量数据方面面临挑战。即使您有独立/廉价磁盘冗余阵列(RAID)和数据粉碎,它也无法很好地扩展大量数据。您需要非常昂贵的硬件。编辑:要回答为什么RDBMS无法扩展,请查看OverheadsofRBDMS.记录。组装日志记录并跟踪所有更改在数据库结构中会降低性能。日志记录可能不是如果可恢复性不是必需的,或者如果可恢复性通过其他方式(例如,网络上的其他站点)提供。锁定。传统的两阶段锁定会

java - HBase:原子 'check row does not exist and create' 操作

我认为这应该是一种常见情况,但可能是我在谷歌搜索时使用了错误的关键字。我只需要用完全随机的键创建新的表记录。假设我获得了具有良好随机性(几乎随机)的key。但是我不能100%确定还没有行存在。所以我需要自动执行的操作:使用行键检查尚无行存在。如果行存在则拒绝操作。如果不退出则创建行。我找到的关于此主题的最有用的信息是关于HBaserowlocks.的文章我认为HBase行锁是合适的解决方案,但我想在没有显式行锁定的情况下做得更好。ICV看起来不合适,因为我确实希望key是随机的。如果CAS可以处理“行不存在”的情况,那会很棒,但看起来他们做不到。显式行锁有一些缺点,例如区域拆分问题。有

hadoop - ColumnFamilyInputFormat - 无法获取输入拆分

当我尝试使用ColumnFamilyInputFormat类从hadoop访问Cassandra时,我遇到了一个奇怪的异常。在我的hadoop进程中,在包含cassandra-all.jar版本1.1之后,这就是我连接到cassandra的方式:privatevoidsetCassandraConfig(Jobjob){job.setInputFormatClass(ColumnFamilyInputFormat.class);ConfigHelper.setInputRpcPort(job.getConfiguration(),"9160");ConfigHelper.setInpu

hadoop - cassandra 和 hadoop - 实时与批处理

根据http://www.dbta.com/Articles/Columns/Notes-on-NoSQL/Cassandra-and-Hadoop---Strange-Bedfellows-or-a-Match-Made-in-Heaven-75890.aspxCassandra追求的解决方案与Hadoop有所不同。Cassandra擅长大容量实时事务处理,而Hadoop擅长更多面向批处理的分析解决方案。Cassandra和Hadoop在架构/实现上的差异是什么导致了这种使用上的差异。(在外行软件专业术语中) 最佳答案 我想补充一