Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在happybase扫描中将regex传递给column属性_Python_Regex_Hbase_Happybase - Fatal编程技术网

Python 在happybase扫描中将regex传递给column属性

Python 在happybase扫描中将regex传递给column属性,python,regex,hbase,happybase,Python,Regex,Hbase,Happybase,我试图在happybase扫描调用中将正则表达式列表传递给columns属性。这是因为,我的冒号是通过动态附加在扫描时我没有访问权限的ID来命名的 这是可能的吗?这里是HappyBase作者 根据Thrift API,您可以在ScannerOpen()API系列的列参数中传递正则表达式(请参阅)。但是,HappyBase使用的Thrift API是ScannerOpenWithScan(),它使用TScan结构(请参阅),其中不包含任何关于正则表达式的注释。事实上,我不知道(没有测试)这是否有效

我试图在happybase扫描调用中将正则表达式列表传递给columns属性。这是因为,我的冒号是通过动态附加在扫描时我没有访问权限的ID来命名的

这是可能的吗?

这里是HappyBase作者

根据Thrift API,您可以在
ScannerOpen()
API系列的
参数中传递正则表达式(请参阅)。但是,HappyBase使用的Thrift API是
ScannerOpenWithScan()
,它使用
TScan
结构(请参阅),其中不包含任何关于正则表达式的注释。事实上,我不知道(没有测试)这是否有效

更灵活、更强大的方法是使用
happybase.Table.scan()
filter
参数指定筛选器字符串。有关筛选器字符串语法,请参见。在您的例子中,类似于
“ColumnPrefixFilter('theprefix')”
的东西应该可以解决这个问题。有关HappyBase API,请参阅。

此处是HappyBase作者

根据Thrift API,您可以在
ScannerOpen()
API系列的
参数中传递正则表达式(请参阅)。但是,HappyBase使用的Thrift API是
ScannerOpenWithScan()
,它使用
TScan
结构(请参阅),其中不包含任何关于正则表达式的注释。事实上,我不知道(没有测试)这是否有效


更灵活、更强大的方法是使用
happybase.Table.scan()
filter
参数指定筛选器字符串。有关筛选器字符串语法,请参见。在您的例子中,类似于
“ColumnPrefixFilter('theprefix')”
的东西应该可以解决这个问题。有关HappyBase API,请参阅。

我不熟悉HBase的语法。下面是我使用的happybase python代码,它对我很有用。多亏了沃特·布尔斯特利!!与“columns”语句不同,您不必将“columnFamily”放在“ColumnPrefixFilter”中

import happybase
pool = happybase.ConnectionPool(size=3, host='172.xx.xx.xx')
with pool.connection() as conn1:
    hbaseTable = conn1.table('HBase_table_name_here')
    for rowKey, rowData in hbaseTable.scan(row_prefix= 'year-2015-', filter="ColumnPrefixFilter('month-06')", limit = 6):
        print rowData

我不熟悉HBase的语法。下面是我使用的happybase python代码,它对我很有用。多亏了沃特·布尔斯特利!!与“columns”语句不同,您不必将“columnFamily”放在“ColumnPrefixFilter”中

import happybase
pool = happybase.ConnectionPool(size=3, host='172.xx.xx.xx')
with pool.connection() as conn1:
    hbaseTable = conn1.table('HBase_table_name_here')
    for rowKey, rowData in hbaseTable.scan(row_prefix= 'year-2015-', filter="ColumnPrefixFilter('month-06')", limit = 6):
        print rowData

你能给出一些示例输入和输出吗?