Колонка HBase RegEx через комиссию из C # - PullRequest
0 голосов
/ 22 января 2011

Я использую интерфейс Thrift (http://apache.mesi.com.ar//incubator/thrift/0.5.0-incubating/) для доступа к HBase в моем кластере. Я могу подключаться, получать и отображать записи; Использовать даты начала и окончания.

Документация (http://hbase.apache.org/docs/r0.89.20100924/apidocs/org/apache/hadoop/hbase/thrift/doc-files/Hbase.html#Fn_Hbase_scannerOpenWithStop) говорит:

Также можно передать регулярное выражение в квалификаторе столбца.

Мой вопрос прост - Как?

Мой рабочий код:

int scannerId = client.scannerOpenWithStop("TABLE_NAME".ToByteArray(),
    "START_ROW".ToByteArray(), "STOP_ROW".ToByteArray(),
    new List<string>(){"COLUMN_FAMILY" }.ToByteArrayList());

ToByteArray() и ToByteArrayList() - это функции расширения с ... Список, вызывающий ToByteArray для каждой строки, содержимое в списке и т. Д. В случаеМой метод преобразования string-> byte [] может вызвать проблемы.

public static byte[] ToByteArray(this string s)
{
    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
    return encoding.GetBytes(s);
}

Когда я запускаю приведенный выше код, он возвращает данные, измененные изменениями в START_ROW и STOP_ROW. Если я добавлюдвоеточие (:) для записи в списке, которая будет COLUMN_FAMILY:, она все равно возвращает данные. Если я введу полное имя столбца в COLUMN_FAMILY:http://www.myurl.com/more/goes/here, он получит все значения для этого URL.

То, что я хочу сделать, это иметь COLUMN_FAMILY:http://www.myurl.com/.* (или другое регулярное выражение) и заставить его возвращать соответствующие данные, как, кажется, документация говорит, что этоп.

Пример или два - все, что мне нужно.Я полагаю, что есть какое-то форматирование или трюк, который мне не хватает, чтобы заставить работать регулярное выражение.

1 Ответ

0 голосов
/ 08 мая 2011

COLUMN_FAMILY: / (? I: ^ http://www.myurl.com)/

Выглядит как начальный и конечный / сказать, что содержимое должно быть проанализировано как

http://blog.hypertable.com/?cat=1

...