我正在为其制作 UI 的特定 HBase 表中的所有行恰好具有相同的列,并且在可预见的将来也会如此。我希望我的 html 数据可视化应用程序简单地查询单个随机行以记录列名,并将此列名列表放入一个变量中以在整个程序中引用。
我在 HappyBase 的文档中没有看到任何与 find_one 或 scan_one 等效的东西。
实现这一目标的最佳方法是什么?
这将只获取第一行:
row = next(table.scan(limit=1))
此外,您可以指定过滤字符串以避免检索值,这仅在您的值很大并且您经常执行此查询时才有价值。
我使用“限制”选项。这是我的 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
您可以创建一个 Scanner 对象,而无需指定起始行(以便它从表中的第一行开始),并将扫描限制为一行。您将只获得第一行。
在 HBase shell 命令中,它应该如下所示:
scan 'table_name', {LIMIT => 1}
我不知道 HappyBase 但我认为你应该能够做到这一点