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