2017-06-14 153 views
0

我想用hbase上的多个参数进行搜索。我为此使用JAVA。我有很多数据如下;在hbase中的一个rowkey上进行多重搜索

2017-06-14T13:49:41.677Z,0000000000000001,192.168.028.056 column=log_info:log_data, timestamp=1497452872849, value=log_description=s1<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872849,log_module=rconn                                      
2017-06-14T13:49:41.677Z,0000000000000002,192.168.028.056 column=log_info:log_data, timestamp=1497452872891, value=log_description=s2<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872891,log_module=rconn                                      
2017-06-14T13:49:41.677Z,null,null       column=log_info:log_data, timestamp=1497452872875, value=log_description=s3<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872874,log_module=rconn                                      
2017-06-14T13:49:42.678Z,0000000000000001,192.168.028.056 column=log_info:log_data, timestamp=1497452872903, value=log_description=s1<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872903,log_module=rconn                                      
2017-06-14T13:49:42.678Z,0000000000000002,192.168.028.056 column=log_info:log_data, timestamp=1497452872943, value=log_description=s2<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872943,log_module=rconn                                      
2017-06-14T13:49:42.678Z,null,null       column=log_info:log_data, timestamp=1497452872920, value=log_description=s3<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872920,log_module=rconn                                      
2017-06-14T13:49:43.677Z,0000000000000001,192.168.028.056 column=log_info:log_data, timestamp=1497452872972, value=log_description=s1<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872971,log_module=rconn                                      
2017-06-14T13:49:43.677Z,0000000000000002,192.168.028.056 column=log_info:log_data, timestamp=1497452873027, value=log_description=s2<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  873027,log_module=rconn                                      
2017-06-14T13:49:43.677Z,null,null       column=log_info:log_data, timestamp=1497452872999, value=log_description=s3<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  872998,log_module=rconn                                      
2017-06-14T13:49:44.677Z,0000000000000001,192.168.028.056 column=log_info:log_data, timestamp=1497452873061, value=log_description=s1<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  873060,log_module=rconn                                      
2017-06-14T13:49:44.677Z,null,null       column=log_info:log_data, timestamp=1497452873088, value=log_description=s3<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  873088,log_module=rconn                                      
2017-06-14T13:49:44.678Z,0000000000000002,192.168.028.056 column=log_info:log_data, timestamp=1497452873107, value=log_description=s2<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  873107,log_module=rconn                                      
2017-06-14T13:49:45.678Z,0000000000000001,192.168.028.056 column=log_info:log_data, timestamp=1497452873256, value=log_description=s1<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  873253,log_module=rconn                                      
2017-06-14T13:49:45.678Z,0000000000000002,192.168.028.056 column=log_info:log_data, timestamp=1497452873364, value=log_description=s2<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  873364,log_module=rconn                                      
2017-06-14T13:49:45.678Z,null,null       column=log_info:log_data, timestamp=1497452873307, value=log_description=s3<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452 
                  873307,log_module=rconn                                      
7815 row(s) in 2.1180 seconds 

例如;我想搜索“LOG_LEVEL =警告并log_module = rconn”在这条线上

2017-06-14T13:15:35.678Z,0000000000000001,192 column=log_info:log_data, timestamp=1497452705180, value=log_description=s1<->tcp:192.168.28.56:6633: connection failed (Connection refused),log_level=WARN,log_date=1497452705179,log_module=rconn 

我可以作出这样的正则表达式与过滤器?

回答

0

我猜你可以在HBase Reference Guide中使用RegexStringComparator

+0

我在这个例子中使用了RegexFilter。此过滤器使用正则表达式。我的正则表达式; * .log_level = WARN。*,log_module = rconn $ – can

+0

对不起,我以为你想根据多列过滤。我想你可以使用[RegexStringComparator](https://hbase.apache.org/book.html#client.filter.cvp.rcs)。如果你的意思是同一个而不是确定的。 – gorros

+0

非常感谢:) – can