我试图弄清楚这些新的数据存储如bigtable,hbase和cassandra究竟是什么。 我使用大量的股票市场数据,数十亿行价格/报价数据,每天可以增加100亿字节(尽pipe这些文本文件通常压缩至less一个数量级)。 这个数据基本上是一些数字,两个或三个短的string和时间戳(通常是毫秒级)。 如果必须为每一行select一个唯一的标识符,我将不得不select整行(因为交换可能会在同一个毫秒内为同一个符号生成多个值)。 我想将这个数据映射到bigtable的最简单方法是使用符号名称和date(这可能会返回一个非常大的时间序列,超过百万个数据点并不是闻所未闻的)。 从阅读他们的描述,看起来像这些系统可以使用多个键。 我还假设十进制数不是键的好select。 其中一些系统(例如Cassandra)声称能够进行范围查询。 在某一天的上午11点到下午1点半之间,我能否有效地查询MSFT的所有值? 如果我想要search给定date的所有符号,并请求价格介于10美元和10.25美元之间的所有符号(所以我正在search这些值,并希望返回结果键)? 如果我想得到两个系列,从另一个减去一个系列,并返回两个系列及其结果,我是否必须在自己的程序中执行他的逻辑? 阅读相关论文似乎表明,这些系统不适合大量的时间序列系统。 但是,如果谷歌地图这样的系统是基于他们的,我认为时间序列也应该起作用。 例如,将时间视为x轴,将价格视为y轴,将符号视为指定位置 – 突然间,它看起来像bigtable应该是时间序列的理想存储区(如果整个地球可以存储,检索,放大和注释,股市数据应该是微不足道的)。 有些专家可以指导我正确的方向,或者澄清任何误解。 谢谢
为什么使用HBase比使用Cassandra和Hadoop更好? 任何人都可以给这个详细的解释吗? 谢谢
我有一个独立的HBase服务器。 这是我的hbase-site.xml: <configuration> <property> <name>hbase.rootdir</name> <value>file:///hbase_data</value> </property> </configuration> 我正在尝试编写一个Java程序来处理HBase中的数据。 如果我在HBase服务器上运行该程序,它可以正常工作。 但我不知道如何configuration它进行远程访问。 Configuration config = HBaseConfiguration.create(); HTable table = new HTable(config, "test"); Scan s = new Scan(); 我曾尝试添加IP和端口,它不起作用: config.set("hbase.master", "146.169.35.28:60000") 谁能告诉我该怎么做? 谢谢!
我无法弄清楚如何在HBase REST接口(HBase 0.90.4-cdh3u3)中使用filter。 文档只是给了我一个“string”的架构定义,但没有显示如何使用它。 所以,我可以这样做: curl -v -H 'Content-Type: text/xml' -d '<Scanner startRow="ddo" stopRow="ddp" batch="1024"/>' 'http://hbasegw:8080/table/scanner' 然后检索 curl -s -H "Content-Type: text/xml" http://hbasegw:8080/table/scanner/13293426893883128482b | tidy -i -q -xml 但是现在我想使用SingleColumnValueFilter,并且必须以某种方式在XML中进行编码。 有没有人有这样的例子? 谢谢,马里奥
有谁知道如何扫描logging基于一些扫描filter,即: column:something = "somevalue" 像这样的东西,但从HBase壳?
我已经安装了Hadoop,Hive,Hive JD BC。 这对我来说运行良好。 但是我仍然有一个问题。 如何使用Hive删除或更新单个logging,因为MySQL的删除或更新命令在configuration单元中不起作用。 谢谢 hive> delete from student where id=1; Usage: delete [FILE|JAR|ARCHIVE] <value> [<value>]* Query returned non-zero code: 1, cause: null
我目前正在devise一个基于networking的应用程序的体系结构,也应该提供某种forms的图像存储。 用户将能够上传照片作为服务的关键function之一。 同时查看这些图像将成为主要用途之一(通过networking)。 但是,我不知道如何在我的应用程序中实现这样一个可伸缩的图像存储组件。 我已经想过不同的解决scheme,但由于缺less经验,我期待听到您的build议。 除了图像,还必须保存元数据。 这是我最初的想法: 使用(分布式)文件系统,如HDFS,并准备专门的Web服务器作为“文件系统客户端”,以保存上传的图像和服务请求。 图像元数据保存在附加数据库中,包括每个图像的文件path信息。 在HDFS之上使用HBase等面向BigTable的系统,并将图像和元数据保存在一起。 再次,networking服务器桥接图片上传和请求。 使用像CouchDB这样的完全无模式数据库来存储图像和元数据。 另外,通过使用基于HTTP的RESTful API,使用数据库本身来进行上传和发布。 (另外的问题:CouchDB确实通过Base64保存斑点,但是它能以image / jpeg等forms返回数据)?
我有兴趣了解最近发布的( http://mirror.facebook.com/facebook/hive/hadoop-0.17/)Hive在性能方面与HBase的比较。 Hive使用的类似于SQL的接口比我们实现的HBase API要好得多。
如何通过命令删除solr的所有数据? 我们用lily和hbase使用solr 。 我如何从hbase和solr中删除数据? http://lucene.apache.org/solr/4_10_0/tutorial.html#Deleting+Data
在我对大型数据存储解决scheme进行研究后,我几乎登上了Cassandra。 但一般来说,Hbase是更好的大规模数据处理和分析解决scheme。 虽然两者都是相同的键/值存储,并且都可以运行(Cassandra最近的)Hadoop层,那么当需要在大数据上进行处理/分析时,Hadoop是一个更好的select。 我也在http://ria101.wordpress.com/2010/02/24/hbase-vs-cassandra-why-we-moved/上find了关于这两方面的很好的细节。 但我仍然在寻找Hbase的具体优势。 虽然我对Cassandra更加确信,因为它增加了节点和无缝复制的简单性以及无故障function。 而且它也保留了二级索引function,所以它是一个很好的补充。