首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用HBase shell获取多列

如何使用HBase shell获取多列
EN

Stack Overflow用户
提问于 2017-11-15 20:10:22
回答 2查看 5.1K关注 0票数 2

我有两个家族列的随机表

代码语言:javascript
运行
复制
Info: Name, region, suite
Tech: distance, denivele

我的表上有这个数据

代码语言:javascript
运行
复制
      (id, Name, region, distance, denivele, suite)

      (1, 'Monts du Djurdjura', 'Tizi Ouzou', 35, 1000, NULL);

      (2, 'Circuit de Misserghin', 'Oran', 25 , 514, NULL);

      (3, 'Montagne de Murdjadju', 'Oran', 31, 1100, NULL);

      (4, 'Canastel', 'Oran', 18, 890, 3);

      (5, 'Yama Gouraya', 'Bejaia', 19, 900, NULL);

      (6, 'Sidi Makhlouf', 'Blida', 8, 165, 8);

      (7, 'Tikjda', 'Tizi Ouzou', 10, 1900, NULL);

      (8, 'Feroukha', 'Blida', 14.18, 454, NULL);

      (9, 'Chrea Azzazga', 'Tizi Ouzou', 6.23, 1548, 11);

我想知道“蒙塔格纳·德·穆德贾杜”这个名字的距离

我尝试了这个查询:

代码语言:javascript
运行
复制
scan 'randonnee',{COLUMN=>'info:Name',FILTER=>"ValueFilter(=, 'binary:Montagne de Murdjadju')"}

但是她给我身份作为回报的问题,而不是距离

代码语言:javascript
运行
复制
ROW                   COLUMN+CELL
  3                    column=info:nom, timestamp=1509960875652, value=Montagne de Murdjadju 

我是怎么得到距离的?

EN

Stack Overflow用户

发布于 2017-11-16 07:54:45

您可以使用SingleColumnValueFilter。在hbase shell中,您可以执行以下操作以获得距离

代码语言:javascript
运行
复制
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.util.Bytes

scan 'randonnee', {COLUMNS=>['tech:distance'], FILTER=>SingleColumnValueFilter.new(Bytes.toBytes('info'),Bytes.toBytes('name'),CompareFilter::CompareOp.valueOf('EQUAL'),Bytes.toBytes('Montagne de Murdjadju'))}
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47316393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档