Я использую интерфейс бережливости (http://apache.mesi.com.ar//incubator/thrift/0.5.0-incubating/) для доступа к HBase на моем кластере. Я могу подключать, получать и отображать записи; Используйте даты начала и окончания.HBase Column RegEx через Thrift от C#
документация (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/.*
(или другое регулярное выражение) и вернуть ему соответствующие данные, например, документация, как говорят, может.
Пример или два - все, что мне нужно. Я считаю, что есть некоторые форматирование или трюк, которые мне не хватает, чтобы заставить регулярное выражение работать.
Эта статья предназначена для другой базы данных, но я попробовал ее; Не работает. – Nija