我的公司属于物联网行业。我负责的结构(数据流)是EMQTT=> kafka=> hbase=> phoenix=> spring cloud rest=> HTML view。现在的问题是其他非行键字段查询HBase的速度非常慢,所以我想实现HBase +弹性搜索来实现多条件的快速查询,但最大的障碍是HBase中的数据和弹性搜索中的数据如何一致。一步?(事务?)它需要是实时的。
我创建了一个HBase,它将默认版本提到为10
create 'tablename',{NAME => 'cf', VERSIONS => 10}
并插入两行(row1和row2)
put 'tablename','row1','cf:id','row1id'
put 'tablename','row1','cf:name','row1name'
put 'tablename','row2',
我想使用星星之火SQL。我发现演出很糟糕。
在我的第一个解决方案中:当每个dataRDD查询出现时,将数据从hbase实体加载到dataRDD中,然后将该dataRDD注册到SQLcontext。最后执行spark查询。显然,这个解决方案非常糟糕,因为它每次都需要加载数据。
所以我改进了第一个解决方案。
在我的第二个解决方案中,不考虑hbase数据更新,而是插入
当应用程序启动时,从HBASE entity to a dataRDD, named cachedDataRDD加载当前数据。
将cachedDataRDD注册为SQLcontext
当每个SQL查询出现时,执行火花SQL查询。演出很
我使用Hbase作为数据存储,我有Hive表使用从Hbase读取数据。
我使用的是Composite ROWKEY (Struct (region,country,date,id))。
有没有办法从中删除特定的数据,或者从Hbase还是从HIve中删除?
可以使用HBase shell命令或Hive查询执行以下操作吗?
delete from table where region=EU and country=US and date=2015-06-11;
使用Hive 0.14
提前谢谢。
我是HBase的新手。我知道HBase并不等同于关系数据库管理系统。但是,我喜欢在HBase中运行简单的查询,这在关系数据库管理系统中非常简单。我尝试使用扫描和过滤器,但我不知道如何通过使用值得到列。
考虑一下这个简单的MySQL查询:"SELECT username FROM members WHERE email = myname@domain.com“
在HBase中,我有一个表名: members。我有两个专栏:用户名和电子邮件。
现在,我想提取用户名,其中电子邮件等于myname@domain.com。
在指定列族和限定符时,我发现了许多可以提取值的示例。但我的情况不
我创建了一个HBase,方法是将默认版本称为5
创建'tablename',{NAME => 'cf',版本=> 5}并插入两行(row1和row2)
put 'tablename','row1','cf:id','row1id'
put 'tablename','row1','cf:name','row1name'
put 'tablename','row2','cf:id'