1

我正在为其制作 UI 的特定 HBase 表中的所有行恰好具有相同的列,并且在可预见的将来也会如此。我希望我的 html 数据可视化应用程序简单地查询单个随机行以记录列名,并将此列名列表放入一个变量中以在整个程序中引用。

我在 HappyBase 的文档中没有看到任何与 find_one 或 scan_one 等效的东西。

实现这一目标的最佳方法是什么?

4

3 回答 3

3

这将只获取第一行:

row = next(table.scan(limit=1))

此外,您可以指定过滤字符串以避免检索值,这仅在您的值很大并且您经常执行此查询时才有价值。

于 2014-07-19T19:46:43.680 回答
2

我使用“限制”选项。这是我的 HappyBase Python 代码:

pool1 = happybase.ConnectionPool(size=2, host='172.00.00.01')
with pool1.connection() as conn1:
    hTable = conn1.table('HBastTableHere')
    for rowKey, rowData in hTable.scan(  limit=1):
        print rowData
于 2015-02-12T16:25:58.570 回答
1

您可以创建一个 Scanner 对象,而无需指定起始行(以便它从表中的第一行开始),并将扫描限制为一行。您将只获得第一行。

在 HBase shell 命令中,它应该如下所示:

scan 'table_name', {LIMIT => 1}

我不知道 HappyBase 但我认为你应该能够做到这一点

于 2014-05-20T09:37:51.843 回答